From 786253c4ded699ec5217b3f06a84a7d12b324c76 Mon Sep 17 00:00:00 2001 From: Jeffrey Clark Date: Mon, 4 Dec 2023 10:59:37 -0600 Subject: [PATCH 1/3] (PA-5550) add debian 12 x86_64 platform --- configs/platforms/debian-12-amd64.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 configs/platforms/debian-12-amd64.rb diff --git a/configs/platforms/debian-12-amd64.rb b/configs/platforms/debian-12-amd64.rb new file mode 100644 index 000000000..f0ed30db4 --- /dev/null +++ b/configs/platforms/debian-12-amd64.rb @@ -0,0 +1,21 @@ +platform "debian-12-amd64" do |plat| + plat.inherit_from_default + packages = [ + 'build-essential', + 'cmake', + 'debhelper', + 'devscripts', + 'fakeroot', + 'libbz2-dev', + 'libreadline-dev', + 'libselinux1-dev', + 'make', + 'pkg-config', + 'quilt', + 'rsync', + 'swig', + 'systemtap-sdt-dev', + 'zlib1g-dev' + ] + plat.provision_with "export DEBIAN_FRONTEND=noninteractive; apt-get update -qq; apt-get install -qy --no-install-recommends #{packages.join(' ')}" +end From a24f37ac9466709469b44c7aa19624a5cab5ff3a Mon Sep 17 00:00:00 2001 From: Jeffrey Clark Date: Mon, 4 Dec 2023 11:33:07 -0600 Subject: [PATCH 2/3] (PA-5550) debian 12 libselinux minimum is version 3.4 python distutils required to build libselinux 3.4 --- configs/components/_base-ruby-selinux.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/configs/components/_base-ruby-selinux.rb b/configs/components/_base-ruby-selinux.rb index a87d686ed..bcf737002 100644 --- a/configs/components/_base-ruby-selinux.rb +++ b/configs/components/_base-ruby-selinux.rb @@ -21,6 +21,12 @@ pkg.version '3.3' pkg.sha256sum 'acfdee27633d2496508c28727c3d41d3748076f66d42fccde2e6b9f3463a7057' pkg.url "https://github.com/SELinuxProject/selinux/releases/download/#{pkg.get_version}/libselinux-#{pkg.get_version}.tar.gz" +elsif platform.name.start_with?('debian-12') + # SELinux 3.4 is the minimum version available in Debian 12 repos + pkg.version '3.4' + pkg.sha256sum '77c294a927e6795c2e98f74b5c3adde9c8839690e9255b767c5fca6acff9b779' + pkg.url "https://github.com/SELinuxProject/selinux/releases/download/#{pkg.get_version}/libselinux-#{pkg.get_version}.tar.gz" + pkg.build_requires 'python3-distutils' else pkg.version "2.9" pkg.md5sum "bb449431b6ed55a0a0496dbc366d6e31" From ddea154be3623d481082a0f24c0aa2b0220cb236 Mon Sep 17 00:00:00 2001 From: Jeffrey Clark Date: Mon, 4 Dec 2023 16:37:57 -0600 Subject: [PATCH 3/3] (PA-5550) swig 4.1 generated interface does not need patched --- configs/components/_base-ruby-selinux.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/configs/components/_base-ruby-selinux.rb b/configs/components/_base-ruby-selinux.rb index bcf737002..764c755e2 100644 --- a/configs/components/_base-ruby-selinux.rb +++ b/configs/components/_base-ruby-selinux.rb @@ -71,7 +71,10 @@ ] if ruby_version =~ /^3/ - steps << "#{platform.patch} --strip=0 --fuzz=0 --ignore-whitespace --no-backup-if-mismatch < ../selinuxswig_ruby_wrap.patch" + # swig 4.1 generated interface does not need patching + unless platform.name =~ /debian-12/ + steps << "#{platform.patch} --strip=0 --fuzz=0 --ignore-whitespace --no-backup-if-mismatch < ../selinuxswig_ruby_wrap.patch" + end end # libselinux 3.3 is the minimum version we want to build on RHEL 9, but the