Bug#921221: icmake,icmake-doc: both ship /usr/share/man/man1/icmun.1.gz

2019-02-03 Thread tony mancill
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

2019-02-03 Thread Sven Joachim
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

2019-02-03 Thread tony mancill
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

2019-02-03 Thread Andreas Beckmann
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