** 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

Reply via email to