Bug#870640: Make source package bootstrappable

Mattia Rizzolo mattia at debian.org
Mon Aug 28 16:49:02 UTC 2017


On Mon, Aug 28, 2017 at 10:36:45PM +0900, Osamu Aoki wrote:
> Here is an idea for improvement.  Please check my idea is right or not.
> I am not familiar with this bootstrapping tricks.  (What does <!nocheck>
> means? If nocheck is defined, skip it for dependency?

Yes.

> Recent commits by Mattia Rizzolo made me wonder what is this <!nocheck>.

They are called build profiles:
https://wiki.debian.org/BuildProfileSpec#Registered_profile_names

> Then the commit message made me wonder why perl library is needed for build
> script.  It was unintuitive but reminded me of my own experience of
> writing buggy code and its failed test build for uscan.pl.  It failed
> before even running "make test".  This is because scripts/Makefile has
> "all" target from which the following code is run:
> 
> 	perl -I ../lib -c $@
> 
> This is to catch syntax error but probably cause error if pertinent perl
> library modules are not available.  (Actually, 2 such lines.)
> 
> In order to skip such dependency to perl library modules during the
> build, I think, you need to disable these syntax checking lines by
> changing above mentioned lines to:
> 
> ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
> 	perl -I ../lib -c $@
> endif

Wouldn't make sense to move that thing to the test tartet instead?

> I guess most lib*-perl packages in Build-Depends can be disabled with
> <!nocheck>, too.

I tried each build dep one by one, so right now everything not marked
with !nocheck is needed to build devscripts.

> Another heavy dependency are: docbook-xsl and xsltproc
> 
> These should be removed as <!nodoc>

Probably, but I don't see any pressing reason to.

This what happened when I tried to cross build devscripts from amd64 to
arm64 (note that this is not a resolutive solution as it doesn't
highlight cycles, etc).  Keep in mind that usually cross building is
done by enabling the nocheck build profile, as you can't run binaries
for another architecture.

The following packages have unmet dependencies:
 builddeps:/build/devscripts_2.17.10.dsc:arm64 : Depends: libfile-desktopentry-perl:arm64 but it is not installable
                                                 Depends: libfile-homedir-perl:arm64 but it is not installable
                                                 Depends: libgit-wrapper-perl:arm64 but it is not installable
                                                 Depends: liblist-compare-perl:arm64 but it is not installable
                                                 Depends: liburi-perl:arm64 but it is not installable
                                                 Depends: libwww-perl:arm64 but it is not installable
                                                 Depends: perl:arm64 but it is not going to be installed

it's all perl stuff.

> if the following lines in
> scripts/Makefile:
> %.1: %.dbk
> 	xsltproc --nonet -o $@ \
>           /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl $<
> 
> are chenged to the following lines:
> %.1: %.dbk
> ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
> 	xsltproc --nonet -o $@ \
>           /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl $<
> else
> 	echo "Bogus manpage for boot strapping" > $@
> endif

Well, rather not.  Build profiles are a packaging thing, such check
should be done in d/rules, and have it call make with some other option.

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/devscripts-devel/attachments/20170828/e04e809a/attachment.sig>


More information about the devscripts-devel mailing list