** Description changed: + [SRU Justification] + The mk-sbuild command fails to completely set up its schroot environment if /etc/localtime is a symlink, due to wrong 'cp' options. Since /etc/localtime is a symlink /by default/, this makes the tool unusable for most users in xenial. + + [Test case] + 1. Verify that /etc/localtime is a symlink on your system. + 2. Install ubuntu-dev-tools. + 3. Run 'mk-sbuild yakkety'. When prompted to edit ~/.sbuildrc, you can accept the defaults. + 4. Run 'sg sbuild' to make sure you are in the 'sbuild' group in case this is newly added. + 5. Run 'mk-sbuild yakkety' again. Verify that the command output ends with the line: + cp: '/etc/localtime' and '/var/lib/schroot/chroots/yakkety-amd64/etc/localtime' are the same file. + 6. Run 'echo $?' to verify that the return value of mk-sbuild is 1. + 7. Install ubuntu-dev-tools from xenial-proposed. + 8. Run 'sudo rm -rf /var/lib/schroot/chroots/yakkety-amd64' to remove the incompletely-bootstrapped directory from the previous attempt. + 9. Run 'mk-sbuild yakkety' again. Confirm that the command exits 0. + 10. Confirm that 'schroot -l' shows the yakkety-amd64 chroot. + On my system, /etc/localtime points to Etc/UTC. When I run mk-sbuild, it fails as follows: I: Base system installed successfully. cp: '/etc/localtime' and '/var/lib/schroot/chroots/xenial-amd64/etc/localtime' are the same file rbasak@diglett:~$ stat /etc/localtime - File: '/etc/localtime' -> '/usr/share/zoneinfo/Etc/UTC' - Size: 27 Blocks: 0 IO Block: 4096 symbolic link + File: '/etc/localtime' -> '/usr/share/zoneinfo/Etc/UTC' + Size: 27 Blocks: 0 IO Block: 4096 symbolic link Device: fa00h/64000d Inode: 24904635 Links: 1 Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-04-12 14:34:01.913544692 +0000 Modify: 2016-04-09 14:16:56.000000000 +0000 Change: 2016-04-11 14:33:38.788003973 +0000 - Birth: - + Birth: - rbasak@diglett:~$ stat /var/lib/schroot/chroots/xenial-amd64/etc/localtime - File: '/var/lib/schroot/chroots/xenial-amd64/etc/localtime' -> '/usr/share/zoneinfo/Etc/UTC' - Size: 27 Blocks: 0 IO Block: 4096 symbolic link + File: '/var/lib/schroot/chroots/xenial-amd64/etc/localtime' -> '/usr/share/zoneinfo/Etc/UTC' + Size: 27 Blocks: 0 IO Block: 4096 symbolic link Device: fa00h/64000d Inode: 25958842 Links: 1 Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-04-12 14:39:39.042359630 +0000 Modify: 2016-04-12 14:39:39.038359620 +0000 Change: 2016-04-12 14:39:39.038359620 +0000 - Birth: - + Birth: - rbasak@diglett:~$ ProblemType: Bug DistroRelease: Ubuntu 16.04 Package: ubuntu-dev-tools 0.155 [modified: usr/bin/mk-sbuild] ProcVersionSignature: Ubuntu 4.4.0-18.34-generic 4.4.6 Uname: Linux 4.4.0-18-generic x86_64 NonfreeKernelModules: zfs zunicode zcommon znvpair zavl ApportVersion: 2.20.1-0ubuntu1 Architecture: amd64 Date: Tue Apr 12 14:52:21 2016 JournalErrors: - Error: command ['journalctl', '-b', '--priority=warning', '--lines=1000'] failed with exit code 1: Hint: You are currently not seeing messages from other users and the system. - Users in the 'systemd-journal' group can see all messages. Pass -q to - turn off this notice. - No journal files were opened due to insufficient permissions. + Error: command ['journalctl', '-b', '--priority=warning', '--lines=1000'] failed with exit code 1: Hint: You are currently not seeing messages from other users and the system. + Users in the 'systemd-journal' group can see all messages. Pass -q to + turn off this notice. + No journal files were opened due to insufficient permissions. PackageArchitecture: all SourcePackage: ubuntu-dev-tools UpgradeStatus: No upgrade log present (probably fresh install)
** Description changed: [SRU Justification] - The mk-sbuild command fails to completely set up its schroot environment if /etc/localtime is a symlink, due to wrong 'cp' options. Since /etc/localtime is a symlink /by default/, this makes the tool unusable for most users in xenial. + The mk-sbuild command fails to completely set up its schroot environment if /etc/localtime is a symlink to the default timezone file (Etc/UTC), due to wrong 'cp' options. This makes the tool unusable in xenial on systems with a default config. It also causes the tool to do the wrong thing on systems with a user-configured timezone, as the Etc/UTC file within the chroot environment will be overwritten by the host system's zone file, rather than changing the *target* of the /etc/localtime symlink. [Test case] - 1. Verify that /etc/localtime is a symlink on your system. + 1. Verify that /etc/localtime is a symlink to /usr/share/zoneinfo/Etc/UTC on your system. 2. Install ubuntu-dev-tools. 3. Run 'mk-sbuild yakkety'. When prompted to edit ~/.sbuildrc, you can accept the defaults. 4. Run 'sg sbuild' to make sure you are in the 'sbuild' group in case this is newly added. 5. Run 'mk-sbuild yakkety' again. Verify that the command output ends with the line: cp: '/etc/localtime' and '/var/lib/schroot/chroots/yakkety-amd64/etc/localtime' are the same file. 6. Run 'echo $?' to verify that the return value of mk-sbuild is 1. 7. Install ubuntu-dev-tools from xenial-proposed. 8. Run 'sudo rm -rf /var/lib/schroot/chroots/yakkety-amd64' to remove the incompletely-bootstrapped directory from the previous attempt. 9. Run 'mk-sbuild yakkety' again. Confirm that the command exits 0. 10. Confirm that 'schroot -l' shows the yakkety-amd64 chroot. - On my system, /etc/localtime points to Etc/UTC. When I run mk-sbuild, it - fails as follows: + [Regression potential] + Minimal. We don't want to dereference /etc/localtime when copying it into the target environment; this never DTRT and often fails altogether. The fix for this is small and targeted. + + + On my system, /etc/localtime points to Etc/UTC. When I run mk-sbuild, it fails as follows: I: Base system installed successfully. cp: '/etc/localtime' and '/var/lib/schroot/chroots/xenial-amd64/etc/localtime' are the same file rbasak@diglett:~$ stat /etc/localtime File: '/etc/localtime' -> '/usr/share/zoneinfo/Etc/UTC' Size: 27 Blocks: 0 IO Block: 4096 symbolic link Device: fa00h/64000d Inode: 24904635 Links: 1 Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-04-12 14:34:01.913544692 +0000 Modify: 2016-04-09 14:16:56.000000000 +0000 Change: 2016-04-11 14:33:38.788003973 +0000 Birth: - rbasak@diglett:~$ stat /var/lib/schroot/chroots/xenial-amd64/etc/localtime File: '/var/lib/schroot/chroots/xenial-amd64/etc/localtime' -> '/usr/share/zoneinfo/Etc/UTC' Size: 27 Blocks: 0 IO Block: 4096 symbolic link Device: fa00h/64000d Inode: 25958842 Links: 1 Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-04-12 14:39:39.042359630 +0000 Modify: 2016-04-12 14:39:39.038359620 +0000 Change: 2016-04-12 14:39:39.038359620 +0000 Birth: - rbasak@diglett:~$ ProblemType: Bug DistroRelease: Ubuntu 16.04 Package: ubuntu-dev-tools 0.155 [modified: usr/bin/mk-sbuild] ProcVersionSignature: Ubuntu 4.4.0-18.34-generic 4.4.6 Uname: Linux 4.4.0-18-generic x86_64 NonfreeKernelModules: zfs zunicode zcommon znvpair zavl ApportVersion: 2.20.1-0ubuntu1 Architecture: amd64 Date: Tue Apr 12 14:52:21 2016 JournalErrors: Error: command ['journalctl', '-b', '--priority=warning', '--lines=1000'] failed with exit code 1: Hint: You are currently not seeing messages from other users and the system. Users in the 'systemd-journal' group can see all messages. Pass -q to turn off this notice. No journal files were opened due to insufficient permissions. PackageArchitecture: all SourcePackage: ubuntu-dev-tools UpgradeStatus: No upgrade log present (probably fresh install) -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1569400 Title: mk-sbuild fails with cp: /etc/localtime... are the same file To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ubuntu-dev-tools/+bug/1569400/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
