** Description changed: - Currently, in Ubuntu 16.04, the package libnvpair1linux puts - libnvpair.so.1 in /usr/lib/, however, tools like zpool and zfs which are - installed in /sbin/ need this library. According to the FHS this means - the required libraries should be in /lib/ in order to allow the user to - install /usr/ on a separate partition that is not immediately available - after boot. + [SRU JUSTIFICATION XENIAL] + + + Currently, in Ubuntu 16.04, the package libnvpair1linux puts libnvpair.so.1 in /usr/lib/, however, tools like zpool and zfs which are installed in /sbin/ need this library. According to the FHS this means the required libraries should be in /lib/ in order to allow the user to install /usr/ on a separate partition that is not immediately available after boot. This turns out to be a problem indeed. On one of my systems I had /usr/ on a ZFS filesystem (and /, /lib/, /sbin/, /bin/ on a separate ext4 partition). However, the system failed to boot: it hung while mounting the ZFS partitions which failed because zpool import didn't work as it couldn't find libnvpair.so.1. - $ apt-cache policy libnvpair1linux + $ apt-cache policy libnvpair1linux libnvpair1linux: - Installed: 0.6.5.6-0ubuntu9 - Candidate: 0.6.5.6-0ubuntu9 - Version table: - *** 0.6.5.6-0ubuntu9 500 - 500 http://nl.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages - 100 /var/lib/dpkg/status - 0.6.5.6-0ubuntu8 500 - 500 http://nl.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages + Installed: 0.6.5.6-0ubuntu9 + Candidate: 0.6.5.6-0ubuntu9 + Version table: + *** 0.6.5.6-0ubuntu9 500 + 500 http://nl.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages + 100 /var/lib/dpkg/status + 0.6.5.6-0ubuntu8 500 + 500 http://nl.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages $ apt-cache policy zfsutils-linux zfsutils-linux: - Installed: 0.6.5.6-0ubuntu9 - Candidate: 0.6.5.6-0ubuntu9 - Version table: - *** 0.6.5.6-0ubuntu9 500 - 500 http://nl.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages - 100 /var/lib/dpkg/status - 0.6.5.6-0ubuntu8 500 - 500 http://nl.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages + Installed: 0.6.5.6-0ubuntu9 + Candidate: 0.6.5.6-0ubuntu9 + Version table: + *** 0.6.5.6-0ubuntu9 500 + 500 http://nl.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages + 100 /var/lib/dpkg/status + 0.6.5.6-0ubuntu8 500 + 500 http://nl.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages + + [FIX] + Correctly set path by modifying the debian install files for the specific libraries to match the correct settings found in releases after Xenial. + + [TEST] + The path /usr/lib/ should no longer be populated with zfs libraries and instead they are located after the fix in /lib as expected. + + [REGRESSION POTENTIAL] + There could be other applications that are relying on the location of the libraries and so moving them could break these. However, they should not be using hard coded paths, so this regression is limited to badly coded applications that I am not aware of. + + The fix upgrade has been tested and double check with the ubuntu kernel + team ZFS regression tests without issue. + + + -------------
** Changed in: zfs-linux (Ubuntu Xenial) Status: Triaged => In Progress -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to zfs-linux in Ubuntu. https://bugs.launchpad.net/bugs/1596835 Title: libnvpair.so.1 should be in /lib/, not /usr/lib/ Status in zfs-linux package in Ubuntu: Fix Released Status in zfs-linux source package in Xenial: In Progress Status in zfs-linux source package in Zesty: Fix Released Status in zfs-linux source package in Artful: Fix Released Bug description: [SRU JUSTIFICATION XENIAL] Currently, in Ubuntu 16.04, the package libnvpair1linux puts libnvpair.so.1 in /usr/lib/, however, tools like zpool and zfs which are installed in /sbin/ need this library. According to the FHS this means the required libraries should be in /lib/ in order to allow the user to install /usr/ on a separate partition that is not immediately available after boot. This turns out to be a problem indeed. On one of my systems I had /usr/ on a ZFS filesystem (and /, /lib/, /sbin/, /bin/ on a separate ext4 partition). However, the system failed to boot: it hung while mounting the ZFS partitions which failed because zpool import didn't work as it couldn't find libnvpair.so.1. $ apt-cache policy libnvpair1linux libnvpair1linux: Installed: 0.6.5.6-0ubuntu9 Candidate: 0.6.5.6-0ubuntu9 Version table: *** 0.6.5.6-0ubuntu9 500 500 http://nl.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages 100 /var/lib/dpkg/status 0.6.5.6-0ubuntu8 500 500 http://nl.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages $ apt-cache policy zfsutils-linux zfsutils-linux: Installed: 0.6.5.6-0ubuntu9 Candidate: 0.6.5.6-0ubuntu9 Version table: *** 0.6.5.6-0ubuntu9 500 500 http://nl.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages 100 /var/lib/dpkg/status 0.6.5.6-0ubuntu8 500 500 http://nl.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [FIX] Correctly set path by modifying the debian install files for the specific libraries to match the correct settings found in releases after Xenial. [TEST] The path /usr/lib/ should no longer be populated with zfs libraries and instead they are located after the fix in /lib as expected. [REGRESSION POTENTIAL] There could be other applications that are relying on the location of the libraries and so moving them could break these. However, they should not be using hard coded paths, so this regression is limited to badly coded applications that I am not aware of. The fix upgrade has been tested and double check with the ubuntu kernel team ZFS regression tests without issue. ------------- To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1596835/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp