2019-09-05 16:11:57 |
Dan Streetman |
bug |
|
|
added bug |
2019-09-05 17:19:05 |
Dan Streetman |
description |
[impact]
dpkg at version 1.19.0.5ubuntu2 had support for zstd added:
https://launchpad.net/ubuntu/+source/dpkg/1.19.0.5ubuntu2
part of that change was to update the 'configure.ac' file with zstd support, e.g.:
http://launchpadlibrarian.net/366237303/dpkg_1.19.0.5ubuntu1_1.19.0.5ubuntu2.diff.gz
note that the 'configure' file was not updated - which *should* be ok, as it should be recreated from the 'configure.ac' file during build. For the build of that version and the next (1.19.0.5ubuntu2.1), the 'configure' file was correctly recreated during build.
However at version 1.19.0.5ubuntu2.2, the 'configure' file was not recreated during build. Thus, dpkg was not built linked against libzstd.
[test case]
(to be added)
[regression potential]
TBD
[other info]
this might not be an issue specifically with dpkg itself, it could be an issue with debhelper and other tooling that is responsible for calling autoconf or autoreconf during build. Or, simply including the 'configure' file in the package source might be considered a bug, since it's an intermediate build file that really shouldn't be included. However, it's included in many source packages, including in debian, and removing it from all of them seems unlikely and/or unwieldy. Possibly build tooling should just always call autoconf/autoreconf with -f instead of relying on file timestamps, which may not always give the correct relationship (e.g. the 'configure.ac' file might have an older timestamp than the 'configure' file, even if the 'configure' file really should be rebuilt). |
[impact]
dpkg at version 1.19.0.5ubuntu2 had support for zstd added:
https://launchpad.net/ubuntu/+source/dpkg/1.19.0.5ubuntu2
part of that change was to update the 'configure.ac' file with zstd support, e.g.:
http://launchpadlibrarian.net/366237303/dpkg_1.19.0.5ubuntu1_1.19.0.5ubuntu2.diff.gz
note that the 'configure' file was not updated - which *should* be ok, as it should be recreated from the 'configure.ac' file during build. For the build of that version and the next (1.19.0.5ubuntu2.1), the 'configure' file was correctly recreated during build.
However at version 1.19.0.5ubuntu2.2, the 'configure' file was not recreated during build. Thus, dpkg was not built linked against libzstd.
[test case]
on bionic system:
$ sudo apt install ubuntu-dev-tools
$ pull-lp-source dpkg 1.19.0.5ubuntu2.2
$ cd dpkg-1.19.0.5ubuntu2.2/
$ sudo apt build-dep .
$ dpkg-buildpackage
and verify if dpkg-deb is linked against libzstd:
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
or extract it from the deb itself and check:
$ dpkg-deb -x ../dpkg_1.19.0.5ubuntu2.2_amd64.deb ../deb-files
$ ldd ../deb-files/usr/bin/dpkg-deb | grep zstd
simply touching the 'configure.ac' file (to bring its timestamp newer than the 'configure' file) causes the build to work correctly:
$ mkdir no-touch
$ cd no-touch
$ dpkg-source -x ~/dpkg_1.19.0.5ubuntu2.2.dsc
$ cd dpkg-1.19.0.5ubuntu2.2/
$ dpkg-buildpackage
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
$
$ mkdir touch
$ cd touch
$ dpkg-source -x ~/dpkg_1.19.0.5ubuntu2.2.dsc
$ cd dpkg-1.19.0.5ubuntu2.2/
$ touch configure.ac
$ dpkg-buildpackage
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
libzstd.so.1 => /usr/lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f8c1d8af000)
[regression potential]
TBD
[other info]
this might not be an issue specifically with dpkg itself, it could be an issue with debhelper and other tooling that is responsible for calling autoconf or autoreconf during build. Or possibly a problem with the dpkg debian/rules or other related build config.
Or, simply including the 'configure' file in the package source might be considered a bug, since it's an intermediate build file that really shouldn't be included. However, it's included in many source packages, including in debian, and removing it from all of them seems unlikely and/or unwieldy. Additionally, for "normal" packages that use quilt (i.e., aren't native), any changes to the 'configure.ac' file would be done with a patch, meaning the pre-build process would always make the 'configure.ac' file newer than the 'configure' file.
Maybe for native packages, autoconf/autoreconf should always be called with -f, or maybe the 'configure' file should be removed from native packages. |
|
2019-09-05 18:50:48 |
Dan Streetman |
bug watch added |
|
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939516 |
|
2019-09-05 18:50:48 |
Dan Streetman |
bug task added |
|
dpkg (Debian) |
|
2019-09-05 20:30:16 |
Dan Streetman |
nominated for series |
|
Ubuntu Disco |
|
2019-09-05 20:30:16 |
Dan Streetman |
bug task added |
|
dpkg (Ubuntu Disco) |
|
2019-09-05 20:30:16 |
Dan Streetman |
nominated for series |
|
Ubuntu Xenial |
|
2019-09-05 20:30:16 |
Dan Streetman |
bug task added |
|
dpkg (Ubuntu Xenial) |
|
2019-09-05 20:30:16 |
Dan Streetman |
nominated for series |
|
Ubuntu Eoan |
|
2019-09-05 20:30:16 |
Dan Streetman |
bug task added |
|
dpkg (Ubuntu Eoan) |
|
2019-09-05 20:30:16 |
Dan Streetman |
nominated for series |
|
Ubuntu Bionic |
|
2019-09-05 20:30:16 |
Dan Streetman |
bug task added |
|
dpkg (Ubuntu Bionic) |
|
2019-09-05 20:30:25 |
Dan Streetman |
dpkg (Ubuntu Xenial): assignee |
|
Dan Streetman (ddstreet) |
|
2019-09-05 20:30:28 |
Dan Streetman |
dpkg (Ubuntu Bionic): assignee |
|
Dan Streetman (ddstreet) |
|
2019-09-05 20:30:30 |
Dan Streetman |
dpkg (Ubuntu Disco): assignee |
|
Dan Streetman (ddstreet) |
|
2019-09-05 20:30:33 |
Dan Streetman |
dpkg (Ubuntu Eoan): assignee |
|
Dan Streetman (ddstreet) |
|
2019-09-05 20:30:40 |
Dan Streetman |
dpkg (Ubuntu Disco): importance |
Undecided |
Medium |
|
2019-09-05 20:30:44 |
Dan Streetman |
dpkg (Ubuntu Eoan): importance |
Undecided |
Medium |
|
2019-09-05 20:30:59 |
Dan Streetman |
dpkg (Ubuntu Xenial): importance |
Undecided |
Medium |
|
2019-09-05 20:31:08 |
Dan Streetman |
dpkg (Ubuntu Disco): status |
New |
In Progress |
|
2019-09-05 20:31:12 |
Dan Streetman |
dpkg (Ubuntu Xenial): status |
New |
In Progress |
|
2019-09-05 20:31:15 |
Dan Streetman |
dpkg (Ubuntu Bionic): importance |
Undecided |
Medium |
|
2019-09-05 20:31:19 |
Dan Streetman |
dpkg (Ubuntu Bionic): status |
New |
In Progress |
|
2019-09-05 20:31:23 |
Dan Streetman |
dpkg (Ubuntu Eoan): status |
New |
In Progress |
|
2019-09-06 00:45:24 |
Bug Watch Updater |
dpkg (Debian): status |
Unknown |
New |
|
2019-09-06 14:22:58 |
Dan Streetman |
tags |
|
sts |
|
2019-09-07 17:32:44 |
Launchpad Janitor |
dpkg (Ubuntu Eoan): status |
In Progress |
Fix Released |
|
2019-09-11 16:35:00 |
Dan Streetman |
description |
[impact]
dpkg at version 1.19.0.5ubuntu2 had support for zstd added:
https://launchpad.net/ubuntu/+source/dpkg/1.19.0.5ubuntu2
part of that change was to update the 'configure.ac' file with zstd support, e.g.:
http://launchpadlibrarian.net/366237303/dpkg_1.19.0.5ubuntu1_1.19.0.5ubuntu2.diff.gz
note that the 'configure' file was not updated - which *should* be ok, as it should be recreated from the 'configure.ac' file during build. For the build of that version and the next (1.19.0.5ubuntu2.1), the 'configure' file was correctly recreated during build.
However at version 1.19.0.5ubuntu2.2, the 'configure' file was not recreated during build. Thus, dpkg was not built linked against libzstd.
[test case]
on bionic system:
$ sudo apt install ubuntu-dev-tools
$ pull-lp-source dpkg 1.19.0.5ubuntu2.2
$ cd dpkg-1.19.0.5ubuntu2.2/
$ sudo apt build-dep .
$ dpkg-buildpackage
and verify if dpkg-deb is linked against libzstd:
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
or extract it from the deb itself and check:
$ dpkg-deb -x ../dpkg_1.19.0.5ubuntu2.2_amd64.deb ../deb-files
$ ldd ../deb-files/usr/bin/dpkg-deb | grep zstd
simply touching the 'configure.ac' file (to bring its timestamp newer than the 'configure' file) causes the build to work correctly:
$ mkdir no-touch
$ cd no-touch
$ dpkg-source -x ~/dpkg_1.19.0.5ubuntu2.2.dsc
$ cd dpkg-1.19.0.5ubuntu2.2/
$ dpkg-buildpackage
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
$
$ mkdir touch
$ cd touch
$ dpkg-source -x ~/dpkg_1.19.0.5ubuntu2.2.dsc
$ cd dpkg-1.19.0.5ubuntu2.2/
$ touch configure.ac
$ dpkg-buildpackage
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
libzstd.so.1 => /usr/lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f8c1d8af000)
[regression potential]
TBD
[other info]
this might not be an issue specifically with dpkg itself, it could be an issue with debhelper and other tooling that is responsible for calling autoconf or autoreconf during build. Or possibly a problem with the dpkg debian/rules or other related build config.
Or, simply including the 'configure' file in the package source might be considered a bug, since it's an intermediate build file that really shouldn't be included. However, it's included in many source packages, including in debian, and removing it from all of them seems unlikely and/or unwieldy. Additionally, for "normal" packages that use quilt (i.e., aren't native), any changes to the 'configure.ac' file would be done with a patch, meaning the pre-build process would always make the 'configure.ac' file newer than the 'configure' file.
Maybe for native packages, autoconf/autoreconf should always be called with -f, or maybe the 'configure' file should be removed from native packages. |
[impact]
dpkg at version 1.19.0.5ubuntu2 had support for zstd added:
https://launchpad.net/ubuntu/+source/dpkg/1.19.0.5ubuntu2
part of that change was to update the 'configure.ac' file with zstd support, e.g.:
http://launchpadlibrarian.net/366237303/dpkg_1.19.0.5ubuntu1_1.19.0.5ubuntu2.diff.gz
note that the 'configure' file was not updated - which *should* be ok, as it should be recreated from the 'configure.ac' file during build. For the build of that version and the next (1.19.0.5ubuntu2.1), the 'configure' file was correctly recreated during build.
However at version 1.19.0.5ubuntu2.2, the 'configure' file was not recreated during build. Thus, dpkg was not built linked against libzstd.
[test case]
on bionic system:
$ sudo apt install ubuntu-dev-tools
$ pull-lp-source dpkg 1.19.0.5ubuntu2.2
$ cd dpkg-1.19.0.5ubuntu2.2/
$ sudo apt build-dep .
$ dpkg-buildpackage
and verify if dpkg-deb is linked against libzstd:
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
or extract it from the deb itself and check:
$ dpkg-deb -x ../dpkg_1.19.0.5ubuntu2.2_amd64.deb ../deb-files
$ ldd ../deb-files/usr/bin/dpkg-deb | grep zstd
simply touching the 'configure.ac' file (to bring its timestamp newer than the 'configure' file) causes the build to work correctly:
$ mkdir no-touch
$ cd no-touch
$ dpkg-source -x ~/dpkg_1.19.0.5ubuntu2.2.dsc
$ cd dpkg-1.19.0.5ubuntu2.2/
$ dpkg-buildpackage
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
$
$ mkdir touch
$ cd touch
$ dpkg-source -x ~/dpkg_1.19.0.5ubuntu2.2.dsc
$ cd dpkg-1.19.0.5ubuntu2.2/
$ touch configure.ac
$ dpkg-buildpackage
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
libzstd.so.1 => /usr/lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f8c1d8af000)
[regression potential]
this forces autoreconf to be run for each build, which may add some small amount of time to the build. Other than that, the regression potential seems small, since autoreconf should be getting run for each build, and was for most (but not all) builds. Any regression would almost certainly involve a failure to build the package, or a failure to pick up new configure.ac changes correctly.
[other info]
this might not be an issue specifically with dpkg itself, it could be an issue with debhelper and other tooling that is responsible for calling autoconf or autoreconf during build. Or possibly a problem with the dpkg debian/rules or other related build config.
Or, simply including the 'configure' file in the package source might be considered a bug, since it's an intermediate build file that really shouldn't be included. However, it's included in many source packages, including in debian, and removing it from all of them seems unlikely and/or unwieldy. Additionally, for "normal" packages that use quilt (i.e., aren't native), any changes to the 'configure.ac' file would be done with a patch, meaning the pre-build process would always make the 'configure.ac' file newer than the 'configure' file.
Maybe for native packages, autoconf/autoreconf should always be called with -f, or maybe the 'configure' file should be removed from native packages. |
|
2019-09-11 16:38:25 |
Dan Streetman |
description |
[impact]
dpkg at version 1.19.0.5ubuntu2 had support for zstd added:
https://launchpad.net/ubuntu/+source/dpkg/1.19.0.5ubuntu2
part of that change was to update the 'configure.ac' file with zstd support, e.g.:
http://launchpadlibrarian.net/366237303/dpkg_1.19.0.5ubuntu1_1.19.0.5ubuntu2.diff.gz
note that the 'configure' file was not updated - which *should* be ok, as it should be recreated from the 'configure.ac' file during build. For the build of that version and the next (1.19.0.5ubuntu2.1), the 'configure' file was correctly recreated during build.
However at version 1.19.0.5ubuntu2.2, the 'configure' file was not recreated during build. Thus, dpkg was not built linked against libzstd.
[test case]
on bionic system:
$ sudo apt install ubuntu-dev-tools
$ pull-lp-source dpkg 1.19.0.5ubuntu2.2
$ cd dpkg-1.19.0.5ubuntu2.2/
$ sudo apt build-dep .
$ dpkg-buildpackage
and verify if dpkg-deb is linked against libzstd:
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
or extract it from the deb itself and check:
$ dpkg-deb -x ../dpkg_1.19.0.5ubuntu2.2_amd64.deb ../deb-files
$ ldd ../deb-files/usr/bin/dpkg-deb | grep zstd
simply touching the 'configure.ac' file (to bring its timestamp newer than the 'configure' file) causes the build to work correctly:
$ mkdir no-touch
$ cd no-touch
$ dpkg-source -x ~/dpkg_1.19.0.5ubuntu2.2.dsc
$ cd dpkg-1.19.0.5ubuntu2.2/
$ dpkg-buildpackage
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
$
$ mkdir touch
$ cd touch
$ dpkg-source -x ~/dpkg_1.19.0.5ubuntu2.2.dsc
$ cd dpkg-1.19.0.5ubuntu2.2/
$ touch configure.ac
$ dpkg-buildpackage
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
libzstd.so.1 => /usr/lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f8c1d8af000)
[regression potential]
this forces autoreconf to be run for each build, which may add some small amount of time to the build. Other than that, the regression potential seems small, since autoreconf should be getting run for each build, and was for most (but not all) builds. Any regression would almost certainly involve a failure to build the package, or a failure to pick up new configure.ac changes correctly.
[other info]
this might not be an issue specifically with dpkg itself, it could be an issue with debhelper and other tooling that is responsible for calling autoconf or autoreconf during build. Or possibly a problem with the dpkg debian/rules or other related build config.
Or, simply including the 'configure' file in the package source might be considered a bug, since it's an intermediate build file that really shouldn't be included. However, it's included in many source packages, including in debian, and removing it from all of them seems unlikely and/or unwieldy. Additionally, for "normal" packages that use quilt (i.e., aren't native), any changes to the 'configure.ac' file would be done with a patch, meaning the pre-build process would always make the 'configure.ac' file newer than the 'configure' file.
Maybe for native packages, autoconf/autoreconf should always be called with -f, or maybe the 'configure' file should be removed from native packages. |
[impact]
dpkg at version 1.19.0.5ubuntu2 had support for zstd added:
https://launchpad.net/ubuntu/+source/dpkg/1.19.0.5ubuntu2
part of that change was to update the 'configure.ac' file with zstd support, e.g.:
http://launchpadlibrarian.net/366237303/dpkg_1.19.0.5ubuntu1_1.19.0.5ubuntu2.diff.gz
note that the 'configure' file was not updated - which *should* be ok, as it should be recreated from the 'configure.ac' file during build. For the build of that version and the next (1.19.0.5ubuntu2.1), the 'configure' file was correctly recreated during build.
However at version 1.19.0.5ubuntu2.2, the 'configure' file was not recreated during build. Thus, dpkg was not built linked against libzstd.
This regresses the ability of dpkg to uncompress zstd-compressed packages, unless the zstd utility is installed on the local system. Since dpkg does not list the zstd package as a dep, it may not be installed on all users' systems who want to install a zstd-compressed package.
[test case]
on bionic system:
$ sudo apt install ubuntu-dev-tools
$ pull-lp-source dpkg 1.19.0.5ubuntu2.2
$ cd dpkg-1.19.0.5ubuntu2.2/
$ sudo apt build-dep .
$ dpkg-buildpackage
and verify if dpkg-deb is linked against libzstd:
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
or extract it from the deb itself and check:
$ dpkg-deb -x ../dpkg_1.19.0.5ubuntu2.2_amd64.deb ../deb-files
$ ldd ../deb-files/usr/bin/dpkg-deb | grep zstd
simply touching the 'configure.ac' file (to bring its timestamp newer than the 'configure' file) causes the build to work correctly:
$ mkdir no-touch
$ cd no-touch
$ dpkg-source -x ~/dpkg_1.19.0.5ubuntu2.2.dsc
$ cd dpkg-1.19.0.5ubuntu2.2/
$ dpkg-buildpackage
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
$
$ mkdir touch
$ cd touch
$ dpkg-source -x ~/dpkg_1.19.0.5ubuntu2.2.dsc
$ cd dpkg-1.19.0.5ubuntu2.2/
$ touch configure.ac
$ dpkg-buildpackage
$ ldd build-tree/dpkg-deb/dpkg-deb | grep zstd
libzstd.so.1 => /usr/lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f8c1d8af000)
[regression potential]
this forces autoreconf to be run for each build, which may add some small amount of time to the build. Other than that, the regression potential seems small, since autoreconf should be getting run for each build, and was for most (but not all) builds. Any regression would almost certainly involve a failure to build the package, or a failure to pick up new configure.ac changes correctly.
[other info]
this might not be an issue specifically with dpkg itself, it could be an issue with debhelper and other tooling that is responsible for calling autoconf or autoreconf during build. Or possibly a problem with the dpkg debian/rules or other related build config.
Or, simply including the 'configure' file in the package source might be considered a bug, since it's an intermediate build file that really shouldn't be included. However, it's included in many source packages, including in debian, and removing it from all of them seems unlikely and/or unwieldy. Additionally, for "normal" packages that use quilt (i.e., aren't native), any changes to the 'configure.ac' file would be done with a patch, meaning the pre-build process would always make the 'configure.ac' file newer than the 'configure' file.
Maybe for native packages, autoconf/autoreconf should always be called with -f, or maybe the 'configure' file should be removed from native packages. |
|
2019-09-16 12:58:19 |
Steve Langasek |
dpkg (Ubuntu Bionic): status |
In Progress |
Fix Committed |
|
2019-09-16 12:58:22 |
Steve Langasek |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2019-09-16 12:58:25 |
Steve Langasek |
bug |
|
|
added subscriber SRU Verification |
2019-09-16 12:58:29 |
Steve Langasek |
tags |
sts |
sts verification-needed verification-needed-bionic |
|
2019-09-16 13:00:29 |
Steve Langasek |
dpkg (Ubuntu Xenial): status |
In Progress |
Incomplete |
|
2019-09-16 13:01:25 |
Steve Langasek |
tags |
sts verification-needed verification-needed-bionic |
block-proposed-disco sts verification-needed verification-needed-bionic |
|
2019-09-16 13:02:48 |
Steve Langasek |
dpkg (Ubuntu Disco): status |
In Progress |
Fix Committed |
|
2019-09-16 13:02:57 |
Steve Langasek |
tags |
block-proposed-disco sts verification-needed verification-needed-bionic |
block-proposed-disco sts verification-needed verification-needed-bionic verification-needed-disco |
|
2019-09-23 17:13:09 |
Dan Streetman |
tags |
block-proposed-disco sts verification-needed verification-needed-bionic verification-needed-disco |
block-proposed-disco sts verification-done verification-done-bionic verification-done-disco |
|
2019-09-24 07:44:58 |
Launchpad Janitor |
dpkg (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|
2019-09-24 07:45:08 |
Łukasz Zemczak |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2019-10-16 15:59:24 |
Robie Basak |
bug |
|
|
added subscriber Robie Basak |
2019-11-29 00:56:43 |
Bug Watch Updater |
dpkg (Debian): status |
New |
Fix Committed |
|
2019-12-13 12:58:37 |
Dan Streetman |
bug |
|
|
added subscriber Brian Murray |
2019-12-13 14:34:06 |
Dan Streetman |
dpkg (Ubuntu Xenial): status |
Incomplete |
In Progress |
|
2020-03-27 21:05:42 |
Dan Streetman |
dpkg (Ubuntu Xenial): assignee |
Dan Streetman (ddstreet) |
|
|
2020-03-27 21:05:53 |
Dan Streetman |
dpkg (Ubuntu Xenial): status |
In Progress |
Incomplete |
|
2020-03-27 21:07:08 |
Dan Streetman |
dpkg (Ubuntu Disco): status |
Fix Committed |
Won't Fix |
|
2020-03-30 18:29:40 |
Brian Murray |
dpkg (Ubuntu Xenial): status |
Incomplete |
In Progress |
|
2020-03-30 21:32:44 |
Bug Watch Updater |
dpkg (Debian): status |
Fix Committed |
Fix Released |
|
2020-05-13 13:17:34 |
Robie Basak |
dpkg (Ubuntu Xenial): status |
In Progress |
Invalid |
|
2020-05-13 13:17:41 |
Robie Basak |
dpkg (Ubuntu Xenial): status |
Invalid |
Won't Fix |
|