Bug#914247: Please move library to /usr/lib
Hi Laurent, On Tue, Nov 14, 2023 at 10:21:58AM +0100, Helmut Grohne wrote: [..] > In the long term, I recommend Michael's patch. I've updated Michael's patch and pushed it to salsa: https://salsa.debian.org/selinux-team/libselinux/-/merge_requests/8 Best, Chris
Bug#914247: Please move library to /usr/lib
Control: user heml...@debian.org Control: usertags -1 + dep17m2 On Thu, Nov 18, 2021 at 04:56:31PM +, Simon McVittie wrote: > Control: tags -1 + trixie > > On Tue, 20 Nov 2018 at 22:38:21 +0100, Michael Biebl wrote: > > since late-mounted /usr is no longer supported, the artifical split > > between /lib and /usr/lib no longer is really useful. > > Therefor please consider moving the libraries to /usr/lib. > > As per https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=994388#110 please > don't make this change at the moment: there's a risk of it disrupting > the transition to merged-/usr. Thanks for having waited. The moratorium has since been delegated to https://wiki.debian.org/UsrMerge and we now allow some moving. Since libselinux1 is part of the pseudo-essential set, we must be very careful. https://subdivi.de/~helmut/dep17.html gives details on possible problems. For the libselinux source package, there is fortunately just one affected file in one affected package. Since libselinux1 is Multi-Arch: same, we must pay attention to DEP17 P7, but since the library is on a multiarch path this does not apply. We also must pay attention to DEP17 P1, this poses a real risk to the 2038 transition, because it might rename the library package to libselinux1t64 while keeping the name. According to https://wiki.debian.org/ReleaseGoals/64bit-time, libselinux is not in the not-affected list. Therefore, please upload the time64 change to experimental and have it wait there for at least three days. Very likely, this will have to be mitigated. Since we cannot use Conflicts between essential packages (DEP17 M7), we must use protective diversions (DEP17 M8). Please get in touch with me at that time. Since there also is a udeb package, we must be careful to not break the debian-installer (DEP17 P10), but the library search path includes /usr/lib/$multiarch even on unmerged systems. Finally, we must be careful about filesystem bootstrap (DEP17 P8). I locally verified this aspect. Therefore, I think we really are careful enough now and can move ahead. You have two options to implement this. In the long term, I recommend Michael's patch. If there is a risk of backporting libselinux to bookworm, I recommend using dh_movetousr instead, because it automatically moves libselinux1 back below /lib in the event of a backport. In any case, please go ahead with this and keep this in mind when doing the time64 upload (regardless of which patch you use). Helmut diff --minimal -Nru libselinux-3.5/debian/changelog libselinux-3.5/debian/changelog --- libselinux-3.5/debian/changelog 2023-07-09 23:50:22.0 +0200 +++ libselinux-3.5/debian/changelog 2023-11-14 09:33:40.0 +0100 @@ -1,3 +1,10 @@ +libselinux (3.5-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Move libselinux.so.1 to /usr. (Closes: #-1) + + -- Helmut Grohne Tue, 14 Nov 2023 09:33:40 +0100 + libselinux (3.5-1) unstable; urgency=medium [ Laurent Bigonville ] diff --minimal -Nru libselinux-3.5/debian/control libselinux-3.5/debian/control --- libselinux-3.5/debian/control 2023-07-09 23:50:22.0 +0200 +++ libselinux-3.5/debian/control 2023-11-14 09:33:37.0 +0100 @@ -8,6 +8,7 @@ Russell Coker Standards-Version: 4.6.2 Build-Depends: debhelper-compat (= 13), + dh-sequence-movetousr, dh-sequence-python3 , dh-sequence-ruby , file,
Bug#914247: Please move library to /usr/lib
Control: tags -1 + trixie On Tue, 20 Nov 2018 at 22:38:21 +0100, Michael Biebl wrote: > since late-mounted /usr is no longer supported, the artifical split > between /lib and /usr/lib no longer is really useful. > Therefor please consider moving the libraries to /usr/lib. As per https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=994388#110 please don't make this change at the moment: there's a risk of it disrupting the transition to merged-/usr. Thanks, smcv
Bug#914247: Please move library to /usr/lib
Source: libselinux Version: 2.8-1+b1 Severity: normal Tags: patch Hi, since late-mounted /usr is no longer supported, the artifical split between /lib and /usr/lib no longer is really useful. Therefor please consider moving the libraries to /usr/lib. The attached (build tested) patch should do that. Regards, Michael -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (500, 'unstable'), (200, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.18.0-2-amd64 (SMP w/4 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled diff -Nru libselinux-2.8/debian/changelog libselinux-2.8/debian/changelog --- libselinux-2.8/debian/changelog 2018-05-28 20:50:31.0 +0200 +++ libselinux-2.8/debian/changelog 2018-11-20 22:29:39.0 +0100 @@ -1,3 +1,10 @@ +libselinux (2.8-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Move libselinux to /usr/lib. + + -- Michael Biebl Tue, 20 Nov 2018 22:29:39 +0100 + libselinux (2.8-1) unstable; urgency=medium * New upstream release diff -Nru libselinux-2.8/debian/libselinux1.install libselinux-2.8/debian/libselinux1.install --- libselinux-2.8/debian/libselinux1.install 2018-05-28 20:50:31.0 +0200 +++ libselinux-2.8/debian/libselinux1.install 2018-11-20 22:27:22.0 +0100 @@ -1 +1 @@ -lib/*/*.so* +usr/lib/*/*.so* diff -Nru libselinux-2.8/debian/libselinux1-udeb.install libselinux-2.8/debian/libselinux1-udeb.install --- libselinux-2.8/debian/libselinux1-udeb.install 2018-05-28 20:50:31.0 +0200 +++ libselinux-2.8/debian/libselinux1-udeb.install 2018-11-20 22:27:28.0 +0100 @@ -1 +1 @@ -lib/*/*.so* /lib +usr/lib/*/*.so* diff -Nru libselinux-2.8/debian/rules libselinux-2.8/debian/rules --- libselinux-2.8/debian/rules 2018-05-28 20:50:31.0 +0200 +++ libselinux-2.8/debian/rules 2018-11-20 22:28:32.0 +0100 @@ -60,8 +60,7 @@ DESTDIR = $(CURDIR)/debian/tmp base_extra_install_args = $(extra_make_args) base_extra_install_args += DESTDIR=$(DESTDIR) -extra_install_args = $(base_extra_install_args) LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) -extra_install_args += SHLIBDIR=/lib/$(DEB_HOST_MULTIARCH) +extra_install_args = $(base_extra_install_args) LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) SHLIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) python_extra_install_args = $(base_extra_install_args) LIBDIR=/usr/lib override_dh_auto_install: FORCE diff -Nru libselinux-2.8/debian/changelog libselinux-2.8/debian/changelog --- libselinux-2.8/debian/changelog 2018-05-28 20:50:31.0 +0200 +++ libselinux-2.8/debian/changelog 2018-11-20 22:29:39.0 +0100 @@ -1,3 +1,10 @@ +libselinux (2.8-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Move libselinux to /usr/lib. + + -- Michael Biebl Tue, 20 Nov 2018 22:29:39 +0100 + libselinux (2.8-1) unstable; urgency=medium * New upstream release diff -Nru libselinux-2.8/debian/libselinux1.install libselinux-2.8/debian/libselinux1.install --- libselinux-2.8/debian/libselinux1.install 2018-05-28 20:50:31.0 +0200 +++ libselinux-2.8/debian/libselinux1.install 2018-11-20 22:27:22.0 +0100 @@ -1 +1 @@ -lib/*/*.so* +usr/lib/*/*.so* diff -Nru libselinux-2.8/debian/libselinux1-udeb.install libselinux-2.8/debian/libselinux1-udeb.install --- libselinux-2.8/debian/libselinux1-udeb.install 2018-05-28 20:50:31.0 +0200 +++ libselinux-2.8/debian/libselinux1-udeb.install 2018-11-20 22:27:28.0 +0100 @@ -1 +1 @@ -lib/*/*.so* /lib +usr/lib/*/*.so* diff -Nru libselinux-2.8/debian/rules libselinux-2.8/debian/rules --- libselinux-2.8/debian/rules 2018-05-28 20:50:31.0 +0200 +++ libselinux-2.8/debian/rules 2018-11-20 22:28:32.0 +0100 @@ -60,8 +60,7 @@ DESTDIR = $(CURDIR)/debian/tmp base_extra_install_args = $(extra_make_args) base_extra_install_args += DESTDIR=$(DESTDIR) -extra_install_args = $(base_extra_install_args) LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) -extra_install_args += SHLIBDIR=/lib/$(DEB_HOST_MULTIARCH) +extra_install_args = $(base_extra_install_args) LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) SHLIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) python_extra_install_args = $(base_extra_install_args) LIBDIR=/usr/lib override_dh_auto_install: FORCE