public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
* [git.ipfire.org] IPFire 3.x development tree branch, master, updated. 7ed3355c04f0978ec16f7c83214172add4e8adad
@ 2023-03-22 10:07 Michael Tremer
  0 siblings, 0 replies; only message in thread
From: Michael Tremer @ 2023-03-22 10:07 UTC (permalink / raw)
  To: ipfire-scm

[-- Attachment #1: Type: text/plain, Size: 12273 bytes --]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 3.x development tree".

The branch, master has been updated
       via  7ed3355c04f0978ec16f7c83214172add4e8adad (commit)
       via  da448bcf253baf4a2cfdffe71e6199b05c113fa1 (commit)
       via  9f4adeab0b7a75095a7b5854ef09d63f1da8d284 (commit)
       via  3994a93eea904c62d810e4c11d4248c168ec3e01 (commit)
       via  7d1a3678e59dca54180cba43772f8be543032df2 (commit)
       via  b9dbe6d36daaf77760e1c54f1f958ae429b96c59 (commit)
       via  49317de5f456741d218f43bfaf3193d3f8fd735b (commit)
       via  c35dff53c2e0b45e988d163528ef21d507e07392 (commit)
      from  a8a8fc6638fa4a2a4a6810821fcc3d6c843d2861 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 7ed3355c04f0978ec16f7c83214172add4e8adad
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date:   Tue Mar 21 19:49:23 2023 +0100

    glibc: Fix RUNPATH in gconv libraries
    
    Those libraries uses a special RUNPATH called $ORIGIN which we
    do not support in IPFire. So changing this to the directory where
    the are installed.
    
    Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
    Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>

commit da448bcf253baf4a2cfdffe71e6199b05c113fa1
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date:   Tue Mar 21 20:42:41 2023 +0100

    chrpath: Drop package
    
    This package has seen no updates for a long time and has been
    replaced by the similar and better supported patchelf.
    
    Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>

commit 9f4adeab0b7a75095a7b5854ef09d63f1da8d284
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date:   Tue Mar 21 20:41:37 2023 +0100

    gettext: Switch to patchelf to remove the RPATH
    
    Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>

commit 3994a93eea904c62d810e4c11d4248c168ec3e01
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date:   Tue Mar 21 20:33:36 2023 +0100

    libldb: Switch to patchelf to remove the RPATH
    
    Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>

commit 7d1a3678e59dca54180cba43772f8be543032df2
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date:   Tue Mar 21 20:23:41 2023 +0100

    libdb: Switch to patchelf to remove the RPATH
    
    Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>

commit b9dbe6d36daaf77760e1c54f1f958ae429b96c59
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date:   Tue Mar 21 20:17:46 2023 +0100

    net-snmp: Switch to patchelf to remove the RPATH
    
    Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>

commit 49317de5f456741d218f43bfaf3193d3f8fd735b
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date:   Tue Mar 21 20:09:35 2023 +0100

    tcpdump: Switch to patchelf to remove the RPATH
    
    Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>

commit c35dff53c2e0b45e988d163528ef21d507e07392
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date:   Tue Mar 21 19:07:43 2023 +0100

    patchelf: New package
    
    Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>

-----------------------------------------------------------------------

Summary of changes:
 chrpath/chrpath.nm   | 45 -------------------------------------------
 gettext/gettext.nm   |  4 ++--
 glibc/glibc.nm       | 19 +++++++++++++++++-
 libdb/libdb.nm       |  6 +++---
 libldb/libldb.nm     |  7 ++++---
 net-snmp/net-snmp.nm |  6 +++---
 patchelf/patchelf.nm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 tcpdump/tcpdump.nm   |  6 +++---
 8 files changed, 87 insertions(+), 60 deletions(-)
 delete mode 100644 chrpath/chrpath.nm
 create mode 100644 patchelf/patchelf.nm

Difference in files:
diff --git a/chrpath/chrpath.nm b/chrpath/chrpath.nm
deleted file mode 100644
index 6f24793cb..000000000
--- a/chrpath/chrpath.nm
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info(a)ipfire.org>                   #
-###############################################################################
-
-name       = chrpath
-version    = 0.16
-release    = 2
-
-groups     = Development/Tools
-url        = https://directory.fsf.org/wiki/Chrpath/
-license    = GPLv2+
-summary    = Modify rpath of compiled programs
-
-description
-	chrpath allows you to modify the dynamic library load path (rpath) of
-	compiled programs.  Currently, only removing and modifying the rpath
-	is supported.
-end
-
-# Upstream has gone
-source_dl  = https://deb.debian.org/debian/pool/main/c/chrpath/
-sources    = %{name}_%{version}.orig.tar.gz
-
-build
-	configure_options += \
-		--docdir=%{docdir}
-
-	install_cmds
-		# Chrpath ignores the docdir swith during configure.
-		# Move the documentation to the correct place.
-		mv -vf %{BUILDROOT}/usr/doc/%{name}-* %{BUILDROOT}%{docdir}
-
-		# Remove empty directory
-		rm -rvf %{BUILDROOT}/usr/doc
-	end
-end
-
-packages
-	package %{name}
-
-	package %{name}-debuginfo
-		template DEBUGINFO
-	end
-end
diff --git a/gettext/gettext.nm b/gettext/gettext.nm
index 000db01b2..699c1b20d 100644
--- a/gettext/gettext.nm
+++ b/gettext/gettext.nm
@@ -31,12 +31,12 @@ sources    = %{thisapp}.tar.xz
 build
 	requires
 		bison
-		chrpath
 		expat-devel
 		glib2-devel
 		libunistring-devel
 		libxml2-devel
 		ncurses-devel
+		patchelf
 	end
 
 	configure_options += \
@@ -59,7 +59,7 @@ build
 		# cleanup rpaths
 		for i in $(find %{BUILDROOT}%{bindir} %{BUILDROOT}%{libdir} -type f); do
 			if file ${i} | grep "ELF 64-bit" >/dev/null; then
-				chrpath -l ${i} && chrpath --delete ${i}
+				patchelf --remove-rpath ${i}
 			fi
 		done
 
diff --git a/glibc/glibc.nm b/glibc/glibc.nm
index a58a826c8..3b1362d4d 100644
--- a/glibc/glibc.nm
+++ b/glibc/glibc.nm
@@ -5,7 +5,7 @@
 
 name       = glibc
 version    = 2.37
-release    = 4
+release    = 5
 
 maintainer = Michael Tremer <michael.tremer(a)ipfire.org>
 groups     = System/Base
@@ -44,6 +44,7 @@ build
 		libcap-devel
 		libstdc++-static
 		make >= 4.0
+		patchelf
 		python3 >= 3.4
 		texinfo
 	end
@@ -119,6 +120,22 @@ build
 
 		# Strip any object files
 		strip --strip-debug %{BUILDROOT}%{libdir}/*.o
+
+		# Some gconv libraries requires other libraries and contain $ORIGIN
+		# as RUNPATH because they are all located in the same directory.
+		# We do not support $ORIGIN as RUNPATH so change this to the directory
+		# where the modules are located.
+		find %{BUILDROOT}%{libdir}/gconv -type f -name "*.so" -exec sh -c '
+			for file do
+				# Obtain the RUNPATH of the module in case it has one set.
+				runpath=$(patchelf --print-rpath ${file} | tr -d '\n')
+
+				# Check if the RUNPATH is $ORIGIN
+				if [ "${runpath}" == "\$ORIGIN" ]; then
+					# Use patchelf to change the RUNPATH
+					patchelf --set-rpath %{libdir}/gconv ${file}
+				fi
+			done ' sh {} +
 	end
 end
 
diff --git a/libdb/libdb.nm b/libdb/libdb.nm
index 08d60a401..13c2c91a5 100644
--- a/libdb/libdb.nm
+++ b/libdb/libdb.nm
@@ -8,7 +8,7 @@ version_major = 6
 version_minor = 1
 version_patch = 26
 version    = %{version_major}.%{version_minor}.%{version_patch}
-release    = 4
+release    = 5
 thisapp    = db-%{version}
 
 soversion  = %{version_major}.%{version_minor}
@@ -29,9 +29,9 @@ source_dl  = http://download.oracle.com/berkeley-db/
 build
 	requires
 		automake
-		chrpath
 		gcc-c++
 		libtool
+		patchelf
 		perl
 		zlib-devel
 	end
@@ -71,7 +71,7 @@ build
 	install_cmds
 		# Remove RPATH in all binaries.
 		for i in %{BUILDROOT}%{bindir}/*; do
-			chrpath --delete ${i}
+			patchelf --remove-rpath ${i}
 		done
 
 		# Remove documentation which is very big.
diff --git a/libldb/libldb.nm b/libldb/libldb.nm
index 8567546a8..fc242ef82 100644
--- a/libldb/libldb.nm
+++ b/libldb/libldb.nm
@@ -5,7 +5,7 @@
 
 name       = libldb
 version    = 2.6.1
-release    = 1.1
+release    = 2
 thisapp    = ldb-%{version}
 
 groups     = System/Libraries
@@ -22,7 +22,6 @@ source_dl  = https://download.samba.org/pub/ldb/
 
 build
 	requires
-		chrpath
 		cmocka-devel
 		docbook-utils
 		docbook-xsl
@@ -32,6 +31,7 @@ build
 		libtirpc-devel
 		libxcrypt-devel
 		lmdb-devel >= 0.9.16
+		patchelf
 		popt-devel
 		python3-devel
 		python3-talloc
@@ -52,7 +52,8 @@ build
 
 	install_cmds
 		# Remove rpath from binaries.
-		chrpath --delete %{BUILDROOT}%{bindir}/*
+		find %{BUILDROOT}%{bindir} -type f -executable \
+			-exec patchelf --remove-rpath {} \;
 	end
 end
 
diff --git a/net-snmp/net-snmp.nm b/net-snmp/net-snmp.nm
index 26e905313..af62067a0 100644
--- a/net-snmp/net-snmp.nm
+++ b/net-snmp/net-snmp.nm
@@ -5,7 +5,7 @@
 
 name       = net-snmp
 version    = 5.9.3
-release    = 3
+release    = 4
 
 groups     = Networking/Daemons
 url        = http://net-snmp.sourceforge.net
@@ -25,10 +25,10 @@ build
 		autoconf
 		automake
 		bzip2-devel
-		chrpath
 		elfutils-devel
 		lm-sensors-devel >= 3
 		openssl-devel
+		patchelf
 		procps
 		python3-devel
 		python3-setuptools
@@ -109,7 +109,7 @@ build
 
 		# Remove more RPATHs.
 		find %{BUILDROOT}%{bindir} -type f -print \
-			-exec chrpath --delete {} \;
+			-exec patchelf --remove-rpath {} \;
 	end
 end
 
diff --git a/patchelf/patchelf.nm b/patchelf/patchelf.nm
new file mode 100644
index 000000000..bccb2ba27
--- /dev/null
+++ b/patchelf/patchelf.nm
@@ -0,0 +1,54 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info(a)ipfire.org>                   #
+###############################################################################
+
+name       = patchelf
+version    = 0.17.2
+release    = 1
+
+groups     = Development/Tools
+url        = http://nixos.org/patchelf.html
+license    = GPLv3+
+summary    = A utility for patching ELF binaries
+
+description
+	PatchELF is a simple utility for modifying an existing ELF executable	
+	or library.  It can change the dynamic loader ("ELF interpreter")
+	of an executable and change the RPATH of an executable or library.	
+end
+
+source_dl  = https://github.com/NixOS/%{name}/archive/%{version}/
+sources    = %{thisapp}.tar.gz
+
+build
+	requires
+		autoconf
+		automake
+	end
+
+	prepare_cmds
+		# Remove shipped elf header file and
+		# use the one from glibc instead.
+		rm -rvf src/elf.h
+
+		# Disable test which requires DT_JMPREL.
+		# Our default compiler configuration does not allow to
+		# compile such an elf file.
+		sed -i '/phdr-corruption.sh/d' tests/Makefile.am
+
+		./bootstrap.sh
+	end
+
+	test
+		make check
+	end
+end
+
+packages
+	package %{name}
+
+	package %{name}-debuginfo
+		template DEBUGINFO
+	end
+end
diff --git a/tcpdump/tcpdump.nm b/tcpdump/tcpdump.nm
index 226744143..9c4d33822 100644
--- a/tcpdump/tcpdump.nm
+++ b/tcpdump/tcpdump.nm
@@ -5,7 +5,7 @@
 
 name       = tcpdump
 version    = 4.99.1
-release    = 1
+release    = 2
 
 groups     = Networking/Sniffer
 url        = https://www.tcpdump.org/
@@ -23,9 +23,9 @@ source_dl  = https://www.tcpdump.org/release/
 
 build
 	requires
-		chrpath
 		libpcap-devel
 		openssl-devel
+		patchelf
 	end
 
 	configure_options += \
@@ -37,7 +37,7 @@ build
 		rm -vf %{BUILDROOT}%{sbindir}/tcpdump.%{version}
 
 		# Remove RPATH.
-		chrpath --delete %{BUILDROOT}%{bindir}/tcpdump
+		patchelf --remove-rpath %{BUILDROOT}%{bindir}/tcpdump
 	end
 end
 


hooks/post-receive
--
IPFire 3.x development tree

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-03-22 10:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-22 10:07 [git.ipfire.org] IPFire 3.x development tree branch, master, updated. 7ed3355c04f0978ec16f7c83214172add4e8adad Michael Tremer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox