From 6dfa30592fb18c51364942b23f7fbbf597a59b03 Mon Sep 17 00:00:00 2001 From: "Satadru Pramanik, DO, MPH, MEng" Date: Thu, 18 Sep 2025 18:35:54 -0400 Subject: [PATCH] Rebuild sudo_rs, add back updated linux_pam. (#12844) Signed-off-by: Satadru Pramanik --- manifest/armv7l/s/sudo_rs.filelist | 2 +- manifest/i686/s/sudo_rs.filelist | 2 +- manifest/x86_64/s/sudo_rs.filelist | 2 +- packages/linux_pam.rb | 46 ++++++++++++++++-------------- packages/sudo_rs.rb | 12 ++++---- 5 files changed, 34 insertions(+), 30 deletions(-) diff --git a/manifest/armv7l/s/sudo_rs.filelist b/manifest/armv7l/s/sudo_rs.filelist index 8eda2fe73..beba6ff18 100644 --- a/manifest/armv7l/s/sudo_rs.filelist +++ b/manifest/armv7l/s/sudo_rs.filelist @@ -1,4 +1,4 @@ -# Total size: 2170684 +# Total size: 2170444 /usr/local/bin/su /usr/local/bin/sudo /usr/local/bin/visudo diff --git a/manifest/i686/s/sudo_rs.filelist b/manifest/i686/s/sudo_rs.filelist index fae6bf22a..30dd05c54 100644 --- a/manifest/i686/s/sudo_rs.filelist +++ b/manifest/i686/s/sudo_rs.filelist @@ -1,4 +1,4 @@ -# Total size: 2455104 +# Total size: 2455136 /usr/local/bin/su /usr/local/bin/sudo /usr/local/bin/visudo diff --git a/manifest/x86_64/s/sudo_rs.filelist b/manifest/x86_64/s/sudo_rs.filelist index f1e1fcc5b..bcefa26ff 100644 --- a/manifest/x86_64/s/sudo_rs.filelist +++ b/manifest/x86_64/s/sudo_rs.filelist @@ -1,4 +1,4 @@ -# Total size: 2482752 +# Total size: 2482736 /usr/local/bin/su /usr/local/bin/sudo /usr/local/bin/visudo diff --git a/packages/linux_pam.rb b/packages/linux_pam.rb index 5143df160..87149b2fc 100644 --- a/packages/linux_pam.rb +++ b/packages/linux_pam.rb @@ -1,39 +1,41 @@ -require 'package' +require 'buildsystems/meson' -class Linux_pam < Package +class Linux_pam < Meson description 'Linux PAM (Pluggable Authentication Modules for Linux) project' homepage 'https://github.com/linux-pam/linux-pam' - version '1.5.3' + version '1.7.1' license 'BSD-3' compatibility 'all' - source_url 'https://github.com/linux-pam/linux-pam/releases/download/v1.5.3/Linux-PAM-1.5.3.tar.xz' - source_sha256 '7ac4b50feee004a9fa88f1dfd2d2fa738a82896763050cd773b3c54b0a818283' + source_url 'https://github.com/linux-pam/linux-pam.git' + git_hashtag "v#{version}" binary_compression 'tar.zst' binary_sha256({ - aarch64: 'a371c602ab5519c0d9322f70fe317b3033b5ba1175ba02ab645d87c09fd4a1f9', - armv7l: 'a371c602ab5519c0d9322f70fe317b3033b5ba1175ba02ab645d87c09fd4a1f9', - i686: '9410659381a17e918433e2fd6aeeac57ebc7143de46499ce206c2f71d691c59d', - x86_64: '42470ad49611a6ec7c9d18d61cef06c490ba5224c888394a19762be2afcf470a' + aarch64: '25974e63f145c719db4482024036ef10cad4ad92bb72504d728555cd346f3b86', + armv7l: '25974e63f145c719db4482024036ef10cad4ad92bb72504d728555cd346f3b86', + i686: '0f7adeca7bd53900c4ff9ed394b00acb20a8a9fdaad0216f492eca0478f3dd8e', + x86_64: '65471b0ba28790f677b701e6b44fe735e768ba2087d5b3a35fb194a8a97e45d7' }) + depends_on 'gdbm' # R depends_on 'glibc' # R - depends_on 'libdb' # libdb needs to be built with "--enable-dbm" depends_on 'libeconf' # R + depends_on 'libxcrypt' # R - def self.build - system "./configure #{CREW_CONFIGURE_OPTIONS} \ - --disable-selinux \ - --enable-static \ - --disable-nis" - system 'make' + no_mold + + meson_options '-Ddb=gdbm \ + -Ddocs=disabled \ + -Dselinux=disabled \ + -Dnis=disabled' + + meson_build_extras do + # We need to move libcrypto.so out of the way so libxcrypto is used. + FileUtils.mv "#{CREW_LIB_PREFIX}/libcrypto.so.bak", "#{CREW_LIB_PREFIX}/libcrypto.so" if File.file? "#{CREW_LIB_PREFIX}/libcrypto.so.bak" end - def self.install - system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/include/security" - Dir.chdir "#{CREW_DEST_PREFIX}/include" do - system "find . -type f -exec ln -s #{CREW_PREFIX}/include/{} #{CREW_DEST_PREFIX}/include/security/{} \\;" - end + def self.prebuild + # We need to move libcrypto.so out of the way so libxcrypto is used. + FileUtils.mv "#{CREW_LIB_PREFIX}/libcrypto.so", "#{CREW_LIB_PREFIX}/libcrypto.so.bak" if File.file? "#{CREW_LIB_PREFIX}/libcrypto.so" end end diff --git a/packages/sudo_rs.rb b/packages/sudo_rs.rb index d49f77947..3dffd1be8 100644 --- a/packages/sudo_rs.rb +++ b/packages/sudo_rs.rb @@ -6,7 +6,7 @@ require 'buildsystems/rust' class Sudo_rs < RUST description 'A safety oriented and memory safe implementation of sudo and su written in Rust.' homepage 'https://github.com/trifectatechfoundation/sudo-rs' - version '0.2.8' + version '0.2.8-1' license 'Apache-2.0 AND MIT' compatibility 'all' source_url 'https://github.com/trifectatechfoundation/sudo-rs.git' @@ -14,10 +14,10 @@ class Sudo_rs < RUST binary_compression 'tar.zst' binary_sha256({ - aarch64: 'c9c94f9fc41132b951cf6126f33a3eab60c36d9d1002873d0f5524ca9e7f6860', - armv7l: 'c9c94f9fc41132b951cf6126f33a3eab60c36d9d1002873d0f5524ca9e7f6860', - i686: 'f3e3cae97206f4e07ecd8fe16888f48666b86a57a30f9739a8688a794bfd3ffc', - x86_64: '4ce02efa90ef7052a06685bce6d6fbdc815e00e8f9d4a5695f64dc473d19768d' + aarch64: 'ccfd2bc0430d54ea43d7c5cf4080d194f2773d90d57719d48fc929e1e7a1324b', + armv7l: 'ccfd2bc0430d54ea43d7c5cf4080d194f2773d90d57719d48fc929e1e7a1324b', + i686: '3ddaaea73a4c2fb4c90f8d8a5083fc26c656313d1bb2b383afeb9681f467e9ab', + x86_64: '9cced4f75b7d9166a547aa2f608fef45f5267bc686071e72fc5563708bd80dd6' }) depends_on 'gcc_lib' # R @@ -26,6 +26,8 @@ class Sudo_rs < RUST conflicts_ok # su conflict with util_linux + rust_features 'pam-login' + def self.postinstall puts 'Installation of sudo_rs will fail unless in the Chromebrew container or crew_sudo has been installed.'.orange unless CREW_IN_CONTAINER