Bug#798347: fdisk-udeb: not installable, depends on libtinfo5

2015-09-08 Thread Cyril Brulebois
Package: fdisk-udeb
Version: 2.27-1
Severity: grave
Justification: renders package unusable

Hi,

Your package gained a dependency on libtinfo5, which makes it no longer
installable, along with lilo-installer and rescue-mode, which both
depend on it.

Example on mips:
  Depends: libblkid1-udeb (>= 2.25), libc6-udeb (>= 2.19), libfdisk1-udeb (>= 
2.26), libsmartcols1-udeb (>= 2.25), libtinfo5 (>= 6), libuuid1-udeb (>= 2.20.1)

Mraw,
KiBi.



Bug#798347: fdisk-udeb: not installable, depends on libtinfo5

2015-09-08 Thread Cyril Brulebois
(Adding -boot@ for further discussion.)

Hi,

Andreas Henriksson  (2015-09-08):
> Hello Cyril Brulebois.
> 
> Thanks for your bug report.
> 
> On Tue, Sep 08, 2015 at 01:13:58PM +0200, Cyril Brulebois wrote:
> > Package: fdisk-udeb
> > Version: 2.27-1
> > Severity: grave
> > Justification: renders package unusable
> > 
> > Hi,
> > 
> > Your package gained a dependency on libtinfo5, which makes it no longer
> > installable, along with lilo-installer and rescue-mode, which both
> > depend on it.
> [...]
> 
> Sorry for screwing up the udebs (again!). Would be nice to have lintian
> catch this...
> 
> I'm pondering just building static versions of fdisk,sfdisk,blkid
> to put in the udebs instead to avoid current and future dependency
> issues. Would that be acceptable?
> 
> (That would also mean I can remove lib*-udeb.)

Assuming nothing else using the lib*-udeb (I didn't check), I don't
think there are compelling reasons for keeping those around. Having
everything shipped into a single udeb doesn't seem crazy (if nothing
else from other sources is expected toever depend on those features)
and if that makes things easier for you, great!

Historically, we've had a bunch of udebs built with specific options,
be it to reduce size, dependencies/features, and I suppose (again, not
going to check) static bits.

I'm currently (this week, probably next) to give your updated package a
look/try, I'm sorry.

> The result would look like this:
> 
> root@mbpah:~/util-linux-2.27# dpkg -c ../fdisk-udeb_2.27-2_amd64.udeb 
> drwxr-xr-x root/root 0 2015-09-08 15:17 ./
> drwxr-xr-x root/root 0 2015-09-08 15:17 ./usr/
> drwxr-xr-x root/root 0 2015-09-08 15:17 ./usr/sbin/
> -rwxr-xr-x root/root   1385224 2015-09-08 15:17 ./usr/sbin/fdisk
> -rwxr-xr-x root/root   1378376 2015-09-08 15:17 ./usr/sbin/sfdisk
> root@mbpah:~/util-linux-2.27# dpkg -I ../fdisk-udeb_2.27-2_amd64.udeb 
>  new debian package, version 2.0.
>  size 972626 bytes: control archive=329 bytes.
>  287 bytes,10 lines  control  
>  Package: fdisk-udeb
>  Source: util-linux
>  Version: 2.27-2
>  Architecture: amd64
>  Installer-Menu-Item: 9
>  Maintainer: Debian util-linux Maintainers 
>  Installed-Size: 2704
>  Section: debian-installer
>  Priority: extra
>  Description: Manually partition a hard drive (fdisk)
> 
> root@mbpah:~/util-linux-2.27# dpkg -c ../util-linux-udeb_2.27-2_amd64.udeb 
> drwxr-xr-x root/root 0 2015-09-08 15:17 ./
> drwxr-xr-x root/root 0 2015-09-08 15:17 ./sbin/
> -rwxr-xr-x root/root993064 2015-09-08 15:17 ./sbin/blkid
> root@mbpah:~/util-linux-2.27# dpkg -I ../util-linux-udeb_2.27-2_amd64.udeb 
>  new debian package, version 2.0.
>  size 347790 bytes: control archive=378 bytes.
>  407 bytes,11 lines  control  
>  Package: util-linux-udeb
>  Source: util-linux
>  Version: 2.27-2
>  Architecture: amd64
>  Maintainer: Debian util-linux Maintainers 
>  Installed-Size: 973
>  Section: debian-installer
>  Priority: optional
>  Description: stripped down miscellaneous system utilities, for 
> debian-installer
>   This is a minimal version of util-linux for debian-installer. It only
>   contains the blkid binary at the moment.
> 
> 
> Patch attached to accomplish this (which should be extended with
> lib*-udeb removal).
> 
> Regards,
> Andreas Henriksson

> diff --git a/debian/changelog b/debian/changelog
> index f1af685..6b915af 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,3 +1,10 @@
> +util-linux (2.27-2) UNRELEASED; urgency=medium
> +
> +  * Build static binaries for fdisk-udeb and util-linux-udeb (Closes: 
> #798347)
> +- this avoids udeb collecting invalid dependencies on non-udebs
> +
> + -- Andreas Henriksson   Tue, 08 Sep 2015 17:00:05 +0200
> +
>  util-linux (2.27-1) unstable; urgency=medium
>  
>[ Andreas Henriksson ]
> diff --git a/debian/fdisk-udeb.install b/debian/fdisk-udeb.install
> index 9cbe2fb..3aaf029 100755
> --- a/debian/fdisk-udeb.install
> +++ b/debian/fdisk-udeb.install
> @@ -1,3 +1,3 @@
>  #!/usr/bin/dh-exec
> -sbin/fdisk usr/sbin
> -sbin/sfdisk usr/sbin
> +./fdisk.static => /usr/sbin/fdisk
> +./sfdisk.static => /usr/sbin/sfdisk
> diff --git a/debian/rules b/debian/rules
> index 660d55f..4f36861 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -19,6 +19,9 @@ endif
>  CONFOPTS += --enable-tunelp
>  endif
>  
> +# build static versions of programs used in fdisk-udeb and util-linux-udeb
> +CONFOPTS += --enable-static-programs=fdisk,sfdisk,blkid
> +
>  CONFOPTS += --localstatedir=/run
>  CONFOPTS += --disable-silent-rules
>  CONFOPTS += --without-python
> diff --git a/debian/util-linux-udeb.install b/debian/util-linux-udeb.install
> old mode 100644
> new mode 100755
> index 022f38d..9a089cf
> --- a/debian/util-linux-udeb.install
> +++ b/debian/util-linux-udeb.install
> @@ -1 +1,2 @@
> -sbin/blkid
> +#!/usr/bin/dh-exec

Bug#798347: fdisk-udeb: not installable, depends on libtinfo5

2015-09-08 Thread Andreas Henriksson
Hello Cyril Brulebois.

Thanks for your bug report.

On Tue, Sep 08, 2015 at 01:13:58PM +0200, Cyril Brulebois wrote:
> Package: fdisk-udeb
> Version: 2.27-1
> Severity: grave
> Justification: renders package unusable
> 
> Hi,
> 
> Your package gained a dependency on libtinfo5, which makes it no longer
> installable, along with lilo-installer and rescue-mode, which both
> depend on it.
[...]

Sorry for screwing up the udebs (again!). Would be nice to have lintian
catch this...

I'm pondering just building static versions of fdisk,sfdisk,blkid
to put in the udebs instead to avoid current and future dependency
issues. Would that be acceptable?
(That would also mean I can remove lib*-udeb.)

The result would look like this:

root@mbpah:~/util-linux-2.27# dpkg -c ../fdisk-udeb_2.27-2_amd64.udeb 
drwxr-xr-x root/root 0 2015-09-08 15:17 ./
drwxr-xr-x root/root 0 2015-09-08 15:17 ./usr/
drwxr-xr-x root/root 0 2015-09-08 15:17 ./usr/sbin/
-rwxr-xr-x root/root   1385224 2015-09-08 15:17 ./usr/sbin/fdisk
-rwxr-xr-x root/root   1378376 2015-09-08 15:17 ./usr/sbin/sfdisk
root@mbpah:~/util-linux-2.27# dpkg -I ../fdisk-udeb_2.27-2_amd64.udeb 
 new debian package, version 2.0.
 size 972626 bytes: control archive=329 bytes.
 287 bytes,10 lines  control  
 Package: fdisk-udeb
 Source: util-linux
 Version: 2.27-2
 Architecture: amd64
 Installer-Menu-Item: 9
 Maintainer: Debian util-linux Maintainers 
 Installed-Size: 2704
 Section: debian-installer
 Priority: extra
 Description: Manually partition a hard drive (fdisk)

root@mbpah:~/util-linux-2.27# dpkg -c ../util-linux-udeb_2.27-2_amd64.udeb 
drwxr-xr-x root/root 0 2015-09-08 15:17 ./
drwxr-xr-x root/root 0 2015-09-08 15:17 ./sbin/
-rwxr-xr-x root/root993064 2015-09-08 15:17 ./sbin/blkid
root@mbpah:~/util-linux-2.27# dpkg -I ../util-linux-udeb_2.27-2_amd64.udeb 
 new debian package, version 2.0.
 size 347790 bytes: control archive=378 bytes.
 407 bytes,11 lines  control  
 Package: util-linux-udeb
 Source: util-linux
 Version: 2.27-2
 Architecture: amd64
 Maintainer: Debian util-linux Maintainers 
 Installed-Size: 973
 Section: debian-installer
 Priority: optional
 Description: stripped down miscellaneous system utilities, for debian-installer
  This is a minimal version of util-linux for debian-installer. It only
  contains the blkid binary at the moment.


Patch attached to accomplish this (which should be extended with
lib*-udeb removal).

Regards,
Andreas Henriksson
diff --git a/debian/changelog b/debian/changelog
index f1af685..6b915af 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+util-linux (2.27-2) UNRELEASED; urgency=medium
+
+  * Build static binaries for fdisk-udeb and util-linux-udeb (Closes: #798347)
+- this avoids udeb collecting invalid dependencies on non-udebs
+
+ -- Andreas Henriksson   Tue, 08 Sep 2015 17:00:05 +0200
+
 util-linux (2.27-1) unstable; urgency=medium
 
   [ Andreas Henriksson ]
diff --git a/debian/fdisk-udeb.install b/debian/fdisk-udeb.install
index 9cbe2fb..3aaf029 100755
--- a/debian/fdisk-udeb.install
+++ b/debian/fdisk-udeb.install
@@ -1,3 +1,3 @@
 #!/usr/bin/dh-exec
-sbin/fdisk usr/sbin
-sbin/sfdisk usr/sbin
+./fdisk.static => /usr/sbin/fdisk
+./sfdisk.static => /usr/sbin/sfdisk
diff --git a/debian/rules b/debian/rules
index 660d55f..4f36861 100755
--- a/debian/rules
+++ b/debian/rules
@@ -19,6 +19,9 @@ endif
 CONFOPTS += --enable-tunelp
 endif
 
+# build static versions of programs used in fdisk-udeb and util-linux-udeb
+CONFOPTS += --enable-static-programs=fdisk,sfdisk,blkid
+
 CONFOPTS += --localstatedir=/run
 CONFOPTS += --disable-silent-rules
 CONFOPTS += --without-python
diff --git a/debian/util-linux-udeb.install b/debian/util-linux-udeb.install
old mode 100644
new mode 100755
index 022f38d..9a089cf
--- a/debian/util-linux-udeb.install
+++ b/debian/util-linux-udeb.install
@@ -1 +1,2 @@
-sbin/blkid
+#!/usr/bin/dh-exec
+./blkid.static => /sbin/blkid


Bug#798347: fdisk-udeb: not installable, depends on libtinfo5

2015-09-08 Thread Samuel Thibault
Cyril Brulebois, le Tue 08 Sep 2015 17:39:24 +0200, a écrit :
> (Adding -boot@ for further discussion.)
> > I'm pondering just building static versions of fdisk,sfdisk,blkid
> > to put in the udebs instead to avoid current and future dependency
> > issues. Would that be acceptable?
> > 
> > (That would also mean I can remove lib*-udeb.)

You could link just libtinfo.a statically.

Samuel



Bug#798347: fdisk-udeb: not installable, depends on libtinfo5

2015-09-08 Thread Andreas Henriksson
Hello.

On Tue, Sep 08, 2015 at 05:47:13PM +0200, Samuel Thibault wrote:
> Cyril Brulebois, le Tue 08 Sep 2015 17:39:24 +0200, a écrit :
> > (Adding -boot@ for further discussion.)
> > > I'm pondering just building static versions of fdisk,sfdisk,blkid
> > > to put in the udebs instead to avoid current and future dependency
> > > issues. Would that be acceptable?
> > > 
> > > (That would also mean I can remove lib*-udeb.)
> 
> You could link just libtinfo.a statically.

Another option would probably also be to work out how to get rid
of the dependency on libtinfo (for udebs atleast).
(There's a configure switch to disable tinfo already, but I guess
we want it enabled for regular builds and would like to avoid
double builds.)

This would probably mean I walk into the same trap again in the future
with some other library.

Building it completely static is really simple for me and makes sure
no (non-udeb or other) dependencies gets picked up in the future
and avoids me reintroducing grave bugs.
Any issues would be noticed at build-time (eg. if something does not
provide a static lib).

I'd feel best if I can just forget about udeb existance and building
static version of fdisk,sfdisk,blkid seems like it could take away
the most common pitfall for me.

Are there any issues I should be aware of that would outweigh the
benefits mentioned above? (I'm aware it's not perfectly optimal
to build staticly, but can anyone forsee any actual practical or
policy issue with doing so?)

Regards,
Andreas Henriksson



Bug#798347: fdisk-udeb: not installable, depends on libtinfo5

2015-09-08 Thread Samuel Thibault
Andreas Henriksson, le Tue 08 Sep 2015 18:01:08 +0200, a écrit :
> Are there any issues I should be aware of that would outweigh the
> benefits mentioned above? (I'm aware it's not perfectly optimal
> to build staticly, but can anyone forsee any actual practical or
> policy issue with doing so?)

The static binary will carry possibly outdated copies of the library
(potentially with bugs etc.). The size may also matter for embedded
archs.

Samuel