Package: devscripts
Version: 2.20.5
Severity: wishlist

Dear Maintainer,

as mentioned in the policy [1], d/control can have a Build-Depends-Indep field
to specify (additional) dependencies for building the arch:all packages of a
source package.

'mk-build-deps' has a '--build-indep' flag, that seems to be targetted at this
use-case (building only arch:all) packages, but in it's current form I think it
is of little use.
as the mk-build-deps(1) mentions, the '--build-indep' flag generates a
> package which only depends on the source package's Build-Depends-Indep
> dependencies

however, as explained in [1], the build-dependencies is more like:
- for building "arch:any", install 'Build-Depends' + 'Build-Depends-Arch'
- for building "arch:all", install 'Build-Depends' + 'Build-Depends-Indep'
- for building all packages, install 'Build-Depends' + 'Build-Depends-Arch' + 
'Build-Depends-Indep'

now, depending on it's invocation 'mk-build-deps' will create a dependency
package for a subset of the Build-Depends:
- 'mk-build-deps': depends on 'Build-Depends' + 'Build-Depends-Arch' + 
'Build-Depends-Indep'
- 'mk-build-deps --build-dep': depends on 'Build-Depends' + 'Build-Depends-Arch'
- 'mk-build-deps --build-indep': depends on 'Build-Depends-Indep'

as you can see, the invocation of 'mk-build-deps' (without flags) matches the
target of building all packages (both arch:any and arch:all).
the invocation of 'mk-build-deps --build-dep' matches the target of building
only arch:any packages.
however, the invocation of 'mk-build-deps --build-indep' does NOT match the
target of building only arch:all packages (as the 'Build-Depends' is missing)

i'm not sure whether this is actually a bugin 'mk-build-deps', but since it is
documented in the mangpage, it probably is not.
however, I don't see any use in installing Build-Depends-Indep only, so I don't
know what the '--build-indep' flag is intended for.

if it is not a bug (and there *is* a use-case for the flag as is), I would
suggest to add a new flag to create a dependency package targetted at building
arch:all binary packages.

in the end, i would like to have the salsa-ci pipeline "test-build-all" behave
more like the buildds, and make it only install the packages required to build
the arch:all portions (and leave out Build-Depends-Arch). since the
"test-build-all" pipeline currently depends on 'mk-build-deps' i need your
co-operation ;-)

thanks for considering.

PS: i haven't checked the situtation of Build-Conflicts-*, but it should behave
accordingly.


[1] 
https://www.debian.org/doc/debian-policy/ch-relationships.html#s-sourcebinarydeps

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 
'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-1-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages devscripts depends on:
ii  dpkg-dev              1.20.7.1
ii  fakeroot              1.25.3-1.1
ii  file                  1:5.39-3
ii  gnupg                 2.2.20-1
ii  gpgv                  2.2.20-1
ii  libc6                 2.31-9
ii  libfile-dirlist-perl  0.05-2
ii  libfile-homedir-perl  1.006-1
ii  libfile-touch-perl    0.11-1
ii  libfile-which-perl    1.23-1
ii  libipc-run-perl       20200505.0-1
ii  libmoo-perl           2.004004-1
ii  libwww-perl           6.52-1
ii  patchutils            0.4.2-1
ii  perl                  5.32.0-6
ii  python3               3.9.1-1
ii  sensible-utils        0.0.14
ii  wdiff                 1.2.2-2+b1

Versions of packages devscripts recommends:
ii  apt                         2.1.17
ii  curl                        7.74.0-1
ii  dctrl-tools                 2.24-3+b1
ii  debian-keyring              2020.12.24
ii  dput                        1.1.0
ii  equivs                      2.3.1
ii  libdistro-info-perl         0.24
ii  libdpkg-perl                1.20.7.1
ii  libencode-locale-perl       1.05-1.1
ii  libgit-wrapper-perl         0.048-1
ii  libgitlab-api-v4-perl       0.25-2
ii  liblist-compare-perl        0.55-1
ii  liblwp-protocol-https-perl  6.10-1
ii  libsoap-lite-perl           1.27-1
ii  libstring-shellquote-perl   1.04-1
ii  libtry-tiny-perl            0.30-1
ii  liburi-perl                 5.05-1
ii  licensecheck                3.0.47-1
ii  lintian                     2.104.0
ii  man-db                      2.9.3-2
ii  patch                       2.7.6-7
ii  pristine-tar                1.49
ii  python3-apt                 2.1.7
ii  python3-debian              0.1.39
ii  python3-magic               2:0.4.15-5
ii  python3-requests            2.25.1+dfsg-2
ii  python3-unidiff             0.5.5-2
ii  python3-xdg                 0.26-3
ii  strace                      5.10-1
ii  unzip                       6.0-26
ii  wget                        1.21-1+b1
ii  xz-utils                    5.2.5-1.0

Versions of packages devscripts suggests:
pn  adequate                     <none>
ii  at                           3.1.23-1.1
ii  autopkgtest                  5.15
pn  bls-standalone               <none>
ii  bsd-mailx [mailx]            8.1.2-0.20180807cvs-2
ii  build-essential              12.9
pn  check-all-the-things         <none>
pn  cvs-buildpackage             <none>
ii  debhelper                    13.3.1
pn  devscripts-el                <none>
ii  diffoscope                   164
pn  disorderfs                   <none>
ii  dose-extra                   5.0.1-16
pn  duck                         <none>
pn  faketime                     <none>
ii  gnuplot                      5.4.1+dfsg1-1
ii  gnuplot-qt [gnuplot]         5.4.1+dfsg1-1
pn  how-can-i-help               <none>
ii  libauthen-sasl-perl          2.1600-1.1
pn  libdbd-pg-perl               <none>
ii  libfile-desktopentry-perl    0.22-2
pn  libnet-smtps-perl            <none>
pn  libterm-size-perl            <none>
ii  libtimedate-perl             2.3300-1
pn  libyaml-syck-perl            <none>
ii  mailutils [mailx]            1:3.11.1-4
pn  mmdebstrap                   <none>
pn  mozilla-devscripts           <none>
pn  mutt                         <none>
ii  openssh-client [ssh-client]  1:8.4p1-3
pn  piuparts                     <none>
pn  postgresql-client            <none>
ii  quilt                        0.66-2.1
ii  ratt                         0.0~git20180127.c44413c-2+b10
pn  reprotest                    <none>
pn  svn-buildpackage             <none>
pn  w3m                          <none>

-- no debconf information

Reply via email to