Bug#921221: icmake,icmake-doc: both ship /usr/share/man/man1/icmun.1.gz
On Sun, Feb 03, 2019 at 07:10:26PM +0100, Sven Joachim wrote: > On 2019-02-03 09:32 -0800, tony mancill wrote: > > > On Sun, Feb 03, 2019 at 11:44:41AM +0100, Andreas Beckmann wrote: > >> Package: icmake,icmake-doc > >> Version: 9.02.08-1 > >> Severity: serious > >> User: debian...@lists.debian.org > >> Usertags: piuparts > > <--snip--> > > No, your dh_link override is broken. This is what you have in > debian/rules: > > , > | override_dh_link: > | dh_link usr/share/man/man1/icmake.1.gz usr/share/man/man1/icmun.1.gz > ` > > Like most debhelper commands, dh_link acts upon the first package it > finds by default. In a full or arch-only build this is the icmake > package, but in an arch-indep build it is icmake-doc, since icmake is > not built then. Use "dpkg-buildpackage -A" to see for yourself. > > The solution is to use override_dh_link-arch instead of > override_dh_link. Or create an icmake.links file and drop the override. Thank you Sven! That's very helpful, not only because it addresses this specific problem, but also because it will improve the quality of my local builds and testing. Much appreciated! tony signature.asc Description: PGP signature
Bug#921221: icmake,icmake-doc: both ship /usr/share/man/man1/icmun.1.gz
On 2019-02-03 09:32 -0800, tony mancill wrote: > On Sun, Feb 03, 2019 at 11:44:41AM +0100, Andreas Beckmann wrote: >> Package: icmake,icmake-doc >> Version: 9.02.08-1 >> Severity: serious >> User: debian...@lists.debian.org >> Usertags: piuparts >> >> >> >> Hi, >> >> both icmake and icmake-doc ship /usr/share/man/man1/icmun.1.gz, that >> file should probably go into the icmake package only. >> >> Preparing to unpack .../icmake-doc_9.02.08-1_all.deb ... >> Unpacking icmake-doc (9.02.08-1) ... >> dpkg: error processing archive >> /var/cache/apt/archives/icmake-doc_9.02.08-1_all.deb (--unpack): >>trying to overwrite '/usr/share/man/man1/icmun.1.gz', which is also in >> package icmake 9.02.08-1 >> Errors were encountered while processing: >>/var/cache/apt/archives/icmake-doc_9.02.08-1_all.deb > > Hi Andreas, > > Thank you for the bug report. I'm trying to reproduce this locally, but > when I build the binary packages in a clean chroot, there are no > manpages in the icmake-doc package: > > $ debc icmake_9.02.08-1_amd64.changes icmake-doc | grep -i man > (no output) > > All of the manpages are found in the icmake package: > > $ debc icmake_9.02.08-1_amd64.changes icmake | grep -i man > drwxr-xr-x root/root 0 2019-02-02 15:19 ./usr/share/man/ > drwxr-xr-x root/root 0 2019-02-02 15:19 ./usr/share/man/man1/ > -rw-r--r-- root/root 14962 2019-02-02 15:19 > ./usr/share/man/man1/icmake.1.gz > -rw-r--r-- root/root 3998 2019-02-02 15:19 > ./usr/share/man/man1/icmbuild.1.gz > -rw-r--r-- root/root 2846 2019-02-02 15:19 > ./usr/share/man/man1/icmstart.1.gz > drwxr-xr-x root/root 0 2019-02-02 15:19 ./usr/share/man/man7/ > -rw-r--r-- root/root 4820 2019-02-02 15:19 > ./usr/share/man/man7/icmconf.7.gz > -rw-r--r-- root/root 1606 2019-02-02 15:19 > ./usr/share/man/man7/icmstart.rc.7.gz > lrwxrwxrwx root/root 0 2019-02-02 15:19 > ./usr/share/man/man1/icmun.1.gz -> icmake.1.gz > > Just making sure that debc isn't telling me the wrong thing, I checked > the contents of the .debs I built: > > $ dpkg -x ./icmake-doc_9.02.08-1_all.deb foo > $ find foo/ | grep man | wc -l > 0 > > But when I check the binary built by the buildds from the source > package, I see: > > $ dpkg -x > /var/cache/apt-cacher-ng/debrep/pool/main/i/icmake/icmake-doc_9.02.08-1_all.deb > bar > > $ find bar/ | grep -i man > bar/usr/share/man > bar/usr/share/man/man1 > bar/usr/share/man/man1/icmun.1.gz > > So I'll need to look into why the binary package built by the buildds is > different than what gbp builds for me locally. I use gbp with the > --source-only-changes option like so: > > gbp buildpackage --git-pbuilder --git-pbuilder-options=--source-only-changes > > I question why/how a single manpage from icmake could end up in the > icmake-doc binary - it seems like it would be all of them if it was a > packaging bug. Is there a chance that there is some sort of race/reuse > on the buildds? No, your dh_link override is broken. This is what you have in debian/rules: , | override_dh_link: | dh_link usr/share/man/man1/icmake.1.gz usr/share/man/man1/icmun.1.gz ` Like most debhelper commands, dh_link acts upon the first package it finds by default. In a full or arch-only build this is the icmake package, but in an arch-indep build it is icmake-doc, since icmake is not built then. Use "dpkg-buildpackage -A" to see for yourself. The solution is to use override_dh_link-arch instead of override_dh_link. Or create an icmake.links file and drop the override. Cheers, Sven
Bug#921221: icmake,icmake-doc: both ship /usr/share/man/man1/icmun.1.gz
On Sun, Feb 03, 2019 at 11:44:41AM +0100, Andreas Beckmann wrote: > Package: icmake,icmake-doc > Version: 9.02.08-1 > Severity: serious > User: debian...@lists.debian.org > Usertags: piuparts > > > > Hi, > > both icmake and icmake-doc ship /usr/share/man/man1/icmun.1.gz, that > file should probably go into the icmake package only. > > Preparing to unpack .../icmake-doc_9.02.08-1_all.deb ... > Unpacking icmake-doc (9.02.08-1) ... > dpkg: error processing archive > /var/cache/apt/archives/icmake-doc_9.02.08-1_all.deb (--unpack): >trying to overwrite '/usr/share/man/man1/icmun.1.gz', which is also in > package icmake 9.02.08-1 > Errors were encountered while processing: >/var/cache/apt/archives/icmake-doc_9.02.08-1_all.deb Hi Andreas, Thank you for the bug report. I'm trying to reproduce this locally, but when I build the binary packages in a clean chroot, there are no manpages in the icmake-doc package: $ debc icmake_9.02.08-1_amd64.changes icmake-doc | grep -i man (no output) All of the manpages are found in the icmake package: $ debc icmake_9.02.08-1_amd64.changes icmake | grep -i man drwxr-xr-x root/root 0 2019-02-02 15:19 ./usr/share/man/ drwxr-xr-x root/root 0 2019-02-02 15:19 ./usr/share/man/man1/ -rw-r--r-- root/root 14962 2019-02-02 15:19 ./usr/share/man/man1/icmake.1.gz -rw-r--r-- root/root 3998 2019-02-02 15:19 ./usr/share/man/man1/icmbuild.1.gz -rw-r--r-- root/root 2846 2019-02-02 15:19 ./usr/share/man/man1/icmstart.1.gz drwxr-xr-x root/root 0 2019-02-02 15:19 ./usr/share/man/man7/ -rw-r--r-- root/root 4820 2019-02-02 15:19 ./usr/share/man/man7/icmconf.7.gz -rw-r--r-- root/root 1606 2019-02-02 15:19 ./usr/share/man/man7/icmstart.rc.7.gz lrwxrwxrwx root/root 0 2019-02-02 15:19 ./usr/share/man/man1/icmun.1.gz -> icmake.1.gz Just making sure that debc isn't telling me the wrong thing, I checked the contents of the .debs I built: $ dpkg -x ./icmake-doc_9.02.08-1_all.deb foo $ find foo/ | grep man | wc -l 0 But when I check the binary built by the buildds from the source package, I see: $ dpkg -x /var/cache/apt-cacher-ng/debrep/pool/main/i/icmake/icmake-doc_9.02.08-1_all.deb bar $ find bar/ | grep -i man bar/usr/share/man bar/usr/share/man/man1 bar/usr/share/man/man1/icmun.1.gz So I'll need to look into why the binary package built by the buildds is different than what gbp builds for me locally. I use gbp with the --source-only-changes option like so: gbp buildpackage --git-pbuilder --git-pbuilder-options=--source-only-changes I question why/how a single manpage from icmake could end up in the icmake-doc binary - it seems like it would be all of them if it was a packaging bug. Is there a chance that there is some sort of race/reuse on the buildds? Thank you, tony signature.asc Description: PGP signature
Bug#921221: icmake,icmake-doc: both ship /usr/share/man/man1/icmun.1.gz
Package: icmake,icmake-doc Version: 9.02.08-1 Severity: serious User: debian...@lists.debian.org Usertags: piuparts Hi, both icmake and icmake-doc ship /usr/share/man/man1/icmun.1.gz, that file should probably go into the icmake package only. Preparing to unpack .../icmake-doc_9.02.08-1_all.deb ... Unpacking icmake-doc (9.02.08-1) ... dpkg: error processing archive /var/cache/apt/archives/icmake-doc_9.02.08-1_all.deb (--unpack): trying to overwrite '/usr/share/man/man1/icmun.1.gz', which is also in package icmake 9.02.08-1 Errors were encountered while processing: /var/cache/apt/archives/icmake-doc_9.02.08-1_all.deb Andreas icmake=9.02.08-1_icmake-doc=9.02.08-1.log.gz Description: application/gzip