Activity log for bug #1872163

Date Who What changed Old value New value Message
2020-04-11 06:09:50 Tim Lunn bug added bug
2020-04-11 06:10:50 Tim Lunn attachment added sources.list from focal lp sbuild chroot https://bugs.launchpad.net/ubuntu/+source/sbuild-launchpad-chroot/+bug/1872163/+attachment/5351720/+files/sources.list
2020-04-17 18:01:02 Launchpad Janitor sbuild-launchpad-chroot (Ubuntu): status New Confirmed
2020-04-17 18:36:18 Scott Moser attachment added fix/workaround https://bugs.launchpad.net/ubuntu/+source/sbuild-launchpad-chroot/+bug/1872163/+attachment/5356285/+files/fix-1872163.diff
2020-04-17 20:30:09 Ubuntu Foundations Team Bug Bot tags amd64 apport-bug focal amd64 apport-bug focal patch
2020-04-17 20:56:52 Launchpad Janitor merge proposal linked https://code.launchpad.net/~chad.smith/ubuntu/+source/sbuild-launchpad-chroot/+git/sbuild-launchpad-chroot/+merge/382529
2020-05-06 15:54:31 Paride Legovini bug added subscriber Paride Legovini
2020-05-07 19:08:35 Scott Moser merge proposal linked https://code.launchpad.net/~smoser/ubuntu/+source/sbuild-launchpad-chroot/+git/sbuild-launchpad-chroot/+merge/383600
2020-05-08 17:28:56 Scott Moser nominated for series Ubuntu Groovy
2020-05-08 17:28:56 Scott Moser bug task added sbuild-launchpad-chroot (Ubuntu Groovy)
2020-05-08 17:28:56 Scott Moser nominated for series Ubuntu Focal
2020-05-08 17:28:56 Scott Moser bug task added sbuild-launchpad-chroot (Ubuntu Focal)
2020-05-08 17:29:10 Scott Moser nominated for series Ubuntu Bionic
2020-05-08 17:29:10 Scott Moser bug task added sbuild-launchpad-chroot (Ubuntu Bionic)
2020-05-08 17:29:22 Scott Moser nominated for series Ubuntu Eoan
2020-05-08 17:29:22 Scott Moser bug task added sbuild-launchpad-chroot (Ubuntu Eoan)
2020-05-08 17:30:33 Scott Moser sbuild-launchpad-chroot (Ubuntu Bionic): status New Confirmed
2020-05-08 17:30:35 Scott Moser sbuild-launchpad-chroot (Ubuntu Eoan): status New Confirmed
2020-05-08 17:30:39 Scott Moser sbuild-launchpad-chroot (Ubuntu Focal): status New Confirmed
2020-05-08 17:30:43 Scott Moser sbuild-launchpad-chroot (Ubuntu Groovy): status Confirmed In Progress
2020-05-08 17:30:50 Scott Moser sbuild-launchpad-chroot (Ubuntu Groovy): importance Undecided High
2020-05-08 18:37:35 Launchpad Janitor sbuild-launchpad-chroot (Ubuntu Groovy): status In Progress Fix Released
2020-05-11 16:12:19 Scott Moser description At some stage fairly recently my Focal schroots have broken due to the sources.list file that is now included. I will attach this file, however it looks like the standard distro source.list file vs the single liner version I have in my eoan schroots. Reverting to a single liner similar to Eoan fixes this issue. Not sure if this is an issue with this tool or with the downloaded chroot from launchpad changing ProblemType: Bug DistroRelease: Ubuntu 20.04 Package: sbuild-launchpad-chroot 0.16 ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27 Uname: Linux 5.4.0-21-generic x86_64 ApportVersion: 2.20.11-0ubuntu26 Architecture: amd64 CasperMD5CheckResult: skip CurrentDesktop: GNOME Date: Sat Apr 11 15:58:45 2020 InstallationDate: Installed on 2016-05-27 (1414 days ago) InstallationMedia: Ubuntu-GNOME 16.04 LTS "Xenial Xerus" - Release amd64 (20160509) PackageArchitecture: all SourcePackage: sbuild-launchpad-chroot UpgradeStatus: Upgraded to focal on 2019-11-18 (145 days ago) ----- Begin SRU info ----- [Impact] Users of sbuild-launchpad-chroot cannot use chroots created with sbuild-launchpad-chroot with a build-release of focal or groovy. An attempt to do so fails during 'apt-get update' as the /etc/apt/sources.list file that is created is not valid. To recreate failure just try build and usage. $ sudo apt-get update $ sudo apt-get install sbuild-launchpad-chroot $ sudo sbuild-launchpad-chroot create --architecture=amd64 \ --name=focal-amd64 --series=focal Then get a dsc file to build. Any dsc will show the issue, this is only to have a complete example. $ dget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/cloud-utils/0.31-7-gd99b2d76-0ubuntu1/cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc $ sbuild --dist=focal --arch=amd64 --arch-all cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc ... +------------------------------------------------------------------------------+ | Update chroot | +------------------------------------------------------------------------------+ E: Type 'main' is not known on line 5 in source list /etc/apt/sources.list E: The list of sources could not be read. E: apt-get update failed [Test Case] To test: * install sbuild-launchpad-chroot. * Create chroots for bionic (old format) and focal (new format). * build a package in the chroot. Because the mirror differs between amd64 and other arches, you should also build for a non-amd64 arch. The attached script will do all of the above. I suggest running like: * manually enable -proposed * ./test-sbuild-launchpad-chroot Note that sbuild likely wont work properly in a container, so the script will exit failure if detected. [Regression Potential] The most likely scenario for regression is in uers with custom scripts in /etc/schroot.d/setup.d that make assumptions about the format of /etc/apt/sources.list. A user could have: 1. added a script that ran *before* 90apt-sources that wrote or edited the /etc/apt/sources.list to modify a mirror or make other changes. Since we have changed the code to no longer attempt to edit sources.list the changes in 1 would likely be destroyed. 2. added a script that ran *after* 90apt-sources that made similar changes and made assumption of the state of that file. Assumptions made about the format of this file may be broken and cause breakage of such scripts. Lastly, a user could have relied on 90apt-sources to edit their schroots during setup. It seems unlikely to me that a user would have desired this, but the change will no longer modify schroots that were not created by sbuild-launchpad-chroot. Ultimately... it is somewhat unlikely that user-added scripts would have worked with focal or groovy schroots. [Other Info] The change that caused this failure was in the /etc/apt/sources.list file that is present in the launchpad schroot. A summary of how sbuild-launchpad-chroot works. When a build is requested, the following happens: 1. The packagd file /etc/schroot/setup.d/01launchpad-chroot executes. It will query launchpad for a tarball to use as chroot, and possibly update the existing one. 2. /etc/schroot/setup.d/90apt-sources executes and updates the exixting /etc/apt/sources.list inside the chroot. The goal of this is to enable the requested combination of suite (release, security, ... ) and component (main, restricted, universe ...) The existing code is only able to handle a "one line" version of /etc/apt/sources.list, that looks like the following: deb http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse Focal and groovy chroots now a have a "complete" /etc/apt/sources.list file as you would see in a lxc container or an installed system. The change made was to more fully "own" the writing of /etc/apt/sources.list. The previous code made a large assumption on the format of /etc/apt/sources.list in the chroot, and tried to edit it based on that assumption. When the format of the file changed, its ability to edit the file failed. The new code just declares the settings, which makes it much simpler. The new code is not expected to be "general purpose". In order to avoid breaking other schroot's, it is only enabled if this schroot was set up by launchpad-schroot. -- feature added -- There is one feature added in this patch, now the user can set the mirror that they would like to use by adding a setting: apt.default.mirror To the /etc/schroot/chroot.d/name For example: $ grep apt /etc/schroot.d/focal-amd64 apt.enable=true apt.default.mirror=http://us.archive.ubuntu.com/ubuntu If no value is set there, then code will use the mirror specified in the first 'deb' line of /etc/apt/sources.list. ----- End SRU info ----- At some stage fairly recently my Focal schroots have broken due to the sources.list file that is now included. I will attach this file, however it looks like the standard distro source.list file vs the single liner version I have in my eoan schroots. Reverting to a single liner similar to Eoan fixes this issue. Not sure if this is an issue with this tool or with the downloaded chroot from launchpad changing ProblemType: Bug DistroRelease: Ubuntu 20.04 Package: sbuild-launchpad-chroot 0.16 ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27 Uname: Linux 5.4.0-21-generic x86_64 ApportVersion: 2.20.11-0ubuntu26 Architecture: amd64 CasperMD5CheckResult: skip CurrentDesktop: GNOME Date: Sat Apr 11 15:58:45 2020 InstallationDate: Installed on 2016-05-27 (1414 days ago) InstallationMedia: Ubuntu-GNOME 16.04 LTS "Xenial Xerus" - Release amd64 (20160509) PackageArchitecture: all SourcePackage: sbuild-launchpad-chroot UpgradeStatus: Upgraded to focal on 2019-11-18 (145 days ago)
2020-05-11 16:12:57 Scott Moser attachment added test-sbuild-launchpad-chroot: SRU test https://bugs.launchpad.net/ubuntu/+source/sbuild-launchpad-chroot/+bug/1872163/+attachment/5369928/+files/test-sbuild-launchpad-chroot
2020-05-11 16:14:09 Scott Moser description ----- Begin SRU info ----- [Impact] Users of sbuild-launchpad-chroot cannot use chroots created with sbuild-launchpad-chroot with a build-release of focal or groovy. An attempt to do so fails during 'apt-get update' as the /etc/apt/sources.list file that is created is not valid. To recreate failure just try build and usage. $ sudo apt-get update $ sudo apt-get install sbuild-launchpad-chroot $ sudo sbuild-launchpad-chroot create --architecture=amd64 \ --name=focal-amd64 --series=focal Then get a dsc file to build. Any dsc will show the issue, this is only to have a complete example. $ dget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/cloud-utils/0.31-7-gd99b2d76-0ubuntu1/cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc $ sbuild --dist=focal --arch=amd64 --arch-all cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc ... +------------------------------------------------------------------------------+ | Update chroot | +------------------------------------------------------------------------------+ E: Type 'main' is not known on line 5 in source list /etc/apt/sources.list E: The list of sources could not be read. E: apt-get update failed [Test Case] To test: * install sbuild-launchpad-chroot. * Create chroots for bionic (old format) and focal (new format). * build a package in the chroot. Because the mirror differs between amd64 and other arches, you should also build for a non-amd64 arch. The attached script will do all of the above. I suggest running like: * manually enable -proposed * ./test-sbuild-launchpad-chroot Note that sbuild likely wont work properly in a container, so the script will exit failure if detected. [Regression Potential] The most likely scenario for regression is in uers with custom scripts in /etc/schroot.d/setup.d that make assumptions about the format of /etc/apt/sources.list. A user could have: 1. added a script that ran *before* 90apt-sources that wrote or edited the /etc/apt/sources.list to modify a mirror or make other changes. Since we have changed the code to no longer attempt to edit sources.list the changes in 1 would likely be destroyed. 2. added a script that ran *after* 90apt-sources that made similar changes and made assumption of the state of that file. Assumptions made about the format of this file may be broken and cause breakage of such scripts. Lastly, a user could have relied on 90apt-sources to edit their schroots during setup. It seems unlikely to me that a user would have desired this, but the change will no longer modify schroots that were not created by sbuild-launchpad-chroot. Ultimately... it is somewhat unlikely that user-added scripts would have worked with focal or groovy schroots. [Other Info] The change that caused this failure was in the /etc/apt/sources.list file that is present in the launchpad schroot. A summary of how sbuild-launchpad-chroot works. When a build is requested, the following happens: 1. The packagd file /etc/schroot/setup.d/01launchpad-chroot executes. It will query launchpad for a tarball to use as chroot, and possibly update the existing one. 2. /etc/schroot/setup.d/90apt-sources executes and updates the exixting /etc/apt/sources.list inside the chroot. The goal of this is to enable the requested combination of suite (release, security, ... ) and component (main, restricted, universe ...) The existing code is only able to handle a "one line" version of /etc/apt/sources.list, that looks like the following: deb http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse Focal and groovy chroots now a have a "complete" /etc/apt/sources.list file as you would see in a lxc container or an installed system. The change made was to more fully "own" the writing of /etc/apt/sources.list. The previous code made a large assumption on the format of /etc/apt/sources.list in the chroot, and tried to edit it based on that assumption. When the format of the file changed, its ability to edit the file failed. The new code just declares the settings, which makes it much simpler. The new code is not expected to be "general purpose". In order to avoid breaking other schroot's, it is only enabled if this schroot was set up by launchpad-schroot. -- feature added -- There is one feature added in this patch, now the user can set the mirror that they would like to use by adding a setting: apt.default.mirror To the /etc/schroot/chroot.d/name For example: $ grep apt /etc/schroot.d/focal-amd64 apt.enable=true apt.default.mirror=http://us.archive.ubuntu.com/ubuntu If no value is set there, then code will use the mirror specified in the first 'deb' line of /etc/apt/sources.list. ----- End SRU info ----- At some stage fairly recently my Focal schroots have broken due to the sources.list file that is now included. I will attach this file, however it looks like the standard distro source.list file vs the single liner version I have in my eoan schroots. Reverting to a single liner similar to Eoan fixes this issue. Not sure if this is an issue with this tool or with the downloaded chroot from launchpad changing ProblemType: Bug DistroRelease: Ubuntu 20.04 Package: sbuild-launchpad-chroot 0.16 ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27 Uname: Linux 5.4.0-21-generic x86_64 ApportVersion: 2.20.11-0ubuntu26 Architecture: amd64 CasperMD5CheckResult: skip CurrentDesktop: GNOME Date: Sat Apr 11 15:58:45 2020 InstallationDate: Installed on 2016-05-27 (1414 days ago) InstallationMedia: Ubuntu-GNOME 16.04 LTS "Xenial Xerus" - Release amd64 (20160509) PackageArchitecture: all SourcePackage: sbuild-launchpad-chroot UpgradeStatus: Upgraded to focal on 2019-11-18 (145 days ago) ----- Begin SRU info ----- [Impact] Users of sbuild-launchpad-chroot cannot use chroots created with sbuild-launchpad-chroot with a build-release of focal or groovy. An attempt to do so fails during 'apt-get update' as the /etc/apt/sources.list file that is created is not valid. To recreate failure just try build and usage.   $ sudo apt-get update   $ sudo apt-get install sbuild-launchpad-chroot   $ sudo sbuild-launchpad-chroot create --architecture=amd64 \      --name=focal-amd64 --series=focal Then get a dsc file to build. Any dsc will show the issue, this is only to have a complete example.   $ dget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/cloud-utils/0.31-7-gd99b2d76-0ubuntu1/cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc   $ sbuild --dist=focal --arch=amd64 --arch-all cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc   ...   +------------------------------------------------------------------------------+   | Update chroot |   +------------------------------------------------------------------------------+   E: Type 'main' is not known on line 5 in source list /etc/apt/sources.list   E: The list of sources could not be read.   E: apt-get update failed [Test Case] To test:  * install sbuild-launchpad-chroot.  * Create chroots for bionic (old format) and focal (new format).  * build a package in the chroot. Because the mirror differs between amd64 and other arches, you should also build for a non-amd64 arch. The attached script will do all of the above. I suggest running like:   * manually enable -proposed * get a .dsc and associated files to build into current working dir.   * ./test-sbuild-launchpad-chroot Note that sbuild likely wont work properly in a container, so the script will exit failure if detected. [Regression Potential] The most likely scenario for regression is in uers with custom scripts in /etc/schroot.d/setup.d that make assumptions about the format of /etc/apt/sources.list. A user could have:  1. added a script that ran *before* 90apt-sources that wrote or edited     the /etc/apt/sources.list to modify a mirror or make other changes.     Since we have changed the code to no longer attempt to edit     sources.list the changes in 1 would likely be destroyed.  2. added a script that ran *after* 90apt-sources that made similar changes     and made assumption of the state of that file.     Assumptions made about the format of this file may be broken and cause     breakage of such scripts. Lastly, a user could have relied on 90apt-sources to edit their schroots during setup. It seems unlikely to me that a user would have desired this, but the change will no longer modify schroots that were not created by sbuild-launchpad-chroot. Ultimately... it is somewhat unlikely that user-added scripts would have worked with focal or groovy schroots. [Other Info] The change that caused this failure was in the /etc/apt/sources.list file that is present in the launchpad schroot. A summary of how sbuild-launchpad-chroot works. When a build is requested, the following happens:  1. The packagd file /etc/schroot/setup.d/01launchpad-chroot executes. It     will query launchpad for a tarball to use as chroot, and possibly update     the existing one.  2. /etc/schroot/setup.d/90apt-sources executes and updates the     exixting /etc/apt/sources.list inside the chroot. The goal of this is     to enable the requested combination of     suite (release, security, ... ) and     component (main, restricted, universe ...) The existing code is only able to handle a "one line" version of /etc/apt/sources.list, that looks like the following:    deb http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse Focal and groovy chroots now a have a "complete" /etc/apt/sources.list file as you would see in a lxc container or an installed system. The change made was to more fully "own" the writing of /etc/apt/sources.list. The previous code made a large assumption on the format of /etc/apt/sources.list in the chroot, and tried to edit it based on that assumption. When the format of the file changed, its ability to edit the file failed. The new code just declares the settings, which makes it much simpler. The new code is not expected to be "general purpose". In order to avoid breaking other schroot's, it is only enabled if this schroot was set up by launchpad-schroot. -- feature added -- There is one feature added in this patch, now the user can set the mirror that they would like to use by adding a setting:  apt.default.mirror To the /etc/schroot/chroot.d/name For example:   $ grep apt /etc/schroot.d/focal-amd64   apt.enable=true   apt.default.mirror=http://us.archive.ubuntu.com/ubuntu If no value is set there, then code will use the mirror specified in the first 'deb' line of /etc/apt/sources.list. ----- End SRU info ----- At some stage fairly recently my Focal schroots have broken due to the sources.list file that is now included. I will attach this file, however it looks like the standard distro source.list file vs the single liner version I have in my eoan schroots. Reverting to a single liner similar to Eoan fixes this issue. Not sure if this is an issue with this tool or with the downloaded chroot from launchpad changing ProblemType: Bug DistroRelease: Ubuntu 20.04 Package: sbuild-launchpad-chroot 0.16 ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27 Uname: Linux 5.4.0-21-generic x86_64 ApportVersion: 2.20.11-0ubuntu26 Architecture: amd64 CasperMD5CheckResult: skip CurrentDesktop: GNOME Date: Sat Apr 11 15:58:45 2020 InstallationDate: Installed on 2016-05-27 (1414 days ago) InstallationMedia: Ubuntu-GNOME 16.04 LTS "Xenial Xerus" - Release amd64 (20160509) PackageArchitecture: all SourcePackage: sbuild-launchpad-chroot UpgradeStatus: Upgraded to focal on 2019-11-18 (145 days ago)
2020-05-11 16:17:30 Scott Moser description ----- Begin SRU info ----- [Impact] Users of sbuild-launchpad-chroot cannot use chroots created with sbuild-launchpad-chroot with a build-release of focal or groovy. An attempt to do so fails during 'apt-get update' as the /etc/apt/sources.list file that is created is not valid. To recreate failure just try build and usage.   $ sudo apt-get update   $ sudo apt-get install sbuild-launchpad-chroot   $ sudo sbuild-launchpad-chroot create --architecture=amd64 \      --name=focal-amd64 --series=focal Then get a dsc file to build. Any dsc will show the issue, this is only to have a complete example.   $ dget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/cloud-utils/0.31-7-gd99b2d76-0ubuntu1/cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc   $ sbuild --dist=focal --arch=amd64 --arch-all cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc   ...   +------------------------------------------------------------------------------+   | Update chroot |   +------------------------------------------------------------------------------+   E: Type 'main' is not known on line 5 in source list /etc/apt/sources.list   E: The list of sources could not be read.   E: apt-get update failed [Test Case] To test:  * install sbuild-launchpad-chroot.  * Create chroots for bionic (old format) and focal (new format).  * build a package in the chroot. Because the mirror differs between amd64 and other arches, you should also build for a non-amd64 arch. The attached script will do all of the above. I suggest running like:   * manually enable -proposed * get a .dsc and associated files to build into current working dir.   * ./test-sbuild-launchpad-chroot Note that sbuild likely wont work properly in a container, so the script will exit failure if detected. [Regression Potential] The most likely scenario for regression is in uers with custom scripts in /etc/schroot.d/setup.d that make assumptions about the format of /etc/apt/sources.list. A user could have:  1. added a script that ran *before* 90apt-sources that wrote or edited     the /etc/apt/sources.list to modify a mirror or make other changes.     Since we have changed the code to no longer attempt to edit     sources.list the changes in 1 would likely be destroyed.  2. added a script that ran *after* 90apt-sources that made similar changes     and made assumption of the state of that file.     Assumptions made about the format of this file may be broken and cause     breakage of such scripts. Lastly, a user could have relied on 90apt-sources to edit their schroots during setup. It seems unlikely to me that a user would have desired this, but the change will no longer modify schroots that were not created by sbuild-launchpad-chroot. Ultimately... it is somewhat unlikely that user-added scripts would have worked with focal or groovy schroots. [Other Info] The change that caused this failure was in the /etc/apt/sources.list file that is present in the launchpad schroot. A summary of how sbuild-launchpad-chroot works. When a build is requested, the following happens:  1. The packagd file /etc/schroot/setup.d/01launchpad-chroot executes. It     will query launchpad for a tarball to use as chroot, and possibly update     the existing one.  2. /etc/schroot/setup.d/90apt-sources executes and updates the     exixting /etc/apt/sources.list inside the chroot. The goal of this is     to enable the requested combination of     suite (release, security, ... ) and     component (main, restricted, universe ...) The existing code is only able to handle a "one line" version of /etc/apt/sources.list, that looks like the following:    deb http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse Focal and groovy chroots now a have a "complete" /etc/apt/sources.list file as you would see in a lxc container or an installed system. The change made was to more fully "own" the writing of /etc/apt/sources.list. The previous code made a large assumption on the format of /etc/apt/sources.list in the chroot, and tried to edit it based on that assumption. When the format of the file changed, its ability to edit the file failed. The new code just declares the settings, which makes it much simpler. The new code is not expected to be "general purpose". In order to avoid breaking other schroot's, it is only enabled if this schroot was set up by launchpad-schroot. -- feature added -- There is one feature added in this patch, now the user can set the mirror that they would like to use by adding a setting:  apt.default.mirror To the /etc/schroot/chroot.d/name For example:   $ grep apt /etc/schroot.d/focal-amd64   apt.enable=true   apt.default.mirror=http://us.archive.ubuntu.com/ubuntu If no value is set there, then code will use the mirror specified in the first 'deb' line of /etc/apt/sources.list. ----- End SRU info ----- At some stage fairly recently my Focal schroots have broken due to the sources.list file that is now included. I will attach this file, however it looks like the standard distro source.list file vs the single liner version I have in my eoan schroots. Reverting to a single liner similar to Eoan fixes this issue. Not sure if this is an issue with this tool or with the downloaded chroot from launchpad changing ProblemType: Bug DistroRelease: Ubuntu 20.04 Package: sbuild-launchpad-chroot 0.16 ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27 Uname: Linux 5.4.0-21-generic x86_64 ApportVersion: 2.20.11-0ubuntu26 Architecture: amd64 CasperMD5CheckResult: skip CurrentDesktop: GNOME Date: Sat Apr 11 15:58:45 2020 InstallationDate: Installed on 2016-05-27 (1414 days ago) InstallationMedia: Ubuntu-GNOME 16.04 LTS "Xenial Xerus" - Release amd64 (20160509) PackageArchitecture: all SourcePackage: sbuild-launchpad-chroot UpgradeStatus: Upgraded to focal on 2019-11-18 (145 days ago) ----- Begin SRU info ----- [Impact] Users of sbuild-launchpad-chroot cannot use chroots created with sbuild-launchpad-chroot with a build-release of focal or groovy. An attempt to do so fails during 'apt-get update' as the /etc/apt/sources.list file that is created is not valid. To recreate failure just try build and usage.   $ sudo apt-get update   $ sudo apt-get install sbuild-launchpad-chroot   $ sudo sbuild-launchpad-chroot create --architecture=amd64 \      --name=focal-amd64 --series=focal Then get a dsc file to build. Any dsc will show the issue, this is only to have a complete example.   $ dget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/cloud-utils/0.31-7-gd99b2d76-0ubuntu1/cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc   $ sbuild --dist=focal --arch=amd64 --arch-all cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc   ...   +------------------------------------------------------------------------------+   | Update chroot |   +------------------------------------------------------------------------------+   E: Type 'main' is not known on line 5 in source list /etc/apt/sources.list   E: The list of sources could not be read.   E: apt-get update failed [Test Case] To test:  * install sbuild-launchpad-chroot.  * Create chroots for bionic (old format) and focal (new format).  * build a package in the chroot. Because the mirror differs between amd64 and other arches, you should also build for a non-amd64 arch. The attached script will do all of the above. I suggest running like:   * manually enable -proposed   * get a .dsc and associated files to build into current working dir.   * ./test-sbuild-launchpad-chroot Note that sbuild likely wont work properly in a container, so the script will exit failure if detected. [Regression Potential] The most likely scenario for regression is in uers with custom scripts in /etc/schroot.d/setup.d that make assumptions about the format of /etc/apt/sources.list. A user could have:  1. added a script that ran *before* 90apt-sources that wrote or edited     the /etc/apt/sources.list to modify a mirror or make other changes.     Since we have changed the code to no longer attempt to edit     sources.list the changes in 1 would likely be destroyed.  2. added a script that ran *after* 90apt-sources that made similar changes     and made assumption of the state of that file.     Assumptions made about the format of this file may be broken and cause     breakage of such scripts. Lastly, a user could have relied on 90apt-sources to edit their schroots during setup. It seems unlikely to me that a user would have desired this, but the change will no longer modify schroots that were not created by sbuild-launchpad-chroot. Ultimately... it is somewhat unlikely that user-added scripts would have worked with focal or groovy schroots. [Other Info] The change that caused this failure was in the /etc/apt/sources.list file that is present in the launchpad schroot. A summary of how sbuild-launchpad-chroot works. When a build is requested, the following happens:  1. The packagd file /etc/schroot/setup.d/01launchpad-chroot executes. It     will query launchpad for a tarball to use as chroot, and possibly update     the existing one.  2. /etc/schroot/setup.d/90apt-sources executes and updates the     exixting /etc/apt/sources.list inside the chroot. The goal of this is     to enable the requested combination of     suite (release, security, ... ) and     component (main, restricted, universe ...) The existing code is only able to handle a "one line" version of /etc/apt/sources.list, that looks like the following:    deb http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse Focal and groovy chroots now a have a "complete" /etc/apt/sources.list file as you would see in a lxc container or an installed system. The change made was to more fully "own" the writing of /etc/apt/sources.list. The previous code made a large assumption on the format of /etc/apt/sources.list in the chroot, and tried to edit it based on that assumption. When the format of the file changed, its ability to edit the file failed. The new code just declares the settings, which makes it much simpler. The new code is not expected to be "general purpose". In order to avoid breaking other schroot's, it is only enabled if this schroot was set up by launchpad-schroot. -- precise support -- The change upstream also dropped support for *running on* precise. Ability to build for precise should not be changed. -- feature added -- There is one feature added in this patch, now the user can set the mirror that they would like to use by adding a setting:  apt.default.mirror To the /etc/schroot/chroot.d/name For example:   $ grep apt /etc/schroot.d/focal-amd64   apt.enable=true   apt.default.mirror=http://us.archive.ubuntu.com/ubuntu If no value is set there, then code will use the mirror specified in the first 'deb' line of /etc/apt/sources.list. ----- End SRU info ----- At some stage fairly recently my Focal schroots have broken due to the sources.list file that is now included. I will attach this file, however it looks like the standard distro source.list file vs the single liner version I have in my eoan schroots. Reverting to a single liner similar to Eoan fixes this issue. Not sure if this is an issue with this tool or with the downloaded chroot from launchpad changing ProblemType: Bug DistroRelease: Ubuntu 20.04 Package: sbuild-launchpad-chroot 0.16 ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27 Uname: Linux 5.4.0-21-generic x86_64 ApportVersion: 2.20.11-0ubuntu26 Architecture: amd64 CasperMD5CheckResult: skip CurrentDesktop: GNOME Date: Sat Apr 11 15:58:45 2020 InstallationDate: Installed on 2016-05-27 (1414 days ago) InstallationMedia: Ubuntu-GNOME 16.04 LTS "Xenial Xerus" - Release amd64 (20160509) PackageArchitecture: all SourcePackage: sbuild-launchpad-chroot UpgradeStatus: Upgraded to focal on 2019-11-18 (145 days ago)
2020-05-11 16:21:11 Scott Moser description ----- Begin SRU info ----- [Impact] Users of sbuild-launchpad-chroot cannot use chroots created with sbuild-launchpad-chroot with a build-release of focal or groovy. An attempt to do so fails during 'apt-get update' as the /etc/apt/sources.list file that is created is not valid. To recreate failure just try build and usage.   $ sudo apt-get update   $ sudo apt-get install sbuild-launchpad-chroot   $ sudo sbuild-launchpad-chroot create --architecture=amd64 \      --name=focal-amd64 --series=focal Then get a dsc file to build. Any dsc will show the issue, this is only to have a complete example.   $ dget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/cloud-utils/0.31-7-gd99b2d76-0ubuntu1/cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc   $ sbuild --dist=focal --arch=amd64 --arch-all cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc   ...   +------------------------------------------------------------------------------+   | Update chroot |   +------------------------------------------------------------------------------+   E: Type 'main' is not known on line 5 in source list /etc/apt/sources.list   E: The list of sources could not be read.   E: apt-get update failed [Test Case] To test:  * install sbuild-launchpad-chroot.  * Create chroots for bionic (old format) and focal (new format).  * build a package in the chroot. Because the mirror differs between amd64 and other arches, you should also build for a non-amd64 arch. The attached script will do all of the above. I suggest running like:   * manually enable -proposed   * get a .dsc and associated files to build into current working dir.   * ./test-sbuild-launchpad-chroot Note that sbuild likely wont work properly in a container, so the script will exit failure if detected. [Regression Potential] The most likely scenario for regression is in uers with custom scripts in /etc/schroot.d/setup.d that make assumptions about the format of /etc/apt/sources.list. A user could have:  1. added a script that ran *before* 90apt-sources that wrote or edited     the /etc/apt/sources.list to modify a mirror or make other changes.     Since we have changed the code to no longer attempt to edit     sources.list the changes in 1 would likely be destroyed.  2. added a script that ran *after* 90apt-sources that made similar changes     and made assumption of the state of that file.     Assumptions made about the format of this file may be broken and cause     breakage of such scripts. Lastly, a user could have relied on 90apt-sources to edit their schroots during setup. It seems unlikely to me that a user would have desired this, but the change will no longer modify schroots that were not created by sbuild-launchpad-chroot. Ultimately... it is somewhat unlikely that user-added scripts would have worked with focal or groovy schroots. [Other Info] The change that caused this failure was in the /etc/apt/sources.list file that is present in the launchpad schroot. A summary of how sbuild-launchpad-chroot works. When a build is requested, the following happens:  1. The packagd file /etc/schroot/setup.d/01launchpad-chroot executes. It     will query launchpad for a tarball to use as chroot, and possibly update     the existing one.  2. /etc/schroot/setup.d/90apt-sources executes and updates the     exixting /etc/apt/sources.list inside the chroot. The goal of this is     to enable the requested combination of     suite (release, security, ... ) and     component (main, restricted, universe ...) The existing code is only able to handle a "one line" version of /etc/apt/sources.list, that looks like the following:    deb http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse Focal and groovy chroots now a have a "complete" /etc/apt/sources.list file as you would see in a lxc container or an installed system. The change made was to more fully "own" the writing of /etc/apt/sources.list. The previous code made a large assumption on the format of /etc/apt/sources.list in the chroot, and tried to edit it based on that assumption. When the format of the file changed, its ability to edit the file failed. The new code just declares the settings, which makes it much simpler. The new code is not expected to be "general purpose". In order to avoid breaking other schroot's, it is only enabled if this schroot was set up by launchpad-schroot. -- precise support -- The change upstream also dropped support for *running on* precise. Ability to build for precise should not be changed. -- feature added -- There is one feature added in this patch, now the user can set the mirror that they would like to use by adding a setting:  apt.default.mirror To the /etc/schroot/chroot.d/name For example:   $ grep apt /etc/schroot.d/focal-amd64   apt.enable=true   apt.default.mirror=http://us.archive.ubuntu.com/ubuntu If no value is set there, then code will use the mirror specified in the first 'deb' line of /etc/apt/sources.list. ----- End SRU info ----- At some stage fairly recently my Focal schroots have broken due to the sources.list file that is now included. I will attach this file, however it looks like the standard distro source.list file vs the single liner version I have in my eoan schroots. Reverting to a single liner similar to Eoan fixes this issue. Not sure if this is an issue with this tool or with the downloaded chroot from launchpad changing ProblemType: Bug DistroRelease: Ubuntu 20.04 Package: sbuild-launchpad-chroot 0.16 ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27 Uname: Linux 5.4.0-21-generic x86_64 ApportVersion: 2.20.11-0ubuntu26 Architecture: amd64 CasperMD5CheckResult: skip CurrentDesktop: GNOME Date: Sat Apr 11 15:58:45 2020 InstallationDate: Installed on 2016-05-27 (1414 days ago) InstallationMedia: Ubuntu-GNOME 16.04 LTS "Xenial Xerus" - Release amd64 (20160509) PackageArchitecture: all SourcePackage: sbuild-launchpad-chroot UpgradeStatus: Upgraded to focal on 2019-11-18 (145 days ago) ----- Begin SRU info ----- [Impact] Users of sbuild-launchpad-chroot cannot use chroots created with sbuild-launchpad-chroot with a build-release of focal or groovy. An attempt to do so fails during 'apt-get update' as the /etc/apt/sources.list file that is created is not valid. To recreate failure just try build and usage.   $ sudo apt-get update   $ sudo apt-get install sbuild-launchpad-chroot   $ sudo sbuild-launchpad-chroot create --architecture=amd64 \      --name=focal-amd64 --series=focal Then get a dsc file to build. Any dsc will show the issue, this is only to have a complete example.   $ dget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/cloud-utils/0.31-7-gd99b2d76-0ubuntu1/cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc   $ sbuild --dist=focal --arch=amd64 --arch-all cloud-utils_0.31-7-gd99b2d76-0ubuntu1.dsc   ...   +------------------------------------------------------------------------------+   | Update chroot |   +------------------------------------------------------------------------------+   E: Type 'main' is not known on line 5 in source list /etc/apt/sources.list   E: The list of sources could not be read.   E: apt-get update failed [Test Case] To test:  * install sbuild-launchpad-chroot.  * Create chroots for bionic (old format) and focal (new format).  * build a package in the chroot. Because the mirror differs between amd64 and other arches, you should also build for a non-amd64 arch. The attached script will do all of the above. I suggest running like:   * manually enable -proposed   * get a .dsc and associated files to build into current working dir.   * ./test-sbuild-launchpad-chroot Note that sbuild likely wont work properly in a container, so the script will exit failure if detected. [Regression Potential] The most likely scenario for regression is in uers with custom scripts in /etc/schroot.d/setup.d that make assumptions about the format of /etc/apt/sources.list. A user could have:  1. added a script that ran *before* 90apt-sources that wrote or edited     the /etc/apt/sources.list to modify a mirror or make other changes.     Since we have changed the code to no longer attempt to edit     sources.list the changes in 1 would likely be destroyed.  2. added a script that ran *after* 90apt-sources that made similar changes     and made assumption of the state of that file.     Assumptions made about the format of this file may be broken and cause     breakage of such scripts. Lastly, a user could have relied on 90apt-sources to edit /etc/apt/sources.list of schroots that were not created by sbuild-launchpad-schroot. It seems unlikely to me that a user would have desired this, but the change will no longer modify those schroots at all. That is generally a safer/focused behavior. sbuild-launchpad-chroot will now only modify schroots that it created (determined by presense of launchpad.series in the schroot config). Ultimately... it is somewhat unlikely that user-added scripts would have worked with focal or groovy schroots. [Other Info] The change that caused this failure was in the /etc/apt/sources.list file that is present in the launchpad schroot. A summary of how sbuild-launchpad-chroot works. When a build is requested, the following happens:  1. The packagd file /etc/schroot/setup.d/01launchpad-chroot executes. It     will query launchpad for a tarball to use as chroot, and possibly update     the existing one.  2. /etc/schroot/setup.d/90apt-sources executes and updates the     exixting /etc/apt/sources.list inside the chroot. The goal of this is     to enable the requested combination of     suite (release, security, ... ) and     component (main, restricted, universe ...) The existing code is only able to handle a "one line" version of /etc/apt/sources.list, that looks like the following:    deb http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse Focal and groovy chroots now a have a "complete" /etc/apt/sources.list file as you would see in a lxc container or an installed system. The change made was to more fully "own" the writing of /etc/apt/sources.list. The previous code made a large assumption on the format of /etc/apt/sources.list in the chroot, and tried to edit it based on that assumption. When the format of the file changed, its ability to edit the file failed. The new code just declares the settings, which makes it much simpler. The new code is not expected to be "general purpose". In order to avoid breaking other schroot's, it is only enabled if this schroot was set up by launchpad-schroot. -- precise support -- The change upstream also dropped support for *running on* precise. Ability to build for precise should not be changed. -- feature added -- There is one feature added in this patch, now the user can set the mirror that they would like to use by adding a setting:  apt.default.mirror To the /etc/schroot/chroot.d/name For example:   $ grep apt /etc/schroot.d/focal-amd64   apt.enable=true   apt.default.mirror=http://us.archive.ubuntu.com/ubuntu If no value is set there, then code will use the mirror specified in the first 'deb' line of /etc/apt/sources.list. ----- End SRU info ----- At some stage fairly recently my Focal schroots have broken due to the sources.list file that is now included. I will attach this file, however it looks like the standard distro source.list file vs the single liner version I have in my eoan schroots. Reverting to a single liner similar to Eoan fixes this issue. Not sure if this is an issue with this tool or with the downloaded chroot from launchpad changing ProblemType: Bug DistroRelease: Ubuntu 20.04 Package: sbuild-launchpad-chroot 0.16 ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27 Uname: Linux 5.4.0-21-generic x86_64 ApportVersion: 2.20.11-0ubuntu26 Architecture: amd64 CasperMD5CheckResult: skip CurrentDesktop: GNOME Date: Sat Apr 11 15:58:45 2020 InstallationDate: Installed on 2016-05-27 (1414 days ago) InstallationMedia: Ubuntu-GNOME 16.04 LTS "Xenial Xerus" - Release amd64 (20160509) PackageArchitecture: all SourcePackage: sbuild-launchpad-chroot UpgradeStatus: Upgraded to focal on 2019-11-18 (145 days ago)
2020-05-13 05:09:52 Christian Ehrhardt  sbuild-launchpad-chroot (Ubuntu Focal): importance Undecided High
2020-05-19 21:12:37 Brian Murray sbuild-launchpad-chroot (Ubuntu Focal): status Confirmed Fix Committed
2020-05-19 21:12:39 Brian Murray bug added subscriber Ubuntu Stable Release Updates Team
2020-05-19 21:12:42 Brian Murray bug added subscriber SRU Verification
2020-05-19 21:12:48 Brian Murray tags amd64 apport-bug focal patch amd64 apport-bug focal patch verification-needed verification-needed-focal
2020-05-19 21:15:25 Brian Murray sbuild-launchpad-chroot (Ubuntu Eoan): status Confirmed Fix Committed
2020-05-19 21:15:36 Brian Murray tags amd64 apport-bug focal patch verification-needed verification-needed-focal amd64 apport-bug focal patch verification-needed verification-needed-eoan verification-needed-focal
2020-05-19 21:17:54 Brian Murray sbuild-launchpad-chroot (Ubuntu Bionic): status Confirmed Fix Committed
2020-05-19 21:18:02 Brian Murray tags amd64 apport-bug focal patch verification-needed verification-needed-eoan verification-needed-focal amd64 apport-bug focal patch verification-needed verification-needed-bionic verification-needed-eoan verification-needed-focal
2020-08-18 15:33:06 Łukasz Zemczak tags amd64 apport-bug focal patch verification-needed verification-needed-bionic verification-needed-eoan verification-needed-focal amd64 apport-bug focal patch verification-needed verification-needed-bionic verification-needed-focal
2020-08-18 15:33:10 Łukasz Zemczak sbuild-launchpad-chroot (Ubuntu Eoan): status Fix Committed Won't Fix
2020-08-18 16:42:45 Scott Moser tags amd64 apport-bug focal patch verification-needed verification-needed-bionic verification-needed-focal amd64 apport-bug focal patch verification-done-focal verification-needed verification-needed-bionic
2020-08-18 16:52:52 Scott Moser attachment added updated test - adds user, not root to sbuild https://bugs.launchpad.net/ubuntu/+source/sbuild-launchpad-chroot/+bug/1872163/+attachment/5402546/+files/test-sbuild-launchpad-chroot
2020-08-18 16:56:37 Scott Moser attachment added verification log of focal https://bugs.launchpad.net/ubuntu/+source/sbuild-launchpad-chroot/+bug/1872163/+attachment/5402547/+files/verify-focal.log.gz
2020-08-20 09:00:27 Łukasz Zemczak removed subscriber Ubuntu Stable Release Updates Team
2020-08-20 09:00:31 Launchpad Janitor sbuild-launchpad-chroot (Ubuntu Focal): status Fix Committed Fix Released
2020-09-08 18:08:15 Brian Murray sbuild-launchpad-chroot (Ubuntu Bionic): status Fix Committed Won't Fix
2021-01-21 16:47:15 Launchpad Janitor sbuild-launchpad-chroot (Ubuntu Bionic): status Won't Fix Fix Released