Bug#914247: Please move library to /usr/lib

2024-01-14 Thread Chris Hofstaedtler
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

2023-11-14 Thread Helmut Grohne
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

2021-11-18 Thread Simon McVittie
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

2018-11-20 Thread Michael Biebl
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