From 1a95f960273f276a4fdefb824336b073d83bcb5e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Dec 2024 02:07:41 +0000 Subject: gentoo auto-resync : 09:12:2024 - 02:07:41 --- sys-apps/Manifest.gz | Bin 51538 -> 51532 bytes sys-apps/hwloc/Manifest | 2 + sys-apps/hwloc/hwloc-2.11.2.ebuild | 133 +++++ sys-apps/iproute2/Manifest | 9 +- .../iproute2/files/iproute2-6.12.0-musl-3.patch | 37 ++ sys-apps/iproute2/iproute2-6.10.0.ebuild | 214 ------- sys-apps/iproute2/iproute2-6.12.0.ebuild | 215 +++++++ sys-apps/iproute2/iproute2-6.6.0-r3.ebuild | 212 ------- sys-apps/iproute2/iproute2-6.8.0-r2.ebuild | 214 ------- sys-apps/mawk/Manifest | 13 - .../mawk/files/mawk-1.3.4_p20240819-tests.patch | 12 - sys-apps/mawk/mawk-1.3.4_p20240123.ebuild | 51 -- sys-apps/mawk/mawk-1.3.4_p20240622.ebuild | 51 -- sys-apps/mawk/mawk-1.3.4_p20240819.ebuild | 55 -- sys-apps/mawk/mawk-1.3.4_p20240827.ebuild | 51 -- sys-apps/systemd-utils/Manifest | 6 +- .../systemd-utils/systemd-utils-254.21-r1.ebuild | 585 +++++++++++++++++++ sys-apps/systemd-utils/systemd-utils-254.21.ebuild | 583 ------------------- .../systemd-utils/systemd-utils-255.15-r1.ebuild | 623 +++++++++++++++++++++ sys-apps/systemd-utils/systemd-utils-255.15.ebuild | 621 -------------------- .../systemd-utils/systemd-utils-256.9-r1.ebuild | 614 ++++++++++++++++++++ sys-apps/systemd-utils/systemd-utils-256.9.ebuild | 612 -------------------- 22 files changed, 2215 insertions(+), 2698 deletions(-) create mode 100644 sys-apps/hwloc/hwloc-2.11.2.ebuild create mode 100644 sys-apps/iproute2/files/iproute2-6.12.0-musl-3.patch delete mode 100644 sys-apps/iproute2/iproute2-6.10.0.ebuild create mode 100644 sys-apps/iproute2/iproute2-6.12.0.ebuild delete mode 100644 sys-apps/iproute2/iproute2-6.6.0-r3.ebuild delete mode 100644 sys-apps/iproute2/iproute2-6.8.0-r2.ebuild delete mode 100644 sys-apps/mawk/files/mawk-1.3.4_p20240819-tests.patch delete mode 100644 sys-apps/mawk/mawk-1.3.4_p20240123.ebuild delete mode 100644 sys-apps/mawk/mawk-1.3.4_p20240622.ebuild delete mode 100644 sys-apps/mawk/mawk-1.3.4_p20240819.ebuild delete mode 100644 sys-apps/mawk/mawk-1.3.4_p20240827.ebuild create mode 100644 sys-apps/systemd-utils/systemd-utils-254.21-r1.ebuild delete mode 100644 sys-apps/systemd-utils/systemd-utils-254.21.ebuild create mode 100644 sys-apps/systemd-utils/systemd-utils-255.15-r1.ebuild delete mode 100644 sys-apps/systemd-utils/systemd-utils-255.15.ebuild create mode 100644 sys-apps/systemd-utils/systemd-utils-256.9-r1.ebuild delete mode 100644 sys-apps/systemd-utils/systemd-utils-256.9.ebuild (limited to 'sys-apps') diff --git a/sys-apps/Manifest.gz b/sys-apps/Manifest.gz index 5e129c53a77a..50737949acdb 100644 Binary files a/sys-apps/Manifest.gz and b/sys-apps/Manifest.gz differ diff --git a/sys-apps/hwloc/Manifest b/sys-apps/hwloc/Manifest index 164fa8c76140..c17f61ba6c6e 100644 --- a/sys-apps/hwloc/Manifest +++ b/sys-apps/hwloc/Manifest @@ -1,5 +1,6 @@ AUX hwloc-1.8.1-gl.patch 542 BLAKE2B d0264d6ef139add1b76befd8f8b440dd6c4b994bea6187c4339eaf47b3fccfebc9598230914db17e21997f8d70c6a94dbfceaa01234a3090d68df35c4cf6f931 SHA512 1f281f338cef379963b374d7e656f90be98dfd0b0768fe12dc8e6d366b1c386c2ed50ed405d5dcd0b00c2bb57b12849a3b918712e38214fca45e2a3b1c584f33 DIST hwloc-1.11.13.tar.bz2 4120436 BLAKE2B a6a09f7d6abeaa9d23df555cfd2186ae61f0f67f83fa8f1aa4bc29376b233a8511f11745f35064f39545c7e62e9d271c1334b6906712028729e138e41d1f212f SHA512 dd38bcc9a5df2dcfd3bbd828ab13fdb1c1d21747a0b62e6c87df95d2835c0472590344ff5bda4f6c28e597eaba1ea11c0bc96907ad45f1215f51f95ac9f58138 +DIST hwloc-2.11.2.tar.bz2 5592269 BLAKE2B e4764883eb3678fba6d6bd30fba27d68bd15cefccfcbc9d628573447f5f507a348e197d5003cc016fd4e27da05dc8c0ebd8644a4530f8499016d255c62602fc2 SHA512 488bfdeb32d2b98cffc43a537e87422d70abcc2bc029e4b5c911fc3e37189a9213dc8efd5552e2fda0d2b03d4ec25ebd45e0680dd129da046798750c5f5eb72f DIST hwloc-2.6.0.tar.bz2 6728585 BLAKE2B 96099ae3527e11a83adc068e07756752d2effa38b4bae174045e5142a3457af8790e9fd3d778ff2d91708101aaf6e108affed7688918195e0f2bdbd55235ad46 SHA512 3f35ee685507469e2c7d4a2ab4c339eff24123b4bc21d96bc53fd2737a36bdd371f1e1e4440b410ecac6cf1881562187243bfbf846203cb3702a4c4c7be0d5df DIST hwloc-2.8.0.tar.bz2 6896344 BLAKE2B 33f75987ee904d5ee9c62268695a2f7f59b0adc2e1601fc4407f525664b78a7fab04c75823ce9d190c8cb9ffc0ce983d7137555625d47bc1451a2d0c6f330055 SHA512 025c8ebc2945bdf696cc66fe2cfea0195694713a6098603fb4eaeac409d2f6c3386a7c2b4d7f3758d828f6b621e7f06ffb5745224cb1df2f8ff4f19b2a8a4a7b DIST hwloc-2.9.0.tar.bz2 6923168 BLAKE2B 8451d24a2685b1e52b93a21a0fd43cb93564e03a4a3d1708ffe021dd59e701b50088b7202a1e50358c23e19278cc0526f0064b5ec79ca5152697e1380549e6e0 SHA512 45705d30c8a974c6afd998559cd1195e7e478cf01b669ad60c06baeac9d17c5cd163eb00ad12c2187889e9a7ea96ff6d5a3cb414e8e6de7f00a6fa10eb8c7507 @@ -8,6 +9,7 @@ DIST hwloc-2.9.2.tar.bz2 6976699 BLAKE2B 70737325888b87f90f95799490621e209864430 DIST hwloc-2.9.3.tar.bz2 6986142 BLAKE2B db47dcf7fbedb67e3e339faf2f88326cc5b9838747b40774a6dbfc29bb9e52797ae9da9ae098168f70ff47cd7ff3e949a2294da52e91f2e45c0d9bc25bdbb1b7 SHA512 181a700ed036ecc8a6685e8023f3f6ba317b5fd3bb0699d9081e4627f375df7e9791148965d92f8152f6e7ea5c4ba7c581a0cad5a717d408725faae79777e267 DIST lstopo.png 18008 BLAKE2B 5468cc81f9ee4b9a4dd28bd9334edd7f4e7d4ff394caf09228b4e860ab924bb80114b977b1b1125cd180478967d2f3bbde50435522b77a8314f823b1c2678e75 SHA512 8a8a6e62c3089a8d77f592a348ad87fca14a84bdecd889760a37bef8e65c876594b91091aac2f54ca3cca855a02459fe1c960909ccd0ddea1ff77c95bb171823 EBUILD hwloc-1.11.13-r1.ebuild 2164 BLAKE2B 48b1516072987098c610f1de0cb8f59f19b8d5ad13a72b0fb382ab8ff5292177b563db5e6b3db451838824477b57e2f16b1d9e9c618c248218862bc7af9ce1c5 SHA512 7ba0f9ddec1fb25cfbadf63eec2d68feca43a2436a675816aaf760e42ae4ae766e3842a45c8343b93d4c02f142bfb8e9ddc9d2ffbb641de58b7da1c43f996360 +EBUILD hwloc-2.11.2.ebuild 3838 BLAKE2B 8c17838926d6cdc010bbe6ea38ad7f0a8344ecaac83ca78d5af91b80367377b1f5e967b2e9acd13a31e444c5bfe9a5a08db723ded428167750e4251b368747a9 SHA512 4db63c019e40cc8caf45aa17bddd819c6486dd13e25dc362603d332190fdbeb8203cf9e66fe9271a7ea2eff3f16efc2e7d374f7f13c2356d28112973e1db4f58 EBUILD hwloc-2.6.0-r1.ebuild 2968 BLAKE2B 393891bc266c754647a2433c3d17046090e3b9eae4b627eaa4c749012711c9ef1d42f50435e211052175e3ee83931f0f01abf297bec60eebad85d74d3fe508f3 SHA512 6768f80f09b2cb4dbac35727a09ec2df3104d7e5cc06b8b33131190938571050047766aecf0b922dcc1580f8db9e0d116b21f2d534a4a4566dd1f5b300b1546f EBUILD hwloc-2.8.0-r1.ebuild 3341 BLAKE2B a71739e448497cc53f3482a30f944e553b2a5ec14d43a98a4fe7cb6e6530eed65768c6113df6d4951c9f16e10e703312a4373f2cb4d764be4ae58b1a40b56eec SHA512 a4f4d54b329f1f4040e8b305b56330fa78c16f4b8548068bc052ff42eea42f769aa2a35b95830aa36adfda42208598e80f8ef6dbbaf12623f9e5185644c9a3c1 EBUILD hwloc-2.9.0.ebuild 3348 BLAKE2B 4e5139cf1b957d7cbff0bd7d04fbb4ef3dd967a770edbc9ca489502d0dec4f63f1713f21b53c89d3073790d6bfefc2057e1329383c45a4eecbcf35dbff6661fd SHA512 e0a8f546089a220470c740d4bf7012633169d08c7f0c7df24a4b710ae881b681cdc65adb5d79a82d28d4e274d9f5e26dccf5e0793e85a2902042797bf72a5ec9 diff --git a/sys-apps/hwloc/hwloc-2.11.2.ebuild b/sys-apps/hwloc/hwloc-2.11.2.ebuild new file mode 100644 index 000000000000..e3e3e1709236 --- /dev/null +++ b/sys-apps/hwloc/hwloc-2.11.2.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools bash-completion-r1 cuda desktop flag-o-matic systemd toolchain-funcs xdg-utils multilib-minimal + +MY_PV="v$(ver_cut 1-2)" +DESCRIPTION="Displays the hardware topology in convenient formats" +HOMEPAGE="https://www.open-mpi.org/projects/hwloc/" +SRC_URI=" + https://www.open-mpi.org/software/${PN}/${MY_PV}/downloads/${P}.tar.bz2 + https://raw.githubusercontent.com/open-mpi/hwloc/master/contrib/android/assets/lstopo.png +" + +LICENSE="BSD" +SLOT="0/15" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="cairo +cpuid cuda debug doc l0 nvml +pci rocm static-libs svg udev valgrind xml X video_cards_nvidia" + +# opencl: opencl support dropped with x11-drivers/ati-drivers being removed (bug #582406). +# anyone with hardware is welcome to step up and help test to get it re-added. +# video-cards_nvidia: libXext/libX11 deps are only here, see HWLOC_GL_REQUIRES usage in config/hwloc.m4 +RDEPEND=" + >=sys-libs/ncurses-5.9-r3:=[${MULTILIB_USEDEP}] + cairo? ( >=x11-libs/cairo-1.12.14-r4[X?,svg(+)?,${MULTILIB_USEDEP}] ) + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= ) + doc? ( app-text/doxygen ) + l0? ( dev-libs/level-zero:= ) + nvml? ( x11-drivers/nvidia-drivers[${MULTILIB_USEDEP}] ) + pci? ( + >=sys-apps/pciutils-3.3.0-r2[${MULTILIB_USEDEP}] + >=x11-libs/libpciaccess-0.13.1-r1[${MULTILIB_USEDEP}] + ) + rocm? ( dev-util/rocm-smi:= ) + udev? ( virtual/libudev:= ) + xml? ( >=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}] ) + video_cards_nvidia? ( + x11-drivers/nvidia-drivers[static-libs] + x11-libs/libXext + x11-libs/libX11 + ) +" +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( "${FILESDIR}/${PN}-1.8.1-gl.patch" ) + +DOCS=( AUTHORS NEWS README VERSION ) + +src_prepare() { + default + + eautoreconf +} + +multilib_src_configure() { + # bug #393467 + export HWLOC_PKG_CONFIG="$(tc-getPKG_CONFIG)" + + if use video_cards_nvidia ; then + addpredict /dev/nvidiactl + fi + + if use cuda ; then + append-cflags "-I${ESYSROOT}/opt/cuda/include" + append-cppflags "-I${ESYSROOT}/opt/cuda/include" + + local -x LDFLAGS="${LDFLAGS}" + append-ldflags "-L${ESYSROOT}/opt/cuda/$(get_libdir)" + fi + + export ac_cv_header_valgrind_valgrind_h=$(multilib_native_usex valgrind) + export ac_cv_have_decl_RUNNING_ON_VALGRIND=$(multilib_native_usex valgrind) + + local myconf=( + --disable-opencl + + --disable-plugin-ltdl + --enable-plugins + --enable-shared + --runstatedir="${EPREFIX}/run" + $(multilib_native_use_enable cuda) + $(multilib_native_use_enable video_cards_nvidia gl) + $(multilib_native_use_enable l0 levelzero) + $(multilib_native_use_enable rocm rsmi) + $(multilib_native_use_with rocm rocm "${ESYSROOT}/usr") + $(use_enable cairo) + $(use_enable cpuid) + $(use_enable debug) + $(use_enable doc doxygen) + $(use_enable udev libudev) + $(use_enable nvml) + $(use_enable pci) + $(use_enable static-libs static) + $(use_enable xml libxml2) + $(use_with X x) + ) + + ECONF_SOURCE="${S}" econf "${myconf[@]}" +} + +multilib_src_install_all() { + default + + case ${ARCH} in + # hwloc-dump-hwdata binary only built on those arches, so don't install non-working unit. + amd64|x86) + systemd_dounit "${ED}/usr/share/hwloc/hwloc-dump-hwdata.service" + ;; + esac + + use doc && dodoc -r doc/doxygen-doc/html + + mv "${ED}"/usr/share/bash-completion/completions/hwloc{,-annotate} || die + bashcomp_alias hwloc-annotate \ + hwloc-{diff,ps,compress-dir,gather-cpuid,distrib,info,bind,patch,calc,ls,gather-topology} + bashcomp_alias hwloc-annotate lstopo{,-no-graphics} + + find "${ED}" -name '*.la' -delete || die + newicon -s 512 "${DISTDIR}/lstopo.png" ${PN}.png +} + +pkg_postinst() { + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest index ef0be8458a85..c87a99e56738 100644 --- a/sys-apps/iproute2/Manifest +++ b/sys-apps/iproute2/Manifest @@ -2,6 +2,7 @@ AUX iproute2-5.7.0-mix-signal.h-include.patch 213 BLAKE2B ad6def6d017ff1d78587d1 AUX iproute2-6.10.0-musl-1.patch 1243 BLAKE2B 66853640dec036026b4c9dce0e1ecd3278492a5ebda55a36e2098404ffab12e4606f796c6fa00765a6cc37dbbb87fd42c841b442561a85397491bde7181cef86 SHA512 b89ade7182ef09ac3bd99fdfc15c36ebf1911941d9f967f88d62738a646795998d17082147a649a32d390a015465d2e8fe7cbbc8dfdd4d5d5bd9d54be67ce9a3 AUX iproute2-6.10.0-musl-2.patch 1452 BLAKE2B b20f3a0769379339651a9c781b5a53e41f0678ad1493878ec0523698e86dd9f702a527cc3c09a5c9607309e750a19798346ee5f3ddf580739bd6d949f05ce671 SHA512 1958e1d4ee92092d169d87de8a8983aaf656b78b4f0ba7188b449768250457ad4f2266876d0077f39d9c0dc27e2531c4a76f6b13f44095c614d88ec7c1e0c302 AUX iproute2-6.11.0-musl-fixes.patch 763 BLAKE2B c7cf3f2c47152636b4560a84ffcaf7eb7b1dc205f188a9c4e84c2caf9e091fc1bb69909dfe62ac011e374d72fcae617ccd707d2c50113663c91870b921e91598 SHA512 ed5d30fb3637e7ee1a2ff3cd3180f80f0aa578ac383e86ae0d35a6bfc733e87174eae8603aade7f32573d200258f3baa52b35e81ef43a7daad887522f0d8b522 +AUX iproute2-6.12.0-musl-3.patch 905 BLAKE2B 790957e0431e4014a06217d45eda0cd11313606573047e1a42044285ef07fb3b1abd99ad9c6c11ca07bcc245929629dd44389e363257f12e6bf516bbabd14b7d SHA512 2575a23f10506d4b255d0f8ae050c6c5315ffdbe21a7b7e606f52b5320f409a9c36a71765b9fa9a3ca5b286c03490b4a853cfe1e3d544585fb052297c3372119 AUX iproute2-6.4.0-disable-libbsd-fallback.patch 843 BLAKE2B b7b27ce8ee0f7961932cfdba071e4062688dd4ae0cd4aad742f3fdc66fd76a70dd0eea97e59efa7d94a8dd3713bcb0b2aae72c46853a3c7be50acf50af7538e6 SHA512 0610d4fc282575c6c78d02362492dda9ae79de24a4024c64a7cfa8138b94f11ea4dd50fcd741475992dfb88861e672f96854111d23bd690a8949adbbf5378970 AUX iproute2-6.5.0-configure-nomagic-nolibbsd.patch 6966 BLAKE2B bc2da6f561ebd10aa40438b9bfd9d6b25db2edee844ff31e7e8726b3b3a282db7e7bd1ee3955642608a03d9d11b900e4fb26b35f0bec7f07d844337424f2da8a SHA512 84ab38bebb1687ba743a1d4ed5eafc484b02b6ba96e8650b988a30456c9b936718dee7640ef97cecc07565b7e0ddcc7cad5002961b3ff0cfcefddd87eb64d067 AUX iproute2-6.5.0-mtu.patch 1719 BLAKE2B ef2dc2f3ce23432464b778584c53b3a204a05e7dac1d87969563d89b94bbcd04ff080f21d9809e43f75751b63b49ea506e0ae8191a6170b9c76dae043f861621 SHA512 4057309aaa53e97fa8ed0a410e42e4cf1f70e20a278a299b49261ef00ad8050bfad903e1a91b123a7c99e041732e23088274a8b79c0b2290482acf9735fd8cc1 @@ -12,16 +13,12 @@ AUX iproute2-6.6.0-revert-CONF_USR_DIR.patch 1325 BLAKE2B 4301d995f758167719699c AUX iproute2-6.8.0-configure-nomagic-nolibbsd.patch 7010 BLAKE2B 4aab31c6da283789a6d7aca1b2dddeb828983d8bd4d929a05f5678dc1e4ca67e6e60be173c0968b5aeb3c8b40a4a1d4b307df02171e7adb296d508bb758f8e3f SHA512 0aa9cd6963cbd400f8284299cbeba7d36fe9f4cc775ebc114caf3f7e9479296776bf62415e49cbf821dc3a1c6f6d161fa23e973c44620c3f2a7077de750e9cda AUX iproute2-6.8.0-disable-libbsd-fallback.patch 777 BLAKE2B 099a8a59ff6fe385e0bc3e33b94e20ea3319af70b54e45eaad870d8bc84a9cc59057a3d9e51fb566891128a051244e54365c5fb0287d6db859bfd4596dd0ce86 SHA512 c577f536781e1b37f40ddc691697d4875614d392b28f3cd5c53bd27b3a66cfeab39b9e69140274d8713d948cbaccf62fad1845c97500931ec67de51154e59640 AUX iproute2-6.9.0-mtu.patch 1135 BLAKE2B 503eb3ece9ef5b5a7918a0e26f7b1d57ed6889143e440d97ad7a56305d7a36e148b68e1f9f5de0c13656336ca9a675902aacb42e9866f053b2a68f5ae8c1bd80 SHA512 6b8fec963825ed8e9a51d559a87aa2ae0df53f8c288804547c2e8a9425a2c41a6c0524ee491f1600d011d9175aff3fcdaaec20a18f81e225cab7472f625f4b07 -DIST iproute2-6.10.0.tar.xz 920812 BLAKE2B 66332ea333ab2cdc4a2c71000fa2d06fd87cfdf5237dae458aff60ce606155302eb9d0ffaf87107255ab04c02f2b773dc040abb08bb89afb53091396dfc8a3ad SHA512 706479aa37a25fcf30c525c6abd85e0861e484d046e0636a28dbc52b958d45c9dba70b912f530dedd4b0b496e4b98969e23501bbbb41d3de50810bae014fcb41 DIST iproute2-6.11.0.tar.xz 923736 BLAKE2B 1a360d7cb9a70f5cde184abe934f2d08e9c0d2196c4ec10015636af3984abe2738d9dd8d6c7a69569fc7449e9933829f4eccd593ab8c041ce7b6385adaed63cc SHA512 06bedd7ae573fe5cf9c72af698987ba03e53dc6fce5f41813bf5bb155b683490e5c75cc835ce5ba4509e491eb6138e96da162204c28ea1b3d80887107997a3b3 -DIST iproute2-6.6.0.tar.xz 917964 BLAKE2B 9d20f19c04c2bbde7a3ae53e61e4623b119570c8446f34b93ddadd64677caa432e00ee085498bc277e0842cc2124340c7100925106d0ef2c11dd8002aacac08f SHA512 21c99a3ba8e1d0047933e99b48fb00901eef18899cd5854000ae910d9d84d13aeafa48b32184775531285782909f4d283d0784491691a1f10462dab147de359d -DIST iproute2-6.8.0.tar.xz 913512 BLAKE2B d30cdff8522627c27c9165f068f42adbec38f15548a8f2cd31276f283880dc402e10c5989e7227e80cdc891bcc4a574b330d634ae550e689758b849c0506c31f SHA512 54e50340a73c8810d69bfd54704b469149731634a97d94da08b5a305592a812131a441e5b646e32b480d61840e2ade29387e54b934effeee8ded4f06e557a5c0 +DIST iproute2-6.12.0.tar.xz 925392 BLAKE2B 95aee769662e21c8c6223d09ee0ec365fcdeb7a10d01e89e33aa3039a6dfac11401cbdca4bf436544fc05ed709ad90871ac91eaf17dc553d7ca157b98577a7b7 SHA512 dbd6afb8162a6086e4be9045b8dc53aa563bd4b7abaf43ee13cd7d493730ff0b90e6985f68c6f42d64f4af6a692d0589e0cefd2f24045ec1c10418cfb73940b2 DIST iproute2-6.9.0.tar.xz 918144 BLAKE2B a7434a2537a55b4875db0e3cc35383dfe4d0c8a118a8a1102c4076bfb154c9c2ab0781dcff324fa18ce7cfde798bf332a9e0ff08003ff39acbb8129b597a93a6 SHA512 1cbb234cb8f94213c3529f0b74fed5a575ff1fb838e783b8d2b440643c2e91246eda42e9b26e9775897aadb8b8133d199b2851b8ea0df06a899dc02acf403325 -EBUILD iproute2-6.10.0.ebuild 6012 BLAKE2B f467ff5d31c3574c838dadc1e881f74d9703e6019ab068d0a9091fc330e3dc20022fe2173735b3e576c53484cb58c1f639c58c2dcb0c8d69a3a9e6f0b821bd2f SHA512 a213cedbd8184d2f99acfb3d76b3cbb890281446b5aecdd9d73be6db2cf9c4590574798e00f115ac643345c34f6a396c2c35b2afd4dfdaa9336fb5140cfaafde EBUILD iproute2-6.11.0-r2.ebuild 6106 BLAKE2B 87d1a285c669f862cc0bce9326ae482cf78fc5a25f36e111d3b98e434f9841f57acc5a9f2b442a99f5f60383055bd9a81683d7b634a57f941594764305bf95cc SHA512 3035309c205b9991973a47d53e9cc853770276a5c58af90148808a4d3c6f99573b41515342544f668ebb8d0e88912e6c1fa91d2a2d4c5ffa8cdcd371ab6b432e EBUILD iproute2-6.11.0.ebuild 6012 BLAKE2B 122e5722af68a2569b673e49e16a9f5d8b796f7c5d2b3b7ad0ddefd3614725c33d16b06fff8a1cb748330d4d5e3cf90a574a3968e43071a212c02b3442f42a0f SHA512 3d81c05203a4eceb1b3b7a00f794359614b6453989460e53ef73d11273ff3d6aa15e00175c32b57c5df1bf4aecbd0c97a3d9bd876e4081094d54bcebd98324c3 -EBUILD iproute2-6.6.0-r3.ebuild 5964 BLAKE2B 9b320266330abe11e474c9b14042bd6ded1f1c29c60cf0383bf3b486d60c1b04fa00c5bb9fb400cce63e437daf1954e1170d8b91c7dc8666c9cb9f4e25f9f718 SHA512 9a7fdfa63120d27e23b878b509c84e1c2aec96416475a1e49b80255bd0a5f20e4fd7ef506370316294dc1c1849b8dab446f660ddafef316033f9ba349ccdfaf3 -EBUILD iproute2-6.8.0-r2.ebuild 6004 BLAKE2B ca9e1eb347e4c3bde3d04bb0e0a1be9b08ebddabff0605ff3a494d48b3e2efd72e7a4da1059314cf1d9cf29c51094102353a34c09065084b072dbdb8c7f69037 SHA512 62ee1d358b3b279436a31e41d4ee4c8afbd41a0073249f0764a3e3558abb3bda4a059b32da42ba3c6f507b81b335718a3c2539f80615ae3dcad5527704e87b9b +EBUILD iproute2-6.12.0.ebuild 6110 BLAKE2B 39dd7c73819e21c26255d27c1e3fea7aa208080b90ebbee05d8b80a754391319ac8276b0feb3e59814375f3dbbb29eba8c3aafa680f22281b0afa6af52616db8 SHA512 1c9090e7a9cd40f8f3a47650e451bc1142752b49afd1270f59c5cc2c6ae86dd382dace953ecaeec1bb5f1b7294213cd5f47d8a15060114a84897517fa3f2146a EBUILD iproute2-6.9.0.ebuild 5960 BLAKE2B 32f9b4782ce90bbd05b171923b78823d3feb4896688a0321c927456e8dbd7a4e98442b9a6044c40f3819ef71499dbfd960e6708b4a9e9a2e3895d3c537b0fb6f SHA512 d114a393563220a556821d5b7c64041755dc135ff30eb9e88bfbfbde1bd1eef57d87d355e6b9f06c812165181dc787c3e6a0c5292f41eea17b46e96ba83fb2fd EBUILD iproute2-9999.ebuild 6055 BLAKE2B fd4b2e4c46f0283a7a5111526a4596b9d183bd39fbeed78ba4d3203675d07c87037f27b1c703acfb3352470dc37269590af7fc118f6a5ffb474148ff6c05b0b9 SHA512 ca975065fe8042b63d7ecc58bb93ed98db7b9a6cc93a88aafcf3a730655ac534cdb64b72ed4cc450a807b8790749447cd18b2f36e4945f8706d38f884568d636 MISC metadata.xml 887 BLAKE2B 28f816c12d798665f2e32e22ffd69dfda03e251bc6447a34e3ddbf0d5d00046c561b7f8282f73ed8609b3d9397da9bc2b1bf54d23bc82d5395af141e2448a3e3 SHA512 e5cafc242c2e4fe64df7456b3e001285933a680b674400ef53b2fc5f966f0c8551fc2ad7d07798d56eed365331ae01536d7b6d41fa5a710c1c2257900ce45d3e diff --git a/sys-apps/iproute2/files/iproute2-6.12.0-musl-3.patch b/sys-apps/iproute2/files/iproute2-6.12.0-musl-3.patch new file mode 100644 index 000000000000..37eeb84aa350 --- /dev/null +++ b/sys-apps/iproute2/files/iproute2-6.12.0-musl-3.patch @@ -0,0 +1,37 @@ +https://github.com/iproute2/iproute2/pull/71 + +From cdc6a1759ea1858d65fdbbfe825999b3d4ed377e Mon Sep 17 00:00:00 2001 +From: David Seifert +Date: Sun, 8 Dec 2024 13:19:14 +0100 +Subject: [PATCH] musl: include for PATH_MAX macro + +https://bugs.gentoo.org/946088 +--- + ip/iplink.c | 1 + + ip/ipnetns.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/ip/iplink.c b/ip/iplink.c +index aa2332fcc..27863b981 100644 +--- a/ip/iplink.c ++++ b/ip/iplink.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + + #include "rt_names.h" +diff --git a/ip/ipnetns.c b/ip/ipnetns.c +index 5c9434009..de16b2790 100644 +--- a/ip/ipnetns.c ++++ b/ip/ipnetns.c +@@ -15,6 +15,7 @@ + #include + #include + #include ++#include + #include + + #include diff --git a/sys-apps/iproute2/iproute2-6.10.0.ebuild b/sys-apps/iproute2/iproute2-6.10.0.ebuild deleted file mode 100644 index bc6aeb87bc35..000000000000 --- a/sys-apps/iproute2/iproute2-6.10.0.ebuild +++ /dev/null @@ -1,214 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs flag-o-matic - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" - inherit git-r3 -else - SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -DESCRIPTION="kernel routing and traffic control utilities" -HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" - -LICENSE="GPL-2" -SLOT="0" -IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux" -# Needs root -RESTRICT="test" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - !minimal? ( net-libs/libmnl:= ) - atm? ( net-dialup/linux-atm ) - berkdb? ( sys-libs/db:= ) - bpf? ( dev-libs/libbpf:= ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf:= ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - nfs? ( net-libs/libtirpc:= ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876) -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-3.16 -" -BDEPEND=" - app-arch/xz-utils - >=sys-devel/bison-2.4 - app-alternatives/lex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-6.10.0-musl-1.patch # bug #936234 - "${FILESDIR}"/${PN}-6.10.0-musl-2.patch # bug #926341 - "${FILESDIR}"/${PN}-6.9.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-6.8.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727 - "${FILESDIR}"/${PN}-6.8.0-disable-libbsd-fallback.patch # bug #911727 -) - -src_prepare() { - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed -i "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - ${versionfile} || die - fi - - # echo -n is not POSIX compliant - sed -i 's@echo -n@printf@' configure || die - - sed -i \ - -e '/^CC :\?=/d' \ - -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ - -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ - -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ - -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ - Makefile || die - - # Build against system headers - rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc - sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die - - if use minimal ; then - sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die - fi -} - -src_configure() { - tc-export AR CC PKG_CONFIG - - # This sure is ugly. Should probably move into toolchain-funcs at some point. - local setns - pushd "${T}" >/dev/null || die - printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die - if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then - setns=y - else - setns=n - fi - - echo 'int main(){return 0;}' > test.c || die - if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then - sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die - fi - popd >/dev/null || die - - # build system does not pass CFLAGS to LDFLAGS, as is recommended by GCC upstream - # https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto - # https://bugs.gentoo.org/929233 - append-ldflags ${CFLAGS} - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --color=auto --libbpf_force $(usex bpf on off) - - # Remove the definitions made by configure and allow them to be overridden - # by USE flags below. - # We have to do the cheesy only-sed-if-disabled because otherwise - # the *_FLAGS etc stuff found by configure will be used but result - # in a broken build. - if ! use berkdb ; then - sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die - fi - - if ! use caps ; then - sed -i -e '/HAVE_CAP/d' config.mk || die - fi - - if use minimal ; then - sed -i -e '/HAVE_MNL/d' config.mk || die - fi - - if ! use elf ; then - sed -i -e '/HAVE_ELF/d' config.mk || die - fi - - if ! use nfs ; then - sed -i -e '/HAVE_RPC/d' config.mk || die - fi - - if ! use selinux ; then - sed -i -e '/HAVE_SELINUX/d' config.mk || die - fi - - # ...Now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - # Keep in sync with ifs above, or refactor to be unified. - cat <<-EOF >> config.mk - TC_CONFIG_ATM := $(usex atm y n) - TC_CONFIG_XT := $(usex iptables y n) - TC_CONFIG_NO_XT := $(usex iptables n y) - # We've locked in recent enough kernel headers, bug #549948 - TC_CONFIG_IPSET := y - HAVE_BERKELEY_DB := $(usex berkdb y n) - HAVE_CAP := $(usex caps y n) - HAVE_MNL := $(usex minimal n y) - HAVE_ELF := $(usex elf y n) - HAVE_RPC := $(usex nfs y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, bug #144265, bug #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - EOF -} - -src_compile() { - emake V=1 NETNS_RUN_DIR=/run/netns -} - -src_test() { - emake check -} - -src_install() { - if use minimal ; then - into / - dosbin tc/tc - dobin ip/ip - return 0 - fi - - emake \ - DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}"/$(get_libdir) \ - SBINDIR="${EPREFIX}"/sbin \ - CONFDIR="${EPREFIX}"/etc/iproute2 \ - DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ - MANDIR="${EPREFIX}"/usr/share/man \ - ARPDDIR="${EPREFIX}"/var/lib/arpd \ - install - - dodir /bin - mv "${ED}"/{s,}bin/ip || die # bug #330115 - mv "${ED}"/{s,}bin/ss || die # bug #547264 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - - # Collides with net-analyzer/ifstat - # https://bugs.gentoo.org/868321 - mv "${ED}"/sbin/ifstat{,-iproute2} || die - - if use berkdb ; then - keepdir /var/lib/arpd - # bug #47482, arpd doesn't need to be in /sbin - dodir /usr/bin - mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die - elif [[ -d "${ED}"/var/lib/arpd ]]; then - rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die - fi -} diff --git a/sys-apps/iproute2/iproute2-6.12.0.ebuild b/sys-apps/iproute2/iproute2-6.12.0.ebuild new file mode 100644 index 000000000000..e2a123f5156c --- /dev/null +++ b/sys-apps/iproute2/iproute2-6.12.0.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo toolchain-funcs flag-o-matic + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" + inherit git-r3 +else + SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="kernel routing and traffic control utilities" +HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" + +LICENSE="GPL-2" +SLOT="0" +IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux" +# Needs root +RESTRICT="test" + +# We could make libmnl optional, but it's tiny, so eh +RDEPEND=" + !minimal? ( net-libs/libmnl:= ) + atm? ( net-dialup/linux-atm ) + berkdb? ( sys-libs/db:= ) + bpf? ( >=dev-libs/libbpf-0.6:= ) + caps? ( sys-libs/libcap ) + elf? ( virtual/libelf:= ) + iptables? ( >=net-firewall/iptables-1.4.20:= ) + nfs? ( net-libs/libtirpc:= ) + selinux? ( sys-libs/libselinux ) +" +# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876) +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-3.16 +" +BDEPEND=" + app-arch/xz-utils + >=sys-devel/bison-2.4 + app-alternatives/lex + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.10.0-musl-1.patch # bug #936234 + "${FILESDIR}"/${PN}-6.10.0-musl-2.patch # bug #926341 + "${FILESDIR}"/${PN}-6.12.0-musl-3.patch # bug #946088 + "${FILESDIR}"/${PN}-6.9.0-mtu.patch # bug #291907 + "${FILESDIR}"/${PN}-6.8.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727 + "${FILESDIR}"/${PN}-6.8.0-disable-libbsd-fallback.patch # bug #911727 +) + +src_prepare() { + default + + # Fix version if necessary + local versionfile="include/version.h" + if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then + einfo "Fixing version string" + sed -i "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ + ${versionfile} || die + fi + + # echo -n is not POSIX compliant + sed -i 's@echo -n@printf@' configure || die + + sed -i \ + -e '/^CC :\?=/d' \ + -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ + -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ + -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ + -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ + Makefile || die + + # Build against system headers + rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc + sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die + + if use minimal ; then + sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die + fi +} + +src_configure() { + tc-export AR CC PKG_CONFIG + + # This sure is ugly. Should probably move into toolchain-funcs at some point. + local setns + pushd "${T}" >/dev/null || die + printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die + if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then + setns=y + else + setns=n + fi + + echo 'int main(){return 0;}' > test.c || die + if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then + sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die + fi + popd >/dev/null || die + + # build system does not pass CFLAGS to LDFLAGS, as is recommended by GCC upstream + # https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto + # https://bugs.gentoo.org/929233 + append-ldflags ${CFLAGS} + + # run "configure" script first which will create "config.mk"... + # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + edo ./configure --libbpf_force $(usex bpf on off) "${EXTRA_ECONF[@]}" + + # Remove the definitions made by configure and allow them to be overridden + # by USE flags below. + # We have to do the cheesy only-sed-if-disabled because otherwise + # the *_FLAGS etc stuff found by configure will be used but result + # in a broken build. + if ! use berkdb ; then + sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die + fi + + if ! use caps ; then + sed -i -e '/HAVE_CAP/d' config.mk || die + fi + + if use minimal ; then + sed -i -e '/HAVE_MNL/d' config.mk || die + fi + + if ! use elf ; then + sed -i -e '/HAVE_ELF/d' config.mk || die + fi + + if ! use nfs ; then + sed -i -e '/HAVE_RPC/d' config.mk || die + fi + + if ! use selinux ; then + sed -i -e '/HAVE_SELINUX/d' config.mk || die + fi + + # ...Now switch on/off requested features via USE flags + # this is only useful if the test did not set other things, per bug #643722 + # Keep in sync with ifs above, or refactor to be unified. + cat <<-EOF >> config.mk + TC_CONFIG_ATM := $(usex atm y n) + TC_CONFIG_XT := $(usex iptables y n) + TC_CONFIG_NO_XT := $(usex iptables n y) + # We've locked in recent enough kernel headers, bug #549948 + TC_CONFIG_IPSET := y + HAVE_BERKELEY_DB := $(usex berkdb y n) + HAVE_CAP := $(usex caps y n) + HAVE_MNL := $(usex minimal n y) + HAVE_ELF := $(usex elf y n) + HAVE_RPC := $(usex nfs y n) + HAVE_SELINUX := $(usex selinux y n) + IP_CONFIG_SETNS := ${setns} + # Use correct iptables dir, bug #144265, bug #293709 + IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) + EOF +} + +src_compile() { + emake V=1 NETNS_RUN_DIR=/run/netns +} + +src_test() { + emake check +} + +src_install() { + if use minimal ; then + into / + dosbin tc/tc + dobin ip/ip + return 0 + fi + + emake \ + DESTDIR="${D}" \ + PREFIX="${EPREFIX}/usr" \ + LIBDIR="${EPREFIX}"/$(get_libdir) \ + SBINDIR="${EPREFIX}"/sbin \ + CONFDIR="${EPREFIX}"/etc/iproute2 \ + DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ + MANDIR="${EPREFIX}"/usr/share/man \ + ARPDDIR="${EPREFIX}"/var/lib/arpd \ + install + + dodir /bin + mv "${ED}"/{s,}bin/ip || die # bug #330115 + mv "${ED}"/{s,}bin/ss || die # bug #547264 + + dolib.a lib/libnetlink.a + insinto /usr/include + doins include/libnetlink.h + + # Collides with net-analyzer/ifstat + # https://bugs.gentoo.org/868321 + mv "${ED}"/sbin/ifstat{,-iproute2} || die + + if use berkdb ; then + keepdir /var/lib/arpd + # bug #47482, arpd doesn't need to be in /sbin + dodir /usr/bin + mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die + elif [[ -d "${ED}"/var/lib/arpd ]]; then + rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die + fi +} diff --git a/sys-apps/iproute2/iproute2-6.6.0-r3.ebuild b/sys-apps/iproute2/iproute2-6.6.0-r3.ebuild deleted file mode 100644 index cc0ba0761809..000000000000 --- a/sys-apps/iproute2/iproute2-6.6.0-r3.ebuild +++ /dev/null @@ -1,212 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" - inherit git-r3 -else - SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -fi - -DESCRIPTION="kernel routing and traffic control utilities" -HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" - -LICENSE="GPL-2" -SLOT="0" -IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux" -# Needs root -RESTRICT="test" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - !minimal? ( net-libs/libmnl:= ) - atm? ( net-dialup/linux-atm ) - berkdb? ( sys-libs/db:= ) - bpf? ( dev-libs/libbpf:= ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf:= ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - nfs? ( net-libs/libtirpc:= ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876) -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-3.16 -" -BDEPEND=" - app-arch/xz-utils - >=sys-devel/bison-2.4 - app-alternatives/lex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-6.5.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-6.5.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727 - "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch - "${FILESDIR}"/${PN}-6.4.0-disable-libbsd-fallback.patch # bug #911727 - "${FILESDIR}"/${PN}-6.6.0-configure-Add-_GNU_SOURCE-to-strlcpy-configure-test.patch - "${FILESDIR}"/${PN}-6.6.0-revert-CONF_USR_DIR.patch - "${FILESDIR}"/${PN}-6.6.0-makefile-use-usr-share-config.patch - "${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622 -) - -src_prepare() { - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed -i "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - ${versionfile} || die - fi - - # echo -n is not POSIX compliant - sed -i 's@echo -n@printf@' configure || die - - sed -i \ - -e '/^CC :\?=/d' \ - -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ - -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ - -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ - -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ - Makefile || die - - # Build against system headers - rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc - sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die - - if use minimal ; then - sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die - fi -} - -src_configure() { - tc-export AR CC PKG_CONFIG - - # This sure is ugly. Should probably move into toolchain-funcs at some point. - local setns - pushd "${T}" >/dev/null || die - printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die - if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then - setns=y - else - setns=n - fi - - echo 'int main(){return 0;}' > test.c || die - if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then - sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die - fi - popd >/dev/null || die - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --libbpf_force $(usex bpf on off) - - # Remove the definitions made by configure and allow them to be overridden - # by USE flags below. - # We have to do the cheesy only-sed-if-disabled because otherwise - # the *_FLAGS etc stuff found by configure will be used but result - # in a broken build. - if ! use berkdb ; then - sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die - fi - - if ! use caps ; then - sed -i -e '/HAVE_CAP/d' config.mk || die - fi - - if use minimal ; then - sed -i -e '/HAVE_MNL/d' config.mk || die - fi - - if ! use elf ; then - sed -i -e '/HAVE_ELF/d' config.mk || die - fi - - if ! use nfs ; then - sed -i -e '/HAVE_RPC/d' config.mk || die - fi - - if ! use selinux ; then - sed -i -e '/HAVE_SELINUX/d' config.mk || die - fi - - # ...Now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - # Keep in sync with ifs above, or refactor to be unified. - cat <<-EOF >> config.mk - TC_CONFIG_ATM := $(usex atm y n) - TC_CONFIG_XT := $(usex iptables y n) - TC_CONFIG_NO_XT := $(usex iptables n y) - # We've locked in recent enough kernel headers, bug #549948 - TC_CONFIG_IPSET := y - HAVE_BERKELEY_DB := $(usex berkdb y n) - HAVE_CAP := $(usex caps y n) - HAVE_MNL := $(usex minimal n y) - HAVE_ELF := $(usex elf y n) - HAVE_RPC := $(usex nfs y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, bug #144265, bug #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - EOF -} - -src_compile() { - emake V=1 NETNS_RUN_DIR=/run/netns -} - -src_test() { - emake check -} - -src_install() { - if use minimal ; then - into / - dosbin tc/tc - dobin ip/ip - return 0 - fi - - emake \ - DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}"/$(get_libdir) \ - SBINDIR="${EPREFIX}"/sbin \ - CONFDIR="${EPREFIX}"/etc/iproute2 \ - DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ - MANDIR="${EPREFIX}"/usr/share/man \ - ARPDDIR="${EPREFIX}"/var/lib/arpd \ - install - - dodir /bin - mv "${ED}"/{s,}bin/ip || die # bug #330115 - mv "${ED}"/{s,}bin/ss || die # bug #547264 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - - # Collides with net-analyzer/ifstat - # https://bugs.gentoo.org/868321 - mv "${ED}"/sbin/ifstat{,-iproute2} || die - - if use berkdb ; then - keepdir /var/lib/arpd - # bug #47482, arpd doesn't need to be in /sbin - dodir /usr/bin - mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die - elif [[ -d "${ED}"/var/lib/arpd ]]; then - rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die - fi -} diff --git a/sys-apps/iproute2/iproute2-6.8.0-r2.ebuild b/sys-apps/iproute2/iproute2-6.8.0-r2.ebuild deleted file mode 100644 index d8f355fe7c69..000000000000 --- a/sys-apps/iproute2/iproute2-6.8.0-r2.ebuild +++ /dev/null @@ -1,214 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs flag-o-matic - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" - inherit git-r3 -else - SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -fi - -DESCRIPTION="kernel routing and traffic control utilities" -HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" - -LICENSE="GPL-2" -SLOT="0" -IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux" -# Needs root -RESTRICT="test" - -# We could make libmnl optional, but it's tiny, so eh -RDEPEND=" - !net-misc/arpd - !minimal? ( net-libs/libmnl:= ) - atm? ( net-dialup/linux-atm ) - berkdb? ( sys-libs/db:= ) - bpf? ( dev-libs/libbpf:= ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf:= ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - nfs? ( net-libs/libtirpc:= ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876) -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-3.16 -" -BDEPEND=" - app-arch/xz-utils - >=sys-devel/bison-2.4 - app-alternatives/lex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-6.5.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-6.8.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727 - "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch - "${FILESDIR}"/${PN}-6.8.0-disable-libbsd-fallback.patch # bug #911727 - "${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622 -) - -src_prepare() { - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed -i "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - ${versionfile} || die - fi - - # echo -n is not POSIX compliant - sed -i 's@echo -n@printf@' configure || die - - sed -i \ - -e '/^CC :\?=/d' \ - -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ - -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ - -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ - -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ - Makefile || die - - # Build against system headers - rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc - sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die - - if use minimal ; then - sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die - fi -} - -src_configure() { - tc-export AR CC PKG_CONFIG - - # This sure is ugly. Should probably move into toolchain-funcs at some point. - local setns - pushd "${T}" >/dev/null || die - printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die - if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then - setns=y - else - setns=n - fi - - echo 'int main(){return 0;}' > test.c || die - if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then - sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die - fi - popd >/dev/null || die - - # build system does not pass CFLAGS to LDFLAGS, as is recommended by GCC upstream - # https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto - # https://bugs.gentoo.org/929233 - append-ldflags ${CFLAGS} - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --color=auto --libbpf_force $(usex bpf on off) - - # Remove the definitions made by configure and allow them to be overridden - # by USE flags below. - # We have to do the cheesy only-sed-if-disabled because otherwise - # the *_FLAGS etc stuff found by configure will be used but result - # in a broken build. - if ! use berkdb ; then - sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die - fi - - if ! use caps ; then - sed -i -e '/HAVE_CAP/d' config.mk || die - fi - - if use minimal ; then - sed -i -e '/HAVE_MNL/d' config.mk || die - fi - - if ! use elf ; then - sed -i -e '/HAVE_ELF/d' config.mk || die - fi - - if ! use nfs ; then - sed -i -e '/HAVE_RPC/d' config.mk || die - fi - - if ! use selinux ; then - sed -i -e '/HAVE_SELINUX/d' config.mk || die - fi - - # ...Now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - # Keep in sync with ifs above, or refactor to be unified. - cat <<-EOF >> config.mk - TC_CONFIG_ATM := $(usex atm y n) - TC_CONFIG_XT := $(usex iptables y n) - TC_CONFIG_NO_XT := $(usex iptables n y) - # We've locked in recent enough kernel headers, bug #549948 - TC_CONFIG_IPSET := y - HAVE_BERKELEY_DB := $(usex berkdb y n) - HAVE_CAP := $(usex caps y n) - HAVE_MNL := $(usex minimal n y) - HAVE_ELF := $(usex elf y n) - HAVE_RPC := $(usex nfs y n) - HAVE_SELINUX := $(usex selinux y n) - IP_CONFIG_SETNS := ${setns} - # Use correct iptables dir, bug #144265, bug #293709 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - EOF -} - -src_compile() { - emake V=1 NETNS_RUN_DIR=/run/netns -} - -src_test() { - emake check -} - -src_install() { - if use minimal ; then - into / - dosbin tc/tc - dobin ip/ip - return 0 - fi - - emake \ - DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}"/$(get_libdir) \ - SBINDIR="${EPREFIX}"/sbin \ - CONFDIR="${EPREFIX}"/etc/iproute2 \ - DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ - MANDIR="${EPREFIX}"/usr/share/man \ - ARPDDIR="${EPREFIX}"/var/lib/arpd \ - install - - dodir /bin - mv "${ED}"/{s,}bin/ip || die # bug #330115 - mv "${ED}"/{s,}bin/ss || die # bug #547264 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - - # Collides with net-analyzer/ifstat - # https://bugs.gentoo.org/868321 - mv "${ED}"/sbin/ifstat{,-iproute2} || die - - if use berkdb ; then - keepdir /var/lib/arpd - # bug #47482, arpd doesn't need to be in /sbin - dodir /usr/bin - mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die - elif [[ -d "${ED}"/var/lib/arpd ]]; then - rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die - fi -} diff --git a/sys-apps/mawk/Manifest b/sys-apps/mawk/Manifest index 7a201e8a91b6..6221f7f5d7fb 100644 --- a/sys-apps/mawk/Manifest +++ b/sys-apps/mawk/Manifest @@ -1,17 +1,4 @@ -AUX mawk-1.3.4_p20240819-tests.patch 396 BLAKE2B aa24a1f960103857a746d8e932b9a18f779df9beacf1caf6fb131ff0c87426409125b7fff10a64e4f26991e340f5c754c690e5c6229fd2eb6c12edeb2708673c SHA512 e9f084af868b06a7b7b82d1e412acf3666dea3547e1a1a476c14ab7f46b10c6f8b87d387d5a531e11d67dccbf1994ac1e1913ad79bd6a3f7f2e046f63dbb3914 -DIST mawk-1.3.4-20240123.tgz 413943 BLAKE2B 29a9c89995e969a62bd0b30e494c67e53aea0466c9286e2005422a54a44bef661ef6223522c4b51bc49b83c56512ae47e784c237dd39dfef77b7aa13ec33973a SHA512 f6d5da44280afeac4a9bb6d3788ed71ee816daaa5816f49b9d40add5292f3ae06e5af007a6c993d14405238cbb70ba4997fdd2fcd5901c9a1a4b61357045c4a6 -DIST mawk-1.3.4-20240123.tgz.asc 729 BLAKE2B e4ba4ddd1f3227a9dc922a1325b00fac2d9c95a848fdc03f57eaa5f354bf45da218cbf6e931b5c1464b799c05d10ff7fe95d1eb81221b4afba468bedc7805815 SHA512 3b4b8b8b7b74aff7061158a7c284d1949c09d52d78003b678c9dcc1da036a4d84b873103d76362866daf914d5a7d717c71baf13d30d7e882b03c5f87c8e4c452 -DIST mawk-1.3.4-20240622.tgz 414190 BLAKE2B 3238e633546ea04b0e3822271fcd37d1ac6ae3924c9e7655ff14c9fa35d691ba27bb779e7c1b7f95a46c0aa90b75a71ab2681763c89812f55773e97489e03ff8 SHA512 29fed436502531e226af5e04bc54c2f4f9430c80d863f27e520401577c1f03a10d8a0d9def94c71ca43de40a7b1f450340802de37a7276bfe91d029779b1460e -DIST mawk-1.3.4-20240622.tgz.asc 729 BLAKE2B b57d41b6062a51d18525abce1c1d463debe032fe05dea9f9ac82f49cae12b7190cdcdb59ef69757b1372d777353ab3cae7a38177e99f684550bf31f85fd3eb56 SHA512 a97297424dea27207b49b51fd1461c9a158dd9a4e5289e91194beebe67a35b3b9fbb414cf8367eae296688038264f1e7b6d69a00903f9c88d0b90d32fc154ae3 -DIST mawk-1.3.4-20240819.tgz 421586 BLAKE2B cc80703428d50d3eb1ba681aedadc3c0136ecbf73505a2982b5be5a34d3dd49e52b70c05af0a30819ede8f5a6edb01d48df58f1b2554c9c17f116258ad45ffad SHA512 db547df08b6d511805e5c7995d42f63fe95014ac8f1837397e8ed4aeeaadd11dc9b0cb1f54ea3210e70b0378278b24fe31c7c7c912f1da3ce96deb61ce4dfc0f -DIST mawk-1.3.4-20240819.tgz.asc 729 BLAKE2B 59139459eb51853d3182858bc3d5db961c1b676bf7e219aff65a45bda6b32e8855502231200d9bc63b15181bce400bf883463877cb3546a237d9622681c9f650 SHA512 0e736aea177a0c28808d47dfb459502eefcccfc6f2129a0bdd3c6571d807a5bb49ef554b8169dc2c6f60c6b544bd7d490ab27ec7534846d1b6b736d98ab8fd4f -DIST mawk-1.3.4-20240827.tgz 423080 BLAKE2B 3844a0240e55b5287397763634ed16fb292919a60228fbb9e7d73e347b9ddef7a206d4207f45d1042fad87d5af62c2bb339dfa5bafc788c2aa854034fccc47f6 SHA512 29d4f4a2ef7bb75b3ac60a3bf1c9d33b09efb842b36b7106d5e76736fde2de5c5647170aa5378f4e1232e2495c064dffae6698bfbdf4546768db457b62fb2012 -DIST mawk-1.3.4-20240827.tgz.asc 729 BLAKE2B d1958ba9d04d249c744f48430ccb9deb34b0bbad5e733e2f720269d128f4f2916e6acc69fdfdd7b6b66d755a1b800847da7befa18aa9f1417ea44014e7adf6e3 SHA512 5930fad06cc53de14ff8eb14548b4a3aadf47ac93f2a7122c74db49583fe2d0eb07c29bc0082870e2760c7250c26e0e336fbba918a7c54cef6f75caf0b600357 DIST mawk-1.3.4-20240905.tgz 423935 BLAKE2B 7c15dddeb4f7afa5a94eb6c3a1f3d84be0e6ccbb56e6ba337f44432a272fd1cf6b162ccfb520f6aeb2393b174a89ba945bb6a325c584721a2ea5b89c073851de SHA512 769ce73112cb912ea82ed18f9a106209c4284a32ede41a4d8af64e862857323a9515551a4e7420d0c0fb6ea5773340771c7d68b17794fb9a810d39783fbdc1d2 DIST mawk-1.3.4-20240905.tgz.asc 729 BLAKE2B d4db8a008cac7e0a274de689ebef9fe5d7e820937cf61f9bfcac5bfeeff6e70ab920d759e750c3f7248c63876cfa4230e51b0a50b213c91e85c7e59da3e03b24 SHA512 f30f560aeb58dfcb878c2a2d756a88d68c3ed62c3232e7ad9f20469a3bd1fae667276a20a0866dd481f08830551dee6368194421e9e0370d9daa33c520230c16 -EBUILD mawk-1.3.4_p20240123.ebuild 1292 BLAKE2B 5eee6c13ced45b7d9a9d1262843304a9ce56b68532b33f795ff0bce98ff4cd246741683b89f0174d577027847ad8a8531301c4f60c32c4e8e153ad6924bf08a3 SHA512 0a4364d54585eef2b1a23b23678f7f93298b07426b81af065fbf2c63dba55ad421085ab01991337b383bd57c5c76a7095118331d7192c43ede1251ee15c25ef2 -EBUILD mawk-1.3.4_p20240622.ebuild 1300 BLAKE2B 3efdcb2f4c2c24c069e74e1241b0c47dd1317e6b8bc137b41168e9ee5366e133009e36906b36be15943ade8f21db935a0e8a22c924389bd50052dc194da6042d SHA512 110b5b5f41327d02a9107a2d5598fc008ce8cd63908e3effecdc1df43920d9cf6181064d10581e2b2959e420c1265fadcacc68d5dc95767c04fb9bb97d475127 -EBUILD mawk-1.3.4_p20240819.ebuild 1362 BLAKE2B a4a193890918d6bf951765d60fef1a214f6a1afb7f1b577badf2f17878c51b219b8afdbe381941e8404ab699d4ccc249cb0d982a881989a744c2bcf684f45272 SHA512 e6ef5323a03c71adc251ace0db6287a16ab0f911437f2f62191e2a44d0b1e738011797eb43fc9d2cef718e49852d6046a1add6afa6d2e6e95e27daeebdec2c32 -EBUILD mawk-1.3.4_p20240827.ebuild 1292 BLAKE2B 5eee6c13ced45b7d9a9d1262843304a9ce56b68532b33f795ff0bce98ff4cd246741683b89f0174d577027847ad8a8531301c4f60c32c4e8e153ad6924bf08a3 SHA512 0a4364d54585eef2b1a23b23678f7f93298b07426b81af065fbf2c63dba55ad421085ab01991337b383bd57c5c76a7095118331d7192c43ede1251ee15c25ef2 EBUILD mawk-1.3.4_p20240905.ebuild 1345 BLAKE2B 092d58eb2ff43f25c2952bba1fc9254cfe915b4e564051f7dc74150a889ab05ec716e392f1f976bf4594261b99136ebad3db7e9e8692f4a0f651bc3b0ae76f1e SHA512 ca7351b27fdd649c4ba45781ab199ecfec4558aed4334118836552c13c589729d1d1c3ee07365a1c3ab80bf4b2049db6e8643a75e4929228d38d9006ca40aacb MISC metadata.xml 422 BLAKE2B 8bd344848b5247eb1858b7cd31d91a796671c321610b826e602d9350e59769a4e6612438d9bf89ee2d6d63c327729d88a9ccb538b162beb816fde2910d0a4d9a SHA512 9adcc3c3b54ee935d3363e874e76f9e9b1efee00faac94184a84d10a6600dad4f11da51d4567acabf63707ca55f9b3d5ac3df107c6de8b38cad1da9891e82086 diff --git a/sys-apps/mawk/files/mawk-1.3.4_p20240819-tests.patch b/sys-apps/mawk/files/mawk-1.3.4_p20240819-tests.patch deleted file mode 100644 index ac75eed869d0..000000000000 --- a/sys-apps/mawk/files/mawk-1.3.4_p20240819-tests.patch +++ /dev/null @@ -1,12 +0,0 @@ -Sent upstream via email by sam on 2024-08-27. ---- a/test/mawktest -+++ b/test/mawktest -@@ -269,7 +269,7 @@ Finish "character-classes demo" - Begin "long-lines test" - if [ -f /proc/meminfo ] - then -- AWK=$PROG longline.sh | cmp -s - longline.out || Fail "longline.awk" -+ AWK=$PROG ./longline.sh | cmp -s - longline.out || Fail "longline.awk" - else - echo "SKIPPED because of memory requirements" - fi diff --git a/sys-apps/mawk/mawk-1.3.4_p20240123.ebuild b/sys-apps/mawk/mawk-1.3.4_p20240123.ebuild deleted file mode 100644 index 1c8c1b7c8b16..000000000000 --- a/sys-apps/mawk/mawk-1.3.4_p20240123.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc -inherit toolchain-funcs verify-sig - -MY_P="${P/_p/-}" -DESCRIPTION="An (often faster than gawk) awk-interpreter" -HOMEPAGE="https://invisible-island.net/mawk/mawk.html" -SRC_URI="https://invisible-mirror.net/archives/${PN}/${MY_P}.tgz" -SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${MY_P}.tgz.asc )" -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" - -BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-thomasdickey-20240114 )" - -DOCS=( ACKNOWLEDGMENT CHANGES README ) - -QA_CONFIG_IMPL_DECL_SKIP=( - arc4random_push # doesn't exist on Linux -) - -src_configure() { - tc-export BUILD_CC - econf -} - -src_install() { - default - - exeinto /usr/share/doc/${PF}/examples - doexe examples/* - docompress -x /usr/share/doc/${PF}/examples -} - -pkg_postinst() { - if has_version app-admin/eselect && has_version app-eselect/eselect-awk; then - eselect awk update ifunset - fi -} - -pkg_postrm() { - if has_version app-admin/eselect && has_version app-eselect/eselect-awk; then - eselect awk update ifunset - fi -} diff --git a/sys-apps/mawk/mawk-1.3.4_p20240622.ebuild b/sys-apps/mawk/mawk-1.3.4_p20240622.ebuild deleted file mode 100644 index 2415e17ab962..000000000000 --- a/sys-apps/mawk/mawk-1.3.4_p20240622.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc -inherit toolchain-funcs verify-sig - -MY_P="${P/_p/-}" -DESCRIPTION="An (often faster than gawk) awk-interpreter" -HOMEPAGE="https://invisible-island.net/mawk/mawk.html" -SRC_URI="https://invisible-mirror.net/archives/${PN}/${MY_P}.tgz" -SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${MY_P}.tgz.asc )" -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" - -BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-thomasdickey-20240114 )" - -DOCS=( ACKNOWLEDGMENT CHANGES README ) - -QA_CONFIG_IMPL_DECL_SKIP=( - arc4random_push # doesn't exist on Linux -) - -src_configure() { - tc-export BUILD_CC - econf -} - -src_install() { - default - - exeinto /usr/share/doc/${PF}/examples - doexe examples/* - docompress -x /usr/share/doc/${PF}/examples -} - -pkg_postinst() { - if has_version app-admin/eselect && has_version app-eselect/eselect-awk; then - eselect awk update ifunset - fi -} - -pkg_postrm() { - if has_version app-admin/eselect && has_version app-eselect/eselect-awk; then - eselect awk update ifunset - fi -} diff --git a/sys-apps/mawk/mawk-1.3.4_p20240819.ebuild b/sys-apps/mawk/mawk-1.3.4_p20240819.ebuild deleted file mode 100644 index 6385a92abf71..000000000000 --- a/sys-apps/mawk/mawk-1.3.4_p20240819.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc -inherit toolchain-funcs verify-sig - -MY_P="${P/_p/-}" -DESCRIPTION="An (often faster than gawk) awk-interpreter" -HOMEPAGE="https://invisible-island.net/mawk/mawk.html" -SRC_URI="https://invisible-mirror.net/archives/${PN}/${MY_P}.tgz" -SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${MY_P}.tgz.asc )" -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" - -BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-thomasdickey-20240114 )" - -DOCS=( ACKNOWLEDGMENT CHANGES README ) - -QA_CONFIG_IMPL_DECL_SKIP=( - arc4random_push # doesn't exist on Linux -) - -PATCHES=( - "${FILESDIR}"/${PN}-1.3.4_p20240819-tests.patch -) - -src_configure() { - tc-export BUILD_CC - econf -} - -src_install() { - default - - exeinto /usr/share/doc/${PF}/examples - doexe examples/* - docompress -x /usr/share/doc/${PF}/examples -} - -pkg_postinst() { - if has_version app-admin/eselect && has_version app-eselect/eselect-awk; then - eselect awk update ifunset - fi -} - -pkg_postrm() { - if has_version app-admin/eselect && has_version app-eselect/eselect-awk; then - eselect awk update ifunset - fi -} diff --git a/sys-apps/mawk/mawk-1.3.4_p20240827.ebuild b/sys-apps/mawk/mawk-1.3.4_p20240827.ebuild deleted file mode 100644 index 1c8c1b7c8b16..000000000000 --- a/sys-apps/mawk/mawk-1.3.4_p20240827.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc -inherit toolchain-funcs verify-sig - -MY_P="${P/_p/-}" -DESCRIPTION="An (often faster than gawk) awk-interpreter" -HOMEPAGE="https://invisible-island.net/mawk/mawk.html" -SRC_URI="https://invisible-mirror.net/archives/${PN}/${MY_P}.tgz" -SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${MY_P}.tgz.asc )" -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" - -BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-thomasdickey-20240114 )" - -DOCS=( ACKNOWLEDGMENT CHANGES README ) - -QA_CONFIG_IMPL_DECL_SKIP=( - arc4random_push # doesn't exist on Linux -) - -src_configure() { - tc-export BUILD_CC - econf -} - -src_install() { - default - - exeinto /usr/share/doc/${PF}/examples - doexe examples/* - docompress -x /usr/share/doc/${PF}/examples -} - -pkg_postinst() { - if has_version app-admin/eselect && has_version app-eselect/eselect-awk; then - eselect awk update ifunset - fi -} - -pkg_postrm() { - if has_version app-admin/eselect && has_version app-eselect/eselect-awk; then - eselect awk update ifunset - fi -} diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest index 217f50a7c34a..26401fdd8d33 100644 --- a/sys-apps/systemd-utils/Manifest +++ b/sys-apps/systemd-utils/Manifest @@ -15,7 +15,7 @@ DIST systemd-stable-254.17.tar.gz 14566862 BLAKE2B fca04c8db285cf22551f7c980da52 DIST systemd-stable-254.21.tar.gz 14664320 BLAKE2B 3814f3ed8561dc096aa66039d63591ee1462184a0ffe3e34417ec47b1bb411b506be586692898862ebd5ea24c16bdcedde9a702826ca558e95329d0a1264f377 SHA512 96e49fb86284642157be173db763f888a1c34c078f12fee987a5c68e91611a75b6c52e67162dd8390f57f6d10798530a38b4940b1f03f10f97123c2cc242897b DIST systemd-stable-255.15.tar.gz 15207869 BLAKE2B 5bd314f008782d5d6148bf6a0ab437be23e71ca4dab1fc0aff61e6cc17e9b43da7fbae5a1bfa7d829ba0d8dcb28b43a1a2fbd4fcd0d79fd4154336f98fb25a25 SHA512 39e4d03da90bcceb30517098b012cea991067cdd88cf577a23243c28341424e38a5dbb8f92e51b32f8f651e880ae6ca48490f7de8d0dc3525e6629250f546000 EBUILD systemd-utils-254.17.ebuild 13350 BLAKE2B 728305ead1a6099a64274cc088e46489135db7aa8fa7dd28198442ec4da3492a1e09f532b424e3cb90e055f60c05f90d65bb6516b4480d379ba226b99a47b5ed SHA512 fcdcb169fb5629c308088e2b022b633dc32f191e9adc4b8ae37b3176d75a8eb5df89e00a0ce7337b19b52f41247f1601390c127a7a5578c4ecc2ad2038c26db3 -EBUILD systemd-utils-254.21.ebuild 13358 BLAKE2B 1d52ea3706da5fa213761f737017ae9473513e7e41e33721a148119b35f3a715a4a29930a1712a72909bf5cf3f1939b67745a309d25ff7e0e6e45802c1b2ad4f SHA512 a734aab27311ad7a18dec71554a8bf79052ed56d0e0d8cdf895a0ae305778d210ba5a1ca8477ee7b49f2f00c89c30c2af17e50bd1e704421cc2d6c138d7a9359 -EBUILD systemd-utils-255.15.ebuild 14235 BLAKE2B 389511955682d1bf8cc0f9536f5aa5d6df6472f881d39c9edc3a531b66132d0c5ddc3f72399d4869fdba8d2f5a3cc8f70c35d5ec35c67fc4673f43522e30cea2 SHA512 77278be0f2b69f5f32b98e097ae3ff745547c5e6d2fe6d11f62ef022cd2edc05735452b1a3cf79ee3f5ab4cf992b514ba8c4882b7b56f68926df6d46d03222ee -EBUILD systemd-utils-256.9.ebuild 13970 BLAKE2B 198b142237d05889ed019b9c158b1d0f4d20195e5d8e1ba2b0e91778a467ad2984c2abc3061a623f2813f2aa320cdaaef8ea1bcaddf887baf0b9d9cf25d1f0ed SHA512 8122688938367994d71df837959876b299bbdf35e85f8b8e97cc97937e6b814ed562cc76c89ad3b3a45f48367cff70bbcee3ef9da6f95bc7a8e76ca27f897238 +EBUILD systemd-utils-254.21-r1.ebuild 13412 BLAKE2B 2e9504b9829a0739f02b88a0aa179f809f65898c80bc903378162ec9cf90dc7f8e492006dcaf8fc0f036f29785041711ddd227e6417a53515e4495467c152f40 SHA512 20c367e39e2430bcd623fb136249208009cffb76139523d02e8b5f70c950d67ec36ec3dfa43dc4ddada2f732b8831f1ba766265f96b181b0cbdb25f39d4a396b +EBUILD systemd-utils-255.15-r1.ebuild 14289 BLAKE2B c304c8d057d8276a6d8e54d1454242be4e087bf5327dbe505673192fb90b17c239207143d1e405bc5f261eea25c343b672997d7dab5ed5f3db33dbe876d4da51 SHA512 3b85e062cfa1bd0873463500e6f3d2b93dc6c30c0f4da664f7b31a9a8fb91f573692f672d6953d267bb5f11a886e0893c02d574f119e2902bc0fe875f3631e1b +EBUILD systemd-utils-256.9-r1.ebuild 14024 BLAKE2B bd45ed23181a9d803ac667988dcad062f7c4d06650baf8ca304eb3305c7dd995dfdba166df10358b9bcc9a1af7d5b93ea5bcb5672540c418e416d1cfba4a4ee9 SHA512 92e8c04b41516c1bceb8665b7239158b9120cefc26d5429138265b7e95c61ce9ccff0f0dbdde4040299fcc348f146c12b356c021ed72a5433285883ceec2a5e5 MISC metadata.xml 888 BLAKE2B b799e1d62a1208dbbec1a1cfb47592b069d5c79cb18efffef922c72b0d61e30938d26c6f4e0d3951f9c327601dd71de14062dad0a47e6b84a61b1a8b125f1a6b SHA512 6debd964f9c127ba4332e0c0b86e506d3cf10cbe3cd45442bf7955b16e790a9eccdd928d473b3722b11b4a75d34fe5bb91f4867a5dc92e786ba73d9ec3f54712 diff --git a/sys-apps/systemd-utils/systemd-utils-254.21-r1.ebuild b/sys-apps/systemd-utils/systemd-utils-254.21-r1.ebuild new file mode 100644 index 000000000000..28e5f1212998 --- /dev/null +++ b/sys-apps/systemd-utils/systemd-utils-254.21-r1.ebuild @@ -0,0 +1,585 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..12} ) + +QA_PKGCONFIG_VERSION=$(ver_cut 1) + +inherit bash-completion-r1 flag-o-matic linux-info meson-multilib optfeature +inherit python-single-r1 secureboot toolchain-funcs udev + +DESCRIPTION="Utilities split out from systemd for OpenRC users" +HOMEPAGE="https://systemd.io/" + +if [[ ${PV} == *.* ]]; then + MY_P="systemd-stable-${PV}" + S="${WORKDIR}/${MY_P}" + SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" +else + MY_P="systemd-${PV}" + S="${WORKDIR}/${MY_P}" + SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" +fi + +MUSL_PATCHSET="systemd-musl-patches-254.3-r1" +SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify" +REQUIRED_USE=" + || ( kernel-install tmpfiles sysusers udev ) + boot? ( kernel-install ) + ukify? ( boot ) + ${PYTHON_REQUIRED_USE} +" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + elibc_musl? ( >=sys-libs/musl-1.2.3 ) + selinux? ( sys-libs/libselinux:0= ) + tmpfiles? ( + acl? ( sys-apps/acl:0= ) + ) + udev? ( + >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}] + sys-libs/libcap:0=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + acl? ( sys-apps/acl:0= ) + kmod? ( >=sys-apps/kmod-15:0= ) + ) + !udev? ( + >=sys-apps/util-linux-2.30:0= + sys-libs/libcap:0= + virtual/libcrypt:= + ) +" +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-3.11 +" + +PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' + +RDEPEND="${COMMON_DEPEND} + boot? ( !=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] ) + ukify? ( test? ( ${PEFILE_DEPEND} ) ) + ") +" + +TMPFILES_OPTIONAL=1 +UDEV_OPTIONAL=1 + +QA_EXECSTACK="usr/lib/systemd/boot/efi/*" +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" + +CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED + ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX" + +pkg_setup() { + if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then + linux-info_pkg_setup + fi + use boot && secureboot_pkg_setup +} + +src_prepare() { + local PATCHES=( + "${FILESDIR}/${PN}-254.3-add-link-kernel-install-shared-option.patch" + ) + + if use elibc_musl; then + PATCHES+=( + "${WORKDIR}/${MUSL_PATCHSET}" + ) + fi + default + + # Remove install_rpath; we link statically + local rpath_pattern="install_rpath : rootpkglibdir," + grep -q -e "${rpath_pattern}" meson.build || die + sed -i -e "/${rpath_pattern}/d" meson.build || die +} + +src_configure() { + python_setup + meson-multilib_src_configure +} + +multilib_src_configure() { + local emesonargs=( + # default is developer, bug 918671 + -Dmode=release + $(meson_use split-usr) + $(meson_use split-usr split-bin) + -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")" + -Drootlibdir="${EPREFIX}/usr/$(get_libdir)" + -Dsysvinit-path= + $(meson_native_use_bool boot bootloader) + $(meson_native_use_bool kernel-install) + $(meson_native_use_bool selinux) + $(meson_native_use_bool sysusers) + $(meson_use test tests) + $(meson_native_use_bool tmpfiles) + $(meson_use udev hwdb) + $(meson_native_use_bool ukify) + + # Link staticly with libsystemd-shared + -Dlink-boot-shared=false + -Dlink-kernel-install-shared=false + -Dlink-udev-shared=false + + # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" target + -Dstandalone-binaries=true + + # Disable all optional features + -Dadm-group=false + -Danalyze=false + -Dapparmor=false + -Daudit=false + -Dbacklight=false + -Dbinfmt=false + -Dbpf-framework=false + -Dbzip2=false + -Dcoredump=false + -Ddbus=false + -Delfutils=false + -Denvironment-d=false + -Dfdisk=false + -Dgcrypt=false + -Dglib=false + -Dgshadow=false + -Dgnutls=false + -Dhibernate=false + -Dhostnamed=false + -Didn=false + -Dima=false + -Dinitrd=false + -Dfirstboot=false + -Dldconfig=false + -Dlibcryptsetup=false + -Dlibcurl=false + -Dlibfido2=false + -Dlibidn=false + -Dlibidn2=false + -Dlibiptc=false + -Dlocaled=false + -Dlogind=false + -Dlz4=false + -Dmachined=false + -Dmicrohttpd=false + -Dnetworkd=false + -Dnscd=false + -Dnss-myhostname=false + -Dnss-resolve=false + -Dnss-systemd=false + -Doomd=false + -Dopenssl=false + -Dp11kit=false + -Dpam=false + -Dpcre2=false + -Dpolkit=false + -Dportabled=false + -Dpstore=false + -Dpwquality=false + -Drandomseed=false + -Dresolve=false + -Drfkill=false + -Dseccomp=false + -Dsmack=false + -Dsysext=false + -Dtimedated=false + -Dtimesyncd=false + -Dtpm=false + -Dqrencode=false + -Dquotacheck=false + -Duserdb=false + -Dutmp=false + -Dvconsole=false + -Dwheel-group=false + -Dxdg-autostart=false + -Dxkbcommon=false + -Dxz=false + -Dzlib=false + -Dzstd=false + ) + + if use tmpfiles || use udev; then + emesonargs+=( $(meson_native_use_bool acl) ) + else + emesonargs+=( -Dacl=false ) + fi + + if use udev; then + emesonargs+=( $(meson_native_use_bool kmod) ) + else + emesonargs+=( -Dkmod=false ) + fi + + if use elibc_musl; then + # Avoid redefinition of struct ethhdr. + append-cppflags -D__UAPI_DEF_ETHHDR=0 + fi + + if multilib_is_native_abi || use udev; then + meson_src_configure + fi +} + +efi_arch() { + case "$(tc-arch)" in + amd64) echo x64 ;; + arm) echo arm ;; + arm64) echo aa64 ;; + x86) echo x86 ;; + esac +} + +multilib_src_compile() { + local targets=() + if multilib_is_native_abi; then + if use boot; then + targets+=( + bootctl + man/bootctl.1 + src/boot/efi/linux$(efi_arch).efi.stub + src/boot/efi/systemd-boot$(efi_arch).efi + ) + fi + if use kernel-install; then + targets+=( + kernel-install + src/kernel-install/90-loaderentry.install + man/kernel-install.8 + ) + fi + if use sysusers; then + targets+=( + systemd-sysusers.standalone + man/sysusers.d.5 + man/systemd-sysusers.8 + ) + if use test; then + targets+=( + systemd-runtest.env + ) + fi + fi + if use tmpfiles; then + targets+=( + systemd-tmpfiles.standalone + man/tmpfiles.d.5 + man/systemd-tmpfiles.8 + tmpfiles.d/{etc,static-nodes-permissions,var}.conf + ) + if use test; then + targets+=( test-tmpfile-util ) + fi + fi + if use udev; then + targets+=( + udevadm + systemd-hwdb + src/udev/ata_id + src/udev/cdrom_id + src/udev/fido_id + src/udev/mtd_probe + src/udev/scsi_id + src/udev/udev.pc + src/udev/v4l_id + man/udev.conf.5 + man/systemd.link.5 + man/hwdb.7 + man/udev.7 + man/systemd-hwdb.8 + man/systemd-udevd.service.8 + man/udevadm.8 + man/libudev.3 + man/udev_device_get_syspath.3 + man/udev_device_has_tag.3 + man/udev_device_new_from_syspath.3 + man/udev_enumerate_add_match_subsystem.3 + man/udev_enumerate_new.3 + man/udev_enumerate_scan_devices.3 + man/udev_list_entry.3 + man/udev_monitor_filter_update.3 + man/udev_monitor_new_from_netlink.3 + man/udev_monitor_receive_device.3 + man/udev_new.3 + hwdb.d/60-autosuspend-chromiumos.hwdb + rules.d/50-udev-default.rules + rules.d/60-persistent-storage.rules + rules.d/64-btrfs.rules + ) + if use test; then + targets+=( + test-fido-id-desc + test-udev-builtin + test-udev-event + test-udev-node + test-udev-util + udev-rule-runner + ) + fi + fi + if use ukify; then + targets+=( + ukify + src/kernel-install/60-ukify.install + man/ukify.1 + ) + fi + fi + if use udev; then + targets+=( + libudev + src/libudev/libudev.pc + ) + if use test; then + targets+=( + test-libudev + test-libudev-sym + test-udev-device-thread + ) + fi + fi + if multilib_is_native_abi || use udev; then + meson_src_compile "${targets[@]}" + fi +} + +multilib_src_test() { + local tests=() + if multilib_is_native_abi; then + if use sysusers; then + tests+=( + test-sysusers.standalone + ) + fi + if use tmpfiles; then + tests+=( + test-systemd-tmpfiles.standalone + test-tmpfile-util + ) + fi + if use udev; then + tests+=( + rule-syntax-check + test-fido-id-desc + test-udev + test-udev-builtin + test-udev-event + test-udev-node + test-udev-util + ) + fi + fi + if use udev; then + tests+=( + test-libudev + test-libudev-sym + test-udev-device-thread + ) + fi + if [[ ${#tests[@]} -ne 0 ]]; then + meson_src_test "${tests[@]}" + fi +} + +src_install() { + local rootprefix="$(usex split-usr '' /usr)" + meson-multilib_src_install +} + +multilib_src_install() { + if multilib_is_native_abi; then + if use boot; then + into /usr + dobin bootctl + doman man/bootctl.1 + insinto usr/lib/systemd/boot/efi + doins src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi} + fi + if use kernel-install; then + dobin kernel-install + doman man/kernel-install.8 + exeinto usr/lib/kernel/install.d + doexe src/kernel-install/*.install + fi + if use sysusers; then + into "${rootprefix:-/}" + newbin systemd-sysusers{.standalone,} + doman man/{systemd-sysusers.8,sysusers.d.5} + fi + if use tmpfiles; then + into "${rootprefix:-/}" + newbin systemd-tmpfiles{.standalone,} + doman man/{systemd-tmpfiles.8,tmpfiles.d.5} + insinto /usr/lib/tmpfiles.d + doins tmpfiles.d/{etc,static-nodes-permissions,var}.conf + fi + if use udev; then + into "${rootprefix:-/}" + dobin udevadm systemd-hwdb + dosym ../../bin/udevadm "${rootprefix}"/lib/systemd/systemd-udevd + + exeinto "${rootprefix}"/lib/udev + doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id} + + rm -f rules.d/99-systemd.rules + insinto "${rootprefix}"/lib/udev/rules.d + doins rules.d/*.rules + + insinto "${rootprefix}"/lib/udev/hwdb.d + doins hwdb.d/*.hwdb + + insinto /usr/share/pkgconfig + doins src/udev/udev.pc + + doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8} + newman man/systemd-udevd.service.8 systemd-udevd.8 + doman man/libudev.3 + doman man/udev_*.3 + fi + if use ukify; then + exeinto "${rootprefix}"/lib/systemd/ + doexe ukify + doman man/ukify.1 + fi + fi + if use udev; then + meson_install --no-rebuild --tags libudev + insinto "/usr/$(get_libdir)/pkgconfig" + doins src/libudev/libudev.pc + fi +} + +multilib_src_install_all() { + einstalldocs + if use boot; then + into /usr + dobashcomp shell-completion/bash/bootctl + insinto /usr/share/zsh/site-functions + doins shell-completion/zsh/{_bootctl,_kernel-install} + fi + if use kernel-install; then + exeinto usr/lib/kernel/install.d + doexe src/kernel-install/*.install + fi + if use tmpfiles; then + doinitd "${FILESDIR}"/systemd-tmpfiles-setup + doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev + exeinto /etc/cron.daily + doexe "${FILESDIR}"/systemd-tmpfiles-clean + insinto /usr/share/zsh/site-functions + doins shell-completion/zsh/_systemd-tmpfiles + insinto /usr/lib/tmpfiles.d + doins tmpfiles.d/x11.conf + doins "${FILESDIR}"/{legacy,tmp}.conf + fi + if use udev; then + doheader src/libudev/libudev.h + + insinto /etc/udev + doins src/udev/udev.conf + keepdir /etc/udev/{hwdb.d,rules.d} + + insinto "${rootprefix}"/lib/systemd/network + doins network/99-default.link + + # Remove to avoid conflict with elogind + # https://bugs.gentoo.org/856433 + rm rules.d/70-power-switch.rules || die + insinto "${rootprefix}"/lib/udev/rules.d + doins rules.d/*.rules + doins "${FILESDIR}"/40-gentoo.rules + + insinto "${rootprefix}"/lib/udev/hwdb.d + doins hwdb.d/*.hwdb + + dobashcomp shell-completion/bash/udevadm + + insinto /usr/share/zsh/site-functions + doins shell-completion/zsh/_udevadm + fi + + use ukify && python_fix_shebang "${ED}" + use boot && secureboot_auto_sign +} + +add_service() { + local initd=$1 + local runlevel=$2 + + ebegin "Adding '${initd}' service to the '${runlevel}' runlevel" + mkdir -p "${EROOT}/etc/runlevels/${runlevel}" && + ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}" + eend $? +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + add_service systemd-tmpfiles-setup-dev sysinit + add_service systemd-tmpfiles-setup boot + fi + if use udev; then + ebegin "Updating hwdb" + systemd-hwdb --root="${ROOT}" update + eend $? + udev_reload + fi + + if use boot; then + optfeature "automatically installing the kernels in systemd-boot's native layout and updating the bootloader configuration" \ + "sys-kernel/installkernel[systemd-boot]" + fi + if use ukify; then + optfeature "automatically generating an unified kernel image on each kernel installation" \ + "sys-kernel/installkernel[ukify]" + fi +} diff --git a/sys-apps/systemd-utils/systemd-utils-254.21.ebuild b/sys-apps/systemd-utils/systemd-utils-254.21.ebuild deleted file mode 100644 index d286731a7dd0..000000000000 --- a/sys-apps/systemd-utils/systemd-utils-254.21.ebuild +++ /dev/null @@ -1,583 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) - -QA_PKGCONFIG_VERSION=$(ver_cut 1) - -inherit bash-completion-r1 flag-o-matic linux-info meson-multilib optfeature -inherit python-single-r1 secureboot toolchain-funcs udev - -DESCRIPTION="Utilities split out from systemd for OpenRC users" -HOMEPAGE="https://systemd.io/" - -if [[ ${PV} == *.* ]]; then - MY_P="systemd-stable-${PV}" - S="${WORKDIR}/${MY_P}" - SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" -else - MY_P="systemd-${PV}" - S="${WORKDIR}/${MY_P}" - SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" -fi - -MUSL_PATCHSET="systemd-musl-patches-254.3-r1" -SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )" - -LICENSE="GPL-2 LGPL-2.1 MIT public-domain" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify" -REQUIRED_USE=" - || ( kernel-install tmpfiles sysusers udev ) - boot? ( kernel-install ) - ukify? ( boot ) - ${PYTHON_REQUIRED_USE} -" -RESTRICT="!test? ( test )" - -COMMON_DEPEND=" - elibc_musl? ( >=sys-libs/musl-1.2.3 ) - selinux? ( sys-libs/libselinux:0= ) - tmpfiles? ( - acl? ( sys-apps/acl:0= ) - ) - udev? ( - >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}] - sys-libs/libcap:0=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - acl? ( sys-apps/acl:0= ) - kmod? ( >=sys-apps/kmod-15:0= ) - ) - !udev? ( - >=sys-apps/util-linux-2.30:0= - sys-libs/libcap:0= - virtual/libcrypt:= - ) -" -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-3.11 -" - -PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' - -RDEPEND="${COMMON_DEPEND} - boot? ( !=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] ) - ukify? ( test? ( ${PEFILE_DEPEND} ) ) - ") -" - -TMPFILES_OPTIONAL=1 -UDEV_OPTIONAL=1 - -QA_EXECSTACK="usr/lib/systemd/boot/efi/*" -QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" - -CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED - ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX" - -pkg_setup() { - if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then - linux-info_pkg_setup - fi - use boot && secureboot_pkg_setup -} - -src_prepare() { - local PATCHES=( - "${FILESDIR}/${PN}-254.3-add-link-kernel-install-shared-option.patch" - ) - - if use elibc_musl; then - PATCHES+=( - "${WORKDIR}/${MUSL_PATCHSET}" - ) - fi - default - - # Remove install_rpath; we link statically - local rpath_pattern="install_rpath : rootpkglibdir," - grep -q -e "${rpath_pattern}" meson.build || die - sed -i -e "/${rpath_pattern}/d" meson.build || die -} - -src_configure() { - python_setup - meson-multilib_src_configure -} - -multilib_src_configure() { - local emesonargs=( - $(meson_use split-usr) - $(meson_use split-usr split-bin) - -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")" - -Drootlibdir="${EPREFIX}/usr/$(get_libdir)" - -Dsysvinit-path= - $(meson_native_use_bool boot bootloader) - $(meson_native_use_bool kernel-install) - $(meson_native_use_bool selinux) - $(meson_native_use_bool sysusers) - $(meson_use test tests) - $(meson_native_use_bool tmpfiles) - $(meson_use udev hwdb) - $(meson_native_use_bool ukify) - - # Link staticly with libsystemd-shared - -Dlink-boot-shared=false - -Dlink-kernel-install-shared=false - -Dlink-udev-shared=false - - # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" target - -Dstandalone-binaries=true - - # Disable all optional features - -Dadm-group=false - -Danalyze=false - -Dapparmor=false - -Daudit=false - -Dbacklight=false - -Dbinfmt=false - -Dbpf-framework=false - -Dbzip2=false - -Dcoredump=false - -Ddbus=false - -Delfutils=false - -Denvironment-d=false - -Dfdisk=false - -Dgcrypt=false - -Dglib=false - -Dgshadow=false - -Dgnutls=false - -Dhibernate=false - -Dhostnamed=false - -Didn=false - -Dima=false - -Dinitrd=false - -Dfirstboot=false - -Dldconfig=false - -Dlibcryptsetup=false - -Dlibcurl=false - -Dlibfido2=false - -Dlibidn=false - -Dlibidn2=false - -Dlibiptc=false - -Dlocaled=false - -Dlogind=false - -Dlz4=false - -Dmachined=false - -Dmicrohttpd=false - -Dnetworkd=false - -Dnscd=false - -Dnss-myhostname=false - -Dnss-resolve=false - -Dnss-systemd=false - -Doomd=false - -Dopenssl=false - -Dp11kit=false - -Dpam=false - -Dpcre2=false - -Dpolkit=false - -Dportabled=false - -Dpstore=false - -Dpwquality=false - -Drandomseed=false - -Dresolve=false - -Drfkill=false - -Dseccomp=false - -Dsmack=false - -Dsysext=false - -Dtimedated=false - -Dtimesyncd=false - -Dtpm=false - -Dqrencode=false - -Dquotacheck=false - -Duserdb=false - -Dutmp=false - -Dvconsole=false - -Dwheel-group=false - -Dxdg-autostart=false - -Dxkbcommon=false - -Dxz=false - -Dzlib=false - -Dzstd=false - ) - - if use tmpfiles || use udev; then - emesonargs+=( $(meson_native_use_bool acl) ) - else - emesonargs+=( -Dacl=false ) - fi - - if use udev; then - emesonargs+=( $(meson_native_use_bool kmod) ) - else - emesonargs+=( -Dkmod=false ) - fi - - if use elibc_musl; then - # Avoid redefinition of struct ethhdr. - append-cppflags -D__UAPI_DEF_ETHHDR=0 - fi - - if multilib_is_native_abi || use udev; then - meson_src_configure - fi -} - -efi_arch() { - case "$(tc-arch)" in - amd64) echo x64 ;; - arm) echo arm ;; - arm64) echo aa64 ;; - x86) echo x86 ;; - esac -} - -multilib_src_compile() { - local targets=() - if multilib_is_native_abi; then - if use boot; then - targets+=( - bootctl - man/bootctl.1 - src/boot/efi/linux$(efi_arch).efi.stub - src/boot/efi/systemd-boot$(efi_arch).efi - ) - fi - if use kernel-install; then - targets+=( - kernel-install - src/kernel-install/90-loaderentry.install - man/kernel-install.8 - ) - fi - if use sysusers; then - targets+=( - systemd-sysusers.standalone - man/sysusers.d.5 - man/systemd-sysusers.8 - ) - if use test; then - targets+=( - systemd-runtest.env - ) - fi - fi - if use tmpfiles; then - targets+=( - systemd-tmpfiles.standalone - man/tmpfiles.d.5 - man/systemd-tmpfiles.8 - tmpfiles.d/{etc,static-nodes-permissions,var}.conf - ) - if use test; then - targets+=( test-tmpfile-util ) - fi - fi - if use udev; then - targets+=( - udevadm - systemd-hwdb - src/udev/ata_id - src/udev/cdrom_id - src/udev/fido_id - src/udev/mtd_probe - src/udev/scsi_id - src/udev/udev.pc - src/udev/v4l_id - man/udev.conf.5 - man/systemd.link.5 - man/hwdb.7 - man/udev.7 - man/systemd-hwdb.8 - man/systemd-udevd.service.8 - man/udevadm.8 - man/libudev.3 - man/udev_device_get_syspath.3 - man/udev_device_has_tag.3 - man/udev_device_new_from_syspath.3 - man/udev_enumerate_add_match_subsystem.3 - man/udev_enumerate_new.3 - man/udev_enumerate_scan_devices.3 - man/udev_list_entry.3 - man/udev_monitor_filter_update.3 - man/udev_monitor_new_from_netlink.3 - man/udev_monitor_receive_device.3 - man/udev_new.3 - hwdb.d/60-autosuspend-chromiumos.hwdb - rules.d/50-udev-default.rules - rules.d/60-persistent-storage.rules - rules.d/64-btrfs.rules - ) - if use test; then - targets+=( - test-fido-id-desc - test-udev-builtin - test-udev-event - test-udev-node - test-udev-util - udev-rule-runner - ) - fi - fi - if use ukify; then - targets+=( - ukify - src/kernel-install/60-ukify.install - man/ukify.1 - ) - fi - fi - if use udev; then - targets+=( - libudev - src/libudev/libudev.pc - ) - if use test; then - targets+=( - test-libudev - test-libudev-sym - test-udev-device-thread - ) - fi - fi - if multilib_is_native_abi || use udev; then - meson_src_compile "${targets[@]}" - fi -} - -multilib_src_test() { - local tests=() - if multilib_is_native_abi; then - if use sysusers; then - tests+=( - test-sysusers.standalone - ) - fi - if use tmpfiles; then - tests+=( - test-systemd-tmpfiles.standalone - test-tmpfile-util - ) - fi - if use udev; then - tests+=( - rule-syntax-check - test-fido-id-desc - test-udev - test-udev-builtin - test-udev-event - test-udev-node - test-udev-util - ) - fi - fi - if use udev; then - tests+=( - test-libudev - test-libudev-sym - test-udev-device-thread - ) - fi - if [[ ${#tests[@]} -ne 0 ]]; then - meson_src_test "${tests[@]}" - fi -} - -src_install() { - local rootprefix="$(usex split-usr '' /usr)" - meson-multilib_src_install -} - -multilib_src_install() { - if multilib_is_native_abi; then - if use boot; then - into /usr - dobin bootctl - doman man/bootctl.1 - insinto usr/lib/systemd/boot/efi - doins src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi} - fi - if use kernel-install; then - dobin kernel-install - doman man/kernel-install.8 - exeinto usr/lib/kernel/install.d - doexe src/kernel-install/*.install - fi - if use sysusers; then - into "${rootprefix:-/}" - newbin systemd-sysusers{.standalone,} - doman man/{systemd-sysusers.8,sysusers.d.5} - fi - if use tmpfiles; then - into "${rootprefix:-/}" - newbin systemd-tmpfiles{.standalone,} - doman man/{systemd-tmpfiles.8,tmpfiles.d.5} - insinto /usr/lib/tmpfiles.d - doins tmpfiles.d/{etc,static-nodes-permissions,var}.conf - fi - if use udev; then - into "${rootprefix:-/}" - dobin udevadm systemd-hwdb - dosym ../../bin/udevadm "${rootprefix}"/lib/systemd/systemd-udevd - - exeinto "${rootprefix}"/lib/udev - doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id} - - rm -f rules.d/99-systemd.rules - insinto "${rootprefix}"/lib/udev/rules.d - doins rules.d/*.rules - - insinto "${rootprefix}"/lib/udev/hwdb.d - doins hwdb.d/*.hwdb - - insinto /usr/share/pkgconfig - doins src/udev/udev.pc - - doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8} - newman man/systemd-udevd.service.8 systemd-udevd.8 - doman man/libudev.3 - doman man/udev_*.3 - fi - if use ukify; then - exeinto "${rootprefix}"/lib/systemd/ - doexe ukify - doman man/ukify.1 - fi - fi - if use udev; then - meson_install --no-rebuild --tags libudev - insinto "/usr/$(get_libdir)/pkgconfig" - doins src/libudev/libudev.pc - fi -} - -multilib_src_install_all() { - einstalldocs - if use boot; then - into /usr - dobashcomp shell-completion/bash/bootctl - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/{_bootctl,_kernel-install} - fi - if use kernel-install; then - exeinto usr/lib/kernel/install.d - doexe src/kernel-install/*.install - fi - if use tmpfiles; then - doinitd "${FILESDIR}"/systemd-tmpfiles-setup - doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev - exeinto /etc/cron.daily - doexe "${FILESDIR}"/systemd-tmpfiles-clean - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/_systemd-tmpfiles - insinto /usr/lib/tmpfiles.d - doins tmpfiles.d/x11.conf - doins "${FILESDIR}"/{legacy,tmp}.conf - fi - if use udev; then - doheader src/libudev/libudev.h - - insinto /etc/udev - doins src/udev/udev.conf - keepdir /etc/udev/{hwdb.d,rules.d} - - insinto "${rootprefix}"/lib/systemd/network - doins network/99-default.link - - # Remove to avoid conflict with elogind - # https://bugs.gentoo.org/856433 - rm rules.d/70-power-switch.rules || die - insinto "${rootprefix}"/lib/udev/rules.d - doins rules.d/*.rules - doins "${FILESDIR}"/40-gentoo.rules - - insinto "${rootprefix}"/lib/udev/hwdb.d - doins hwdb.d/*.hwdb - - dobashcomp shell-completion/bash/udevadm - - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/_udevadm - fi - - use ukify && python_fix_shebang "${ED}" - use boot && secureboot_auto_sign -} - -add_service() { - local initd=$1 - local runlevel=$2 - - ebegin "Adding '${initd}' service to the '${runlevel}' runlevel" - mkdir -p "${EROOT}/etc/runlevels/${runlevel}" && - ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}" - eend $? -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]]; then - add_service systemd-tmpfiles-setup-dev sysinit - add_service systemd-tmpfiles-setup boot - fi - if use udev; then - ebegin "Updating hwdb" - systemd-hwdb --root="${ROOT}" update - eend $? - udev_reload - fi - - if use boot; then - optfeature "automatically installing the kernels in systemd-boot's native layout and updating the bootloader configuration" \ - "sys-kernel/installkernel[systemd-boot]" - fi - if use ukify; then - optfeature "automatically generating an unified kernel image on each kernel installation" \ - "sys-kernel/installkernel[ukify]" - fi -} diff --git a/sys-apps/systemd-utils/systemd-utils-255.15-r1.ebuild b/sys-apps/systemd-utils/systemd-utils-255.15-r1.ebuild new file mode 100644 index 000000000000..ecdb11ece220 --- /dev/null +++ b/sys-apps/systemd-utils/systemd-utils-255.15-r1.ebuild @@ -0,0 +1,623 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..13} ) + +QA_PKGCONFIG_VERSION=$(ver_cut 1) + +inherit bash-completion-r1 flag-o-matic linux-info meson-multilib ninja-utils +inherit python-single-r1 secureboot udev + +DESCRIPTION="Utilities split out from systemd for OpenRC users" +HOMEPAGE="https://systemd.io/" + +if [[ ${PV} == *.* ]]; then + MY_P="systemd-stable-${PV}" + S="${WORKDIR}/${MY_P}" + SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" +else + MY_P="systemd-${PV}" + S="${WORKDIR}/${MY_P}" + SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" +fi + +MUSL_PATCHSET="systemd-musl-patches-255.14" +SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify" +REQUIRED_USE=" + || ( kernel-install tmpfiles sysusers udev ) + boot? ( kernel-install ) + ukify? ( boot ) + ${PYTHON_REQUIRED_USE} +" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + elibc_musl? ( >=sys-libs/musl-1.2.3 ) + selinux? ( sys-libs/libselinux:0= ) + tmpfiles? ( + acl? ( sys-apps/acl:0= ) + ) + udev? ( + >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}] + sys-libs/libcap:0=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + acl? ( sys-apps/acl:0= ) + kmod? ( >=sys-apps/kmod-15:0= ) + ) + !udev? ( + >=sys-apps/util-linux-2.30:0= + sys-libs/libcap:0= + virtual/libcrypt:= + ) +" +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-3.11 +" + +PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' + +RDEPEND="${COMMON_DEPEND} + boot? ( !=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] + test? ( ${PEFILE_DEPEND} ) + ) + ") +" + +TMPFILES_OPTIONAL=1 +UDEV_OPTIONAL=1 + +QA_EXECSTACK="usr/lib/systemd/boot/efi/*" +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" + +CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED + ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX" + +pkg_setup() { + if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then + linux-info_pkg_setup + fi + use boot && secureboot_pkg_setup +} + +src_prepare() { + local PATCHES=( + "${FILESDIR}/systemd-utils-255-musl-fgetxxent.patch" + ) + + if use elibc_musl; then + PATCHES+=( + "${WORKDIR}/${MUSL_PATCHSET}" + "${FILESDIR}/musl-efi-wchar.patch" + ) + fi + default +} + +src_configure() { + python_setup + meson-multilib_src_configure +} + +multilib_src_configure() { + local emesonargs=( + # default is developer, bug 918671 + -Dmode=release + -Dsysvinit-path= + $(meson_native_use_bool boot bootloader) + $(meson_native_use_bool kernel-install) + $(meson_native_use_bool selinux) + $(meson_native_use_bool sysusers) + $(meson_use test tests) + $(meson_native_use_bool tmpfiles) + $(meson_use udev hwdb) + $(meson_native_use_bool ukify) + + # Disable all optional features + -Dadm-group=false + -Danalyze=false + -Dapparmor=false + -Daudit=false + -Dbacklight=false + -Dbinfmt=false + -Dbpf-framework=false + -Dbzip2=false + -Dcoredump=false + -Ddbus=false + -Delfutils=false + -Denvironment-d=false + -Dfdisk=false + -Dgcrypt=false + -Dglib=false + -Dgshadow=false + -Dgnutls=false + -Dhibernate=false + -Dhostnamed=false + -Didn=false + -Dima=false + -Dinitrd=false + -Dfirstboot=false + -Dldconfig=false + -Dlibcryptsetup=false + -Dlibcurl=false + -Dlibfido2=false + -Dlibidn=false + -Dlibidn2=false + -Dlibiptc=false + -Dlocaled=false + -Dlogind=false + -Dlz4=false + -Dmachined=false + -Dmicrohttpd=false + -Dnetworkd=false + -Dnscd=false + -Dnss-myhostname=false + -Dnss-resolve=false + -Dnss-systemd=false + -Doomd=false + -Dopenssl=false + -Dp11kit=false + -Dpam=false + -Dpcre2=false + -Dpolkit=false + -Dportabled=false + -Dpstore=false + -Dpwquality=false + -Drandomseed=false + -Dresolve=false + -Drfkill=false + -Dseccomp=false + -Dsmack=false + -Dsysext=false + -Dtimedated=false + -Dtimesyncd=false + -Dtpm=false + -Dqrencode=false + -Dquotacheck=false + -Duserdb=false + -Dutmp=false + -Dvconsole=false + -Dwheel-group=false + -Dxdg-autostart=false + -Dxkbcommon=false + -Dxz=false + -Dzlib=false + -Dzstd=false + ) + + if use tmpfiles || use udev; then + emesonargs+=( $(meson_native_use_bool acl) ) + else + emesonargs+=( -Dacl=false ) + fi + + if use udev; then + emesonargs+=( $(meson_native_use_bool kmod) ) + else + emesonargs+=( -Dkmod=false ) + fi + + if use elibc_musl; then + # Avoid redefinition of struct ethhdr. + append-cppflags -D__UAPI_DEF_ETHHDR=0 + fi + + if multilib_is_native_abi || use udev; then + meson_src_configure + fi +} + +have_dmi() { + # see dmi_arches in meson.build + case ${CHOST} in + mips64*) + return 1 ;; + aarch64*|arm*|ia64*|i?86*|loongarch64*|mips*|x86_64*) + return 0 ;; + esac + return 1 +} + +multilib_src_compile() { + local targets=() optional_targets=() + if multilib_is_native_abi; then + if use boot; then + local efi_arch= efi_arch_alt= + case ${CHOST} in + aarch64*) efi_arch=aa64 ;; + arm*) efi_arch=arm ;; + loongarch32*) efi_arch=loongarch32 ;; + loongarch64*) efi_arch=loongarch64 ;; + riscv32*) efi_arch=riscv32 ;; + riscv64*) efi_arch=riscv64 ;; + x86_64*) efi_arch=x64 efi_arch_alt=ia32;; + i?86*) efi_arch=ia32 ;; + esac + targets+=( + bootctl + man/bootctl.1 + src/boot/efi/systemd-boot${efi_arch}.efi + src/boot/efi/linux${efi_arch}.efi.stub + src/boot/efi/addon${efi_arch}.efi.stub + ) + if [[ -n ${efi_arch_alt} ]]; then + # If we have a multilib toolchain, meson.build will build the + # "alt" arch (ia32). There's no easy way to detect this, so try + # to build it and ignore failure. + optional_targets+=( + src/boot/efi/systemd-boot${efi_arch_alt}.efi + src/boot/efi/linux${efi_arch_alt}.efi.stub + src/boot/efi/addon${efi_arch_alt}.efi.stub + ) + fi + + fi + if use kernel-install; then + targets+=( + kernel-install + src/kernel-install/90-loaderentry.install + man/kernel-install.8 + ) + fi + if use sysusers; then + targets+=( + systemd-sysusers + man/sysusers.d.5 + man/systemd-sysusers.8 + ) + if use test; then + targets+=( + systemd-runtest.env + ) + fi + fi + if use tmpfiles; then + targets+=( + systemd-tmpfiles + man/tmpfiles.d.5 + man/systemd-tmpfiles.8 + tmpfiles.d/{etc,static-nodes-permissions,var}.conf + ) + if use test; then + targets+=( + test-offline-passwd + test-tmpfile-util + ) + fi + fi + if use udev; then + targets+=( + udevadm + systemd-hwdb + ata_id + cdrom_id + fido_id + iocost + mtd_probe + scsi_id + v4l_id + src/udev/udev.pc + man/udev.conf.5 + man/systemd.link.5 + man/hwdb.7 + man/udev.7 + man/systemd-hwdb.8 + man/systemd-udevd.service.8 + man/udevadm.8 + man/libudev.3 + man/udev_device_get_syspath.3 + man/udev_device_has_tag.3 + man/udev_device_new_from_syspath.3 + man/udev_enumerate_add_match_subsystem.3 + man/udev_enumerate_new.3 + man/udev_enumerate_scan_devices.3 + man/udev_list_entry.3 + man/udev_monitor_filter_update.3 + man/udev_monitor_new_from_netlink.3 + man/udev_monitor_receive_device.3 + man/udev_new.3 + hwdb.d/60-autosuspend-chromiumos.hwdb + rules.d/50-udev-default.rules + rules.d/60-persistent-storage.rules + rules.d/64-btrfs.rules + # Needed for tests + rules.d/99-systemd.rules + ) + if have_dmi; then + targets+=( dmi_memory_id ) + fi + if use test; then + targets+=( + test-fido-id-desc + test-link-config-tables + test-udev-builtin + test-udev-device-thread + test-udev-format + test-udev-manager + test-udev-node + test-udev-rule-runner + test-udev-rules + test-udev-spawn + test-udev-util + ) + fi + fi + if use ukify; then + targets+=( + ukify + src/kernel-install/60-ukify.install + man/ukify.1 + ) + fi + fi + if use udev; then + targets+=( + libudev + src/libudev/libudev.pc + ) + if use test; then + targets+=( + test-libudev + test-libudev-sym + test-udev-device-thread + ) + fi + fi + if [[ ${#targets[@]} -ne 0 ]]; then + meson_src_compile "${targets[@]}" + fi + if [[ ${#optional_targets[@]} -ne 0 ]]; then + ninja ${NINJAOPTS} "${optional_targets[@]}" + fi +} + +multilib_src_test() { + local tests=() + if multilib_is_native_abi; then + if use boot; then + tests+=( --suite boot ) + fi + if use kernel-install; then + tests+=( --suite kernel-install ) + fi + if use sysusers; then + tests+=( --suite sysusers ) + fi + if use tmpfiles; then + tests+=( --suite tmpfiles ) + fi + if use udev; then + tests+=( --suite udev ) + fi + fi + if use udev; then + tests+=( --suite libudev ) + fi + if [[ ${#tests[@]} -ne 0 ]]; then + meson_src_test --no-rebuild "${tests[@]}" + fi +} + +src_install() { + meson-multilib_src_install +} + +set_rpath() { + patchelf --set-rpath "${EPREFIX}/usr/$(get_libdir)/systemd" "$@" || die "patchelf failed" +} + +multilib_src_install() { + if multilib_is_native_abi; then + exeinto "/usr/$(get_libdir)/systemd" + doexe src/shared/libsystemd-shared-${PV%%.*}.so + if use boot; then + set_rpath bootctl + dobin bootctl + doman man/bootctl.1 + meson_install --no-rebuild --tags systemd-boot + fi + if use kernel-install; then + set_rpath kernel-install + dobin kernel-install + doman man/kernel-install.8 + exeinto /usr/lib/kernel/install.d + doexe src/kernel-install/*.install + fi + if use sysusers; then + set_rpath systemd-sysusers + dobin systemd-sysusers + doman man/{systemd-sysusers.8,sysusers.d.5} + fi + if use tmpfiles; then + set_rpath systemd-tmpfiles + dobin systemd-tmpfiles + doman man/{systemd-tmpfiles.8,tmpfiles.d.5} + insinto /usr/lib/tmpfiles.d + doins tmpfiles.d/{etc,static-nodes-permissions,var}.conf + fi + if use udev; then + set_rpath udevadm systemd-hwdb + dobin udevadm systemd-hwdb + dosym ../../bin/udevadm /usr/lib/systemd/systemd-udevd + if use split-usr; then + # elogind installs udev rules that hard-code /bin/udevadm + dosym ../usr/bin/udevadm /bin/udevadm + fi + + exeinto /usr/lib/udev + set_rpath {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id} + doexe {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id} + + if have_dmi; then + set_rpath dmi_memory_id + doexe dmi_memory_id + fi + + rm -f rules.d/99-systemd.rules + insinto /usr/lib/udev/rules.d + doins rules.d/*.rules + + insinto /usr/lib/udev/hwdb.d + doins hwdb.d/*.hwdb + + insinto /usr/share/pkgconfig + doins src/udev/udev.pc + + doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8} + newman man/systemd-udevd.service.8 systemd-udevd.8 + doman man/libudev.3 + doman man/udev_*.3 + fi + if use ukify; then + dobin ukify + dosym ../../bin/ukify /usr/lib/systemd/ukify + doman man/ukify.1 + fi + fi + if use udev; then + meson_install --no-rebuild --tags libudev + insinto "/usr/$(get_libdir)/pkgconfig" + doins src/libudev/libudev.pc + fi +} + +multilib_src_install_all() { + einstalldocs + if use boot; then + dobashcomp shell-completion/bash/bootctl + insinto /usr/share/zsh/site-functions + doins shell-completion/zsh/{_bootctl,_kernel-install} + fi + if use kernel-install; then + exeinto /usr/lib/kernel/install.d + doexe src/kernel-install/*.install + fi + if use tmpfiles; then + doinitd "${FILESDIR}"/systemd-tmpfiles-setup + doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev + exeinto /etc/cron.daily + doexe "${FILESDIR}"/systemd-tmpfiles-clean + insinto /usr/share/zsh/site-functions + doins shell-completion/zsh/_systemd-tmpfiles + insinto /usr/lib/tmpfiles.d + doins tmpfiles.d/x11.conf + doins "${FILESDIR}"/{legacy,tmp}.conf + fi + if use udev; then + doheader src/libudev/libudev.h + + insinto /etc/udev + doins src/udev/udev.conf + keepdir /etc/udev/{hwdb.d,rules.d} + + insinto /usr/lib/systemd/network + doins network/99-default.link + + # Remove to avoid conflict with elogind + # https://bugs.gentoo.org/856433 + rm rules.d/70-power-switch.rules || die + insinto /usr/lib/udev/rules.d + doins rules.d/*.rules + doins "${FILESDIR}"/40-gentoo.rules + + insinto /usr/lib/udev/hwdb.d + doins hwdb.d/*.hwdb + + dobashcomp shell-completion/bash/udevadm + + insinto /usr/share/zsh/site-functions + doins shell-completion/zsh/_udevadm + fi + + use ukify && python_fix_shebang "${ED}" + use boot && secureboot_auto_sign +} + +add_service() { + local initd=$1 + local runlevel=$2 + + ebegin "Adding '${initd}' service to the '${runlevel}' runlevel" + mkdir -p "${EROOT}/etc/runlevels/${runlevel}" && + ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}" + eend $? +} + +pkg_preinst() { + # Migrate /lib/{systemd,udev} to /usr/lib + if use split-usr; then + local d + for d in systemd udev; do + dosym ../usr/lib/${d} /lib/${d} + if [[ -e ${EROOT}/lib/${d} && ! -L ${EROOT}/lib/${d} ]]; then + einfo "Copying files from '${EROOT}/lib/${d}' to '${EROOT}/usr/lib/${d}'" + cp -rpPT "${EROOT}/lib/${d}" "${EROOT}/usr/lib/${d}" || die + einfo "Removing '${EROOT}/lib/${d}'" + rm -r "${EROOT}/lib/${d}" || die + fi + done + fi +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + add_service systemd-tmpfiles-setup-dev sysinit + add_service systemd-tmpfiles-setup boot + fi + if use udev; then + ebegin "Updating hwdb" + systemd-hwdb --root="${ROOT}" update + eend $? + udev_reload + fi +} diff --git a/sys-apps/systemd-utils/systemd-utils-255.15.ebuild b/sys-apps/systemd-utils/systemd-utils-255.15.ebuild deleted file mode 100644 index 28976b528d4c..000000000000 --- a/sys-apps/systemd-utils/systemd-utils-255.15.ebuild +++ /dev/null @@ -1,621 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{10..13} ) - -QA_PKGCONFIG_VERSION=$(ver_cut 1) - -inherit bash-completion-r1 flag-o-matic linux-info meson-multilib ninja-utils -inherit python-single-r1 secureboot udev - -DESCRIPTION="Utilities split out from systemd for OpenRC users" -HOMEPAGE="https://systemd.io/" - -if [[ ${PV} == *.* ]]; then - MY_P="systemd-stable-${PV}" - S="${WORKDIR}/${MY_P}" - SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" -else - MY_P="systemd-${PV}" - S="${WORKDIR}/${MY_P}" - SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" -fi - -MUSL_PATCHSET="systemd-musl-patches-255.14" -SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )" - -LICENSE="GPL-2 LGPL-2.1 MIT public-domain" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify" -REQUIRED_USE=" - || ( kernel-install tmpfiles sysusers udev ) - boot? ( kernel-install ) - ukify? ( boot ) - ${PYTHON_REQUIRED_USE} -" -RESTRICT="!test? ( test )" - -COMMON_DEPEND=" - elibc_musl? ( >=sys-libs/musl-1.2.3 ) - selinux? ( sys-libs/libselinux:0= ) - tmpfiles? ( - acl? ( sys-apps/acl:0= ) - ) - udev? ( - >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}] - sys-libs/libcap:0=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - acl? ( sys-apps/acl:0= ) - kmod? ( >=sys-apps/kmod-15:0= ) - ) - !udev? ( - >=sys-apps/util-linux-2.30:0= - sys-libs/libcap:0= - virtual/libcrypt:= - ) -" -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-3.11 -" - -PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' - -RDEPEND="${COMMON_DEPEND} - boot? ( !=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] - test? ( ${PEFILE_DEPEND} ) - ) - ") -" - -TMPFILES_OPTIONAL=1 -UDEV_OPTIONAL=1 - -QA_EXECSTACK="usr/lib/systemd/boot/efi/*" -QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" - -CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED - ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX" - -pkg_setup() { - if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then - linux-info_pkg_setup - fi - use boot && secureboot_pkg_setup -} - -src_prepare() { - local PATCHES=( - "${FILESDIR}/systemd-utils-255-musl-fgetxxent.patch" - ) - - if use elibc_musl; then - PATCHES+=( - "${WORKDIR}/${MUSL_PATCHSET}" - "${FILESDIR}/musl-efi-wchar.patch" - ) - fi - default -} - -src_configure() { - python_setup - meson-multilib_src_configure -} - -multilib_src_configure() { - local emesonargs=( - -Dsysvinit-path= - $(meson_native_use_bool boot bootloader) - $(meson_native_use_bool kernel-install) - $(meson_native_use_bool selinux) - $(meson_native_use_bool sysusers) - $(meson_use test tests) - $(meson_native_use_bool tmpfiles) - $(meson_use udev hwdb) - $(meson_native_use_bool ukify) - - # Disable all optional features - -Dadm-group=false - -Danalyze=false - -Dapparmor=false - -Daudit=false - -Dbacklight=false - -Dbinfmt=false - -Dbpf-framework=false - -Dbzip2=false - -Dcoredump=false - -Ddbus=false - -Delfutils=false - -Denvironment-d=false - -Dfdisk=false - -Dgcrypt=false - -Dglib=false - -Dgshadow=false - -Dgnutls=false - -Dhibernate=false - -Dhostnamed=false - -Didn=false - -Dima=false - -Dinitrd=false - -Dfirstboot=false - -Dldconfig=false - -Dlibcryptsetup=false - -Dlibcurl=false - -Dlibfido2=false - -Dlibidn=false - -Dlibidn2=false - -Dlibiptc=false - -Dlocaled=false - -Dlogind=false - -Dlz4=false - -Dmachined=false - -Dmicrohttpd=false - -Dnetworkd=false - -Dnscd=false - -Dnss-myhostname=false - -Dnss-resolve=false - -Dnss-systemd=false - -Doomd=false - -Dopenssl=false - -Dp11kit=false - -Dpam=false - -Dpcre2=false - -Dpolkit=false - -Dportabled=false - -Dpstore=false - -Dpwquality=false - -Drandomseed=false - -Dresolve=false - -Drfkill=false - -Dseccomp=false - -Dsmack=false - -Dsysext=false - -Dtimedated=false - -Dtimesyncd=false - -Dtpm=false - -Dqrencode=false - -Dquotacheck=false - -Duserdb=false - -Dutmp=false - -Dvconsole=false - -Dwheel-group=false - -Dxdg-autostart=false - -Dxkbcommon=false - -Dxz=false - -Dzlib=false - -Dzstd=false - ) - - if use tmpfiles || use udev; then - emesonargs+=( $(meson_native_use_bool acl) ) - else - emesonargs+=( -Dacl=false ) - fi - - if use udev; then - emesonargs+=( $(meson_native_use_bool kmod) ) - else - emesonargs+=( -Dkmod=false ) - fi - - if use elibc_musl; then - # Avoid redefinition of struct ethhdr. - append-cppflags -D__UAPI_DEF_ETHHDR=0 - fi - - if multilib_is_native_abi || use udev; then - meson_src_configure - fi -} - -have_dmi() { - # see dmi_arches in meson.build - case ${CHOST} in - mips64*) - return 1 ;; - aarch64*|arm*|ia64*|i?86*|loongarch64*|mips*|x86_64*) - return 0 ;; - esac - return 1 -} - -multilib_src_compile() { - local targets=() optional_targets=() - if multilib_is_native_abi; then - if use boot; then - local efi_arch= efi_arch_alt= - case ${CHOST} in - aarch64*) efi_arch=aa64 ;; - arm*) efi_arch=arm ;; - loongarch32*) efi_arch=loongarch32 ;; - loongarch64*) efi_arch=loongarch64 ;; - riscv32*) efi_arch=riscv32 ;; - riscv64*) efi_arch=riscv64 ;; - x86_64*) efi_arch=x64 efi_arch_alt=ia32;; - i?86*) efi_arch=ia32 ;; - esac - targets+=( - bootctl - man/bootctl.1 - src/boot/efi/systemd-boot${efi_arch}.efi - src/boot/efi/linux${efi_arch}.efi.stub - src/boot/efi/addon${efi_arch}.efi.stub - ) - if [[ -n ${efi_arch_alt} ]]; then - # If we have a multilib toolchain, meson.build will build the - # "alt" arch (ia32). There's no easy way to detect this, so try - # to build it and ignore failure. - optional_targets+=( - src/boot/efi/systemd-boot${efi_arch_alt}.efi - src/boot/efi/linux${efi_arch_alt}.efi.stub - src/boot/efi/addon${efi_arch_alt}.efi.stub - ) - fi - - fi - if use kernel-install; then - targets+=( - kernel-install - src/kernel-install/90-loaderentry.install - man/kernel-install.8 - ) - fi - if use sysusers; then - targets+=( - systemd-sysusers - man/sysusers.d.5 - man/systemd-sysusers.8 - ) - if use test; then - targets+=( - systemd-runtest.env - ) - fi - fi - if use tmpfiles; then - targets+=( - systemd-tmpfiles - man/tmpfiles.d.5 - man/systemd-tmpfiles.8 - tmpfiles.d/{etc,static-nodes-permissions,var}.conf - ) - if use test; then - targets+=( - test-offline-passwd - test-tmpfile-util - ) - fi - fi - if use udev; then - targets+=( - udevadm - systemd-hwdb - ata_id - cdrom_id - fido_id - iocost - mtd_probe - scsi_id - v4l_id - src/udev/udev.pc - man/udev.conf.5 - man/systemd.link.5 - man/hwdb.7 - man/udev.7 - man/systemd-hwdb.8 - man/systemd-udevd.service.8 - man/udevadm.8 - man/libudev.3 - man/udev_device_get_syspath.3 - man/udev_device_has_tag.3 - man/udev_device_new_from_syspath.3 - man/udev_enumerate_add_match_subsystem.3 - man/udev_enumerate_new.3 - man/udev_enumerate_scan_devices.3 - man/udev_list_entry.3 - man/udev_monitor_filter_update.3 - man/udev_monitor_new_from_netlink.3 - man/udev_monitor_receive_device.3 - man/udev_new.3 - hwdb.d/60-autosuspend-chromiumos.hwdb - rules.d/50-udev-default.rules - rules.d/60-persistent-storage.rules - rules.d/64-btrfs.rules - # Needed for tests - rules.d/99-systemd.rules - ) - if have_dmi; then - targets+=( dmi_memory_id ) - fi - if use test; then - targets+=( - test-fido-id-desc - test-link-config-tables - test-udev-builtin - test-udev-device-thread - test-udev-format - test-udev-manager - test-udev-node - test-udev-rule-runner - test-udev-rules - test-udev-spawn - test-udev-util - ) - fi - fi - if use ukify; then - targets+=( - ukify - src/kernel-install/60-ukify.install - man/ukify.1 - ) - fi - fi - if use udev; then - targets+=( - libudev - src/libudev/libudev.pc - ) - if use test; then - targets+=( - test-libudev - test-libudev-sym - test-udev-device-thread - ) - fi - fi - if [[ ${#targets[@]} -ne 0 ]]; then - meson_src_compile "${targets[@]}" - fi - if [[ ${#optional_targets[@]} -ne 0 ]]; then - ninja ${NINJAOPTS} "${optional_targets[@]}" - fi -} - -multilib_src_test() { - local tests=() - if multilib_is_native_abi; then - if use boot; then - tests+=( --suite boot ) - fi - if use kernel-install; then - tests+=( --suite kernel-install ) - fi - if use sysusers; then - tests+=( --suite sysusers ) - fi - if use tmpfiles; then - tests+=( --suite tmpfiles ) - fi - if use udev; then - tests+=( --suite udev ) - fi - fi - if use udev; then - tests+=( --suite libudev ) - fi - if [[ ${#tests[@]} -ne 0 ]]; then - meson_src_test --no-rebuild "${tests[@]}" - fi -} - -src_install() { - meson-multilib_src_install -} - -set_rpath() { - patchelf --set-rpath "${EPREFIX}/usr/$(get_libdir)/systemd" "$@" || die "patchelf failed" -} - -multilib_src_install() { - if multilib_is_native_abi; then - exeinto "/usr/$(get_libdir)/systemd" - doexe src/shared/libsystemd-shared-${PV%%.*}.so - if use boot; then - set_rpath bootctl - dobin bootctl - doman man/bootctl.1 - meson_install --no-rebuild --tags systemd-boot - fi - if use kernel-install; then - set_rpath kernel-install - dobin kernel-install - doman man/kernel-install.8 - exeinto /usr/lib/kernel/install.d - doexe src/kernel-install/*.install - fi - if use sysusers; then - set_rpath systemd-sysusers - dobin systemd-sysusers - doman man/{systemd-sysusers.8,sysusers.d.5} - fi - if use tmpfiles; then - set_rpath systemd-tmpfiles - dobin systemd-tmpfiles - doman man/{systemd-tmpfiles.8,tmpfiles.d.5} - insinto /usr/lib/tmpfiles.d - doins tmpfiles.d/{etc,static-nodes-permissions,var}.conf - fi - if use udev; then - set_rpath udevadm systemd-hwdb - dobin udevadm systemd-hwdb - dosym ../../bin/udevadm /usr/lib/systemd/systemd-udevd - if use split-usr; then - # elogind installs udev rules that hard-code /bin/udevadm - dosym ../usr/bin/udevadm /bin/udevadm - fi - - exeinto /usr/lib/udev - set_rpath {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id} - doexe {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id} - - if have_dmi; then - set_rpath dmi_memory_id - doexe dmi_memory_id - fi - - rm -f rules.d/99-systemd.rules - insinto /usr/lib/udev/rules.d - doins rules.d/*.rules - - insinto /usr/lib/udev/hwdb.d - doins hwdb.d/*.hwdb - - insinto /usr/share/pkgconfig - doins src/udev/udev.pc - - doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8} - newman man/systemd-udevd.service.8 systemd-udevd.8 - doman man/libudev.3 - doman man/udev_*.3 - fi - if use ukify; then - dobin ukify - dosym ../../bin/ukify /usr/lib/systemd/ukify - doman man/ukify.1 - fi - fi - if use udev; then - meson_install --no-rebuild --tags libudev - insinto "/usr/$(get_libdir)/pkgconfig" - doins src/libudev/libudev.pc - fi -} - -multilib_src_install_all() { - einstalldocs - if use boot; then - dobashcomp shell-completion/bash/bootctl - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/{_bootctl,_kernel-install} - fi - if use kernel-install; then - exeinto /usr/lib/kernel/install.d - doexe src/kernel-install/*.install - fi - if use tmpfiles; then - doinitd "${FILESDIR}"/systemd-tmpfiles-setup - doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev - exeinto /etc/cron.daily - doexe "${FILESDIR}"/systemd-tmpfiles-clean - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/_systemd-tmpfiles - insinto /usr/lib/tmpfiles.d - doins tmpfiles.d/x11.conf - doins "${FILESDIR}"/{legacy,tmp}.conf - fi - if use udev; then - doheader src/libudev/libudev.h - - insinto /etc/udev - doins src/udev/udev.conf - keepdir /etc/udev/{hwdb.d,rules.d} - - insinto /usr/lib/systemd/network - doins network/99-default.link - - # Remove to avoid conflict with elogind - # https://bugs.gentoo.org/856433 - rm rules.d/70-power-switch.rules || die - insinto /usr/lib/udev/rules.d - doins rules.d/*.rules - doins "${FILESDIR}"/40-gentoo.rules - - insinto /usr/lib/udev/hwdb.d - doins hwdb.d/*.hwdb - - dobashcomp shell-completion/bash/udevadm - - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/_udevadm - fi - - use ukify && python_fix_shebang "${ED}" - use boot && secureboot_auto_sign -} - -add_service() { - local initd=$1 - local runlevel=$2 - - ebegin "Adding '${initd}' service to the '${runlevel}' runlevel" - mkdir -p "${EROOT}/etc/runlevels/${runlevel}" && - ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}" - eend $? -} - -pkg_preinst() { - # Migrate /lib/{systemd,udev} to /usr/lib - if use split-usr; then - local d - for d in systemd udev; do - dosym ../usr/lib/${d} /lib/${d} - if [[ -e ${EROOT}/lib/${d} && ! -L ${EROOT}/lib/${d} ]]; then - einfo "Copying files from '${EROOT}/lib/${d}' to '${EROOT}/usr/lib/${d}'" - cp -rpPT "${EROOT}/lib/${d}" "${EROOT}/usr/lib/${d}" || die - einfo "Removing '${EROOT}/lib/${d}'" - rm -r "${EROOT}/lib/${d}" || die - fi - done - fi -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]]; then - add_service systemd-tmpfiles-setup-dev sysinit - add_service systemd-tmpfiles-setup boot - fi - if use udev; then - ebegin "Updating hwdb" - systemd-hwdb --root="${ROOT}" update - eend $? - udev_reload - fi -} diff --git a/sys-apps/systemd-utils/systemd-utils-256.9-r1.ebuild b/sys-apps/systemd-utils/systemd-utils-256.9-r1.ebuild new file mode 100644 index 000000000000..6cf34e1f1945 --- /dev/null +++ b/sys-apps/systemd-utils/systemd-utils-256.9-r1.ebuild @@ -0,0 +1,614 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..13} ) + +QA_PKGCONFIG_VERSION=$(ver_cut 1) + +inherit bash-completion-r1 flag-o-matic linux-info meson-multilib ninja-utils +inherit python-single-r1 secureboot udev + +DESCRIPTION="Utilities split out from systemd for OpenRC users" +HOMEPAGE="https://systemd.io/" + +MY_P="systemd-${PV}" +MUSL_PATCHSET="systemd-musl-patches-256.8" +SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz + elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify" +REQUIRED_USE=" + || ( kernel-install tmpfiles sysusers udev ) + boot? ( kernel-install ) + ukify? ( boot ) + ${PYTHON_REQUIRED_USE} +" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + elibc_musl? ( >=sys-libs/musl-1.2.3 ) + selinux? ( sys-libs/libselinux:0= ) + tmpfiles? ( + acl? ( sys-apps/acl:0= ) + ) + udev? ( + >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}] + sys-libs/libcap:0=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + acl? ( sys-apps/acl:0= ) + kmod? ( >=sys-apps/kmod-15:0= ) + ) + !udev? ( + >=sys-apps/util-linux-2.30:0= + sys-libs/libcap:0= + virtual/libcrypt:= + ) +" +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-3.11 +" + +PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' + +RDEPEND="${COMMON_DEPEND} + boot? ( !=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] + test? ( ${PEFILE_DEPEND} ) + ) + ") +" + +TMPFILES_OPTIONAL=1 +UDEV_OPTIONAL=1 + +QA_EXECSTACK="usr/lib/systemd/boot/efi/*" +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" + +CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED + ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX" + +pkg_setup() { + if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then + linux-info_pkg_setup + fi + use boot && secureboot_pkg_setup +} + +src_prepare() { + local PATCHES=() + + if use elibc_musl; then + PATCHES+=( + "${WORKDIR}/${MUSL_PATCHSET}" + "${FILESDIR}/musl-efi-wchar.patch" + ) + fi + default +} + +src_configure() { + python_setup + meson-multilib_src_configure +} + +multilib_src_configure() { + local emesonargs=( + # default is developer, bug 918671 + -Dmode=release + -Dsysvinit-path= + $(meson_native_use_bool boot bootloader) + $(meson_native_use_bool kernel-install) + $(meson_native_use_bool selinux) + $(meson_native_use_bool sysusers) + $(meson_use test tests) + $(meson_native_use_bool tmpfiles) + $(meson_use udev hwdb) + $(meson_native_use_bool ukify) + + # Disable all optional features + -Dadm-group=false + -Danalyze=false + -Dapparmor=false + -Daudit=false + -Dbacklight=false + -Dbinfmt=false + -Dbpf-framework=false + -Dbzip2=false + -Dcoredump=false + -Ddbus=false + -Delfutils=false + -Denvironment-d=false + -Dfdisk=false + -Dgcrypt=false + -Dglib=false + -Dgshadow=false + -Dgnutls=false + -Dhibernate=false + -Dhostnamed=false + -Didn=false + -Dima=false + -Dinitrd=false + -Dfirstboot=false + -Dldconfig=false + -Dlibcryptsetup=false + -Dlibcurl=false + -Dlibfido2=false + -Dlibidn=false + -Dlibidn2=false + -Dlibiptc=false + -Dlocaled=false + -Dlogind=false + -Dlz4=false + -Dmachined=false + -Dmicrohttpd=false + -Dnetworkd=false + -Dnscd=false + -Dnss-myhostname=false + -Dnss-resolve=false + -Dnss-systemd=false + -Doomd=false + -Dopenssl=false + -Dp11kit=false + -Dpam=false + -Dpcre2=false + -Dpolkit=false + -Dportabled=false + -Dpstore=false + -Dpwquality=false + -Drandomseed=false + -Dresolve=false + -Drfkill=false + -Dseccomp=false + -Dsmack=false + -Dsysext=false + -Dtimedated=false + -Dtimesyncd=false + -Dtpm=false + -Dqrencode=false + -Dquotacheck=false + -Duserdb=false + -Dutmp=false + -Dvconsole=false + -Dwheel-group=false + -Dxdg-autostart=false + -Dxkbcommon=false + -Dxz=false + -Dzlib=false + -Dzstd=false + ) + + if use tmpfiles || use udev; then + emesonargs+=( $(meson_native_use_bool acl) ) + else + emesonargs+=( -Dacl=false ) + fi + + if use udev; then + emesonargs+=( $(meson_native_use_bool kmod) ) + else + emesonargs+=( -Dkmod=false ) + fi + + if use elibc_musl; then + # Avoid redefinition of struct ethhdr. + append-cppflags -D__UAPI_DEF_ETHHDR=0 + fi + + if multilib_is_native_abi || use udev; then + meson_src_configure + fi +} + +have_dmi() { + # see dmi_arches in meson.build + case ${CHOST} in + mips64*) + return 1 ;; + aarch64*|arm*|ia64*|i?86*|loongarch64*|mips*|x86_64*) + return 0 ;; + esac + return 1 +} + +multilib_src_compile() { + local targets=() optional_targets=() + if multilib_is_native_abi; then + if use boot; then + local efi_arch= efi_arch_alt= + case ${CHOST} in + aarch64*) efi_arch=aa64 ;; + arm*) efi_arch=arm ;; + loongarch32*) efi_arch=loongarch32 ;; + loongarch64*) efi_arch=loongarch64 ;; + riscv32*) efi_arch=riscv32 ;; + riscv64*) efi_arch=riscv64 ;; + x86_64*) efi_arch=x64 efi_arch_alt=ia32;; + i?86*) efi_arch=ia32 ;; + esac + targets+=( + bootctl + man/bootctl.1 + src/boot/efi/systemd-boot${efi_arch}.efi + src/boot/efi/linux${efi_arch}.efi.stub + src/boot/efi/addon${efi_arch}.efi.stub + ) + if [[ -n ${efi_arch_alt} ]]; then + # If we have a multilib toolchain, meson.build will build the + # "alt" arch (ia32). There's no easy way to detect this, so try + # to build it and ignore failure. + optional_targets+=( + src/boot/efi/systemd-boot${efi_arch_alt}.efi + src/boot/efi/linux${efi_arch_alt}.efi.stub + src/boot/efi/addon${efi_arch_alt}.efi.stub + ) + fi + + fi + if use kernel-install; then + targets+=( + kernel-install + src/kernel-install/90-loaderentry.install + man/kernel-install.8 + ) + fi + if use sysusers; then + targets+=( + systemd-sysusers + man/sysusers.d.5 + man/systemd-sysusers.8 + ) + if use test; then + targets+=( + systemd-runtest.env + ) + fi + fi + if use tmpfiles; then + targets+=( + systemd-tmpfiles + man/tmpfiles.d.5 + man/systemd-tmpfiles.8 + tmpfiles.d/{etc,static-nodes-permissions,var}.conf + ) + if use test; then + targets+=( + test-offline-passwd + test-tmpfile-util + ) + fi + fi + if use udev; then + targets+=( + udevadm + systemd-hwdb + ata_id + cdrom_id + fido_id + iocost + mtd_probe + scsi_id + v4l_id + src/udev/udev.pc + man/udev.conf.5 + man/systemd.link.5 + man/hwdb.7 + man/udev.7 + man/systemd-hwdb.8 + man/systemd-udevd.service.8 + man/udevadm.8 + man/libudev.3 + man/udev_device_get_syspath.3 + man/udev_device_has_tag.3 + man/udev_device_new_from_syspath.3 + man/udev_enumerate_add_match_subsystem.3 + man/udev_enumerate_new.3 + man/udev_enumerate_scan_devices.3 + man/udev_list_entry.3 + man/udev_monitor_filter_update.3 + man/udev_monitor_new_from_netlink.3 + man/udev_monitor_receive_device.3 + man/udev_new.3 + hwdb.d/60-autosuspend-chromiumos.hwdb + rules.d/50-udev-default.rules + rules.d/60-persistent-storage.rules + rules.d/64-btrfs.rules + # Needed for tests + rules.d/99-systemd.rules + ) + if have_dmi; then + targets+=( dmi_memory_id ) + fi + if use test; then + targets+=( + test-fido-id-desc + test-link-config-tables + test-udev-builtin + test-udev-device-thread + test-udev-format + test-udev-manager + test-udev-node + test-udev-rule-runner + test-udev-rules + test-udev-spawn + test-udev-util + ) + fi + fi + if use ukify; then + targets+=( + ukify + src/kernel-install/60-ukify.install + man/ukify.1 + ) + fi + fi + if use udev; then + targets+=( + libudev + src/libudev/libudev.pc + ) + if use test; then + targets+=( + test-libudev + test-libudev-sym + test-udev-device-thread + ) + fi + fi + if [[ ${#targets[@]} -ne 0 ]]; then + meson_src_compile "${targets[@]}" + fi + if [[ ${#optional_targets[@]} -ne 0 ]]; then + ninja ${NINJAOPTS} "${optional_targets[@]}" + fi +} + +multilib_src_test() { + local tests=() + if multilib_is_native_abi; then + if use boot; then + tests+=( --suite boot ) + fi + if use kernel-install; then + tests+=( --suite kernel-install ) + fi + if use sysusers; then + tests+=( --suite sysusers ) + fi + if use tmpfiles; then + tests+=( --suite tmpfiles ) + fi + if use udev; then + tests+=( --suite udev ) + fi + fi + if use udev; then + tests+=( --suite libudev ) + fi + if [[ ${#tests[@]} -ne 0 ]]; then + meson_src_test --no-rebuild "${tests[@]}" + fi +} + +src_install() { + meson-multilib_src_install +} + +set_rpath() { + patchelf --set-rpath "${EPREFIX}/usr/$(get_libdir)/systemd" "$@" || die "patchelf failed" +} + +multilib_src_install() { + if multilib_is_native_abi; then + exeinto "/usr/$(get_libdir)/systemd" + doexe src/shared/libsystemd-shared-${PV%%.*}.so + if use boot; then + set_rpath bootctl + dobin bootctl + doman man/bootctl.1 + meson_install --no-rebuild --tags systemd-boot + fi + if use kernel-install; then + set_rpath kernel-install + dobin kernel-install + doman man/kernel-install.8 + exeinto /usr/lib/kernel/install.d + doexe src/kernel-install/*.install + fi + if use sysusers; then + set_rpath systemd-sysusers + dobin systemd-sysusers + doman man/{systemd-sysusers.8,sysusers.d.5} + fi + if use tmpfiles; then + set_rpath systemd-tmpfiles + dobin systemd-tmpfiles + doman man/{systemd-tmpfiles.8,tmpfiles.d.5} + insinto /usr/lib/tmpfiles.d + doins tmpfiles.d/{etc,static-nodes-permissions,var}.conf + fi + if use udev; then + set_rpath udevadm systemd-hwdb + dobin udevadm systemd-hwdb + dosym ../../bin/udevadm /usr/lib/systemd/systemd-udevd + if use split-usr; then + # elogind installs udev rules that hard-code /bin/udevadm + dosym ../usr/bin/udevadm /bin/udevadm + fi + + exeinto /usr/lib/udev + set_rpath {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id} + doexe {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id} + + if have_dmi; then + set_rpath dmi_memory_id + doexe dmi_memory_id + fi + + rm -f rules.d/99-systemd.rules + insinto /usr/lib/udev/rules.d + doins rules.d/*.rules + + insinto /usr/lib/udev/hwdb.d + doins hwdb.d/*.hwdb + + insinto /usr/share/pkgconfig + doins src/udev/udev.pc + + doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8} + newman man/systemd-udevd.service.8 systemd-udevd.8 + doman man/libudev.3 + doman man/udev_*.3 + fi + if use ukify; then + dobin ukify + dosym ../../bin/ukify /usr/lib/systemd/ukify + doman man/ukify.1 + fi + fi + if use udev; then + meson_install --no-rebuild --tags libudev + insinto "/usr/$(get_libdir)/pkgconfig" + doins src/libudev/libudev.pc + fi +} + +multilib_src_install_all() { + einstalldocs + if use boot; then + dobashcomp shell-completion/bash/bootctl + insinto /usr/share/zsh/site-functions + doins shell-completion/zsh/{_bootctl,_kernel-install} + fi + if use kernel-install; then + exeinto /usr/lib/kernel/install.d + doexe src/kernel-install/*.install + fi + if use tmpfiles; then + doinitd "${FILESDIR}"/systemd-tmpfiles-setup + doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev + exeinto /etc/cron.daily + doexe "${FILESDIR}"/systemd-tmpfiles-clean + insinto /usr/share/zsh/site-functions + doins shell-completion/zsh/_systemd-tmpfiles + insinto /usr/lib/tmpfiles.d + doins tmpfiles.d/x11.conf + doins "${FILESDIR}"/{legacy,tmp}.conf + fi + if use udev; then + doheader src/libudev/libudev.h + + insinto /etc/udev + doins src/udev/udev.conf + keepdir /etc/udev/{hwdb.d,rules.d} + + insinto /usr/lib/systemd/network + doins network/99-default.link + + # Remove to avoid conflict with elogind + # https://bugs.gentoo.org/856433 + rm rules.d/70-power-switch.rules || die + insinto /usr/lib/udev/rules.d + doins rules.d/*.rules + doins "${FILESDIR}"/40-gentoo.rules + + insinto /usr/lib/udev/hwdb.d + doins hwdb.d/*.hwdb + + dobashcomp shell-completion/bash/udevadm + + insinto /usr/share/zsh/site-functions + doins shell-completion/zsh/_udevadm + fi + + use ukify && python_fix_shebang "${ED}" + use boot && secureboot_auto_sign +} + +add_service() { + local initd=$1 + local runlevel=$2 + + ebegin "Adding '${initd}' service to the '${runlevel}' runlevel" + mkdir -p "${EROOT}/etc/runlevels/${runlevel}" && + ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}" + eend $? +} + +pkg_preinst() { + # Migrate /lib/{systemd,udev} to /usr/lib + if use split-usr; then + local d + for d in systemd udev; do + dosym ../usr/lib/${d} /lib/${d} + if [[ -e ${EROOT}/lib/${d} && ! -L ${EROOT}/lib/${d} ]]; then + einfo "Copying files from '${EROOT}/lib/${d}' to '${EROOT}/usr/lib/${d}'" + cp -rpPT "${EROOT}/lib/${d}" "${EROOT}/usr/lib/${d}" || die + einfo "Removing '${EROOT}/lib/${d}'" + rm -r "${EROOT}/lib/${d}" || die + fi + done + fi +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + add_service systemd-tmpfiles-setup-dev sysinit + add_service systemd-tmpfiles-setup boot + fi + if use udev; then + ebegin "Updating hwdb" + systemd-hwdb --root="${ROOT}" update + eend $? + udev_reload + fi +} diff --git a/sys-apps/systemd-utils/systemd-utils-256.9.ebuild b/sys-apps/systemd-utils/systemd-utils-256.9.ebuild deleted file mode 100644 index 34469971b34d..000000000000 --- a/sys-apps/systemd-utils/systemd-utils-256.9.ebuild +++ /dev/null @@ -1,612 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{10..13} ) - -QA_PKGCONFIG_VERSION=$(ver_cut 1) - -inherit bash-completion-r1 flag-o-matic linux-info meson-multilib ninja-utils -inherit python-single-r1 secureboot udev - -DESCRIPTION="Utilities split out from systemd for OpenRC users" -HOMEPAGE="https://systemd.io/" - -MY_P="systemd-${PV}" -MUSL_PATCHSET="systemd-musl-patches-256.8" -SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz - elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )" -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-2 LGPL-2.1 MIT public-domain" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify" -REQUIRED_USE=" - || ( kernel-install tmpfiles sysusers udev ) - boot? ( kernel-install ) - ukify? ( boot ) - ${PYTHON_REQUIRED_USE} -" -RESTRICT="!test? ( test )" - -COMMON_DEPEND=" - elibc_musl? ( >=sys-libs/musl-1.2.3 ) - selinux? ( sys-libs/libselinux:0= ) - tmpfiles? ( - acl? ( sys-apps/acl:0= ) - ) - udev? ( - >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}] - sys-libs/libcap:0=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - acl? ( sys-apps/acl:0= ) - kmod? ( >=sys-apps/kmod-15:0= ) - ) - !udev? ( - >=sys-apps/util-linux-2.30:0= - sys-libs/libcap:0= - virtual/libcrypt:= - ) -" -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-3.11 -" - -PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' - -RDEPEND="${COMMON_DEPEND} - boot? ( !=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] - test? ( ${PEFILE_DEPEND} ) - ) - ") -" - -TMPFILES_OPTIONAL=1 -UDEV_OPTIONAL=1 - -QA_EXECSTACK="usr/lib/systemd/boot/efi/*" -QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" - -CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED - ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX" - -pkg_setup() { - if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then - linux-info_pkg_setup - fi - use boot && secureboot_pkg_setup -} - -src_prepare() { - local PATCHES=() - - if use elibc_musl; then - PATCHES+=( - "${WORKDIR}/${MUSL_PATCHSET}" - "${FILESDIR}/musl-efi-wchar.patch" - ) - fi - default -} - -src_configure() { - python_setup - meson-multilib_src_configure -} - -multilib_src_configure() { - local emesonargs=( - -Dsysvinit-path= - $(meson_native_use_bool boot bootloader) - $(meson_native_use_bool kernel-install) - $(meson_native_use_bool selinux) - $(meson_native_use_bool sysusers) - $(meson_use test tests) - $(meson_native_use_bool tmpfiles) - $(meson_use udev hwdb) - $(meson_native_use_bool ukify) - - # Disable all optional features - -Dadm-group=false - -Danalyze=false - -Dapparmor=false - -Daudit=false - -Dbacklight=false - -Dbinfmt=false - -Dbpf-framework=false - -Dbzip2=false - -Dcoredump=false - -Ddbus=false - -Delfutils=false - -Denvironment-d=false - -Dfdisk=false - -Dgcrypt=false - -Dglib=false - -Dgshadow=false - -Dgnutls=false - -Dhibernate=false - -Dhostnamed=false - -Didn=false - -Dima=false - -Dinitrd=false - -Dfirstboot=false - -Dldconfig=false - -Dlibcryptsetup=false - -Dlibcurl=false - -Dlibfido2=false - -Dlibidn=false - -Dlibidn2=false - -Dlibiptc=false - -Dlocaled=false - -Dlogind=false - -Dlz4=false - -Dmachined=false - -Dmicrohttpd=false - -Dnetworkd=false - -Dnscd=false - -Dnss-myhostname=false - -Dnss-resolve=false - -Dnss-systemd=false - -Doomd=false - -Dopenssl=false - -Dp11kit=false - -Dpam=false - -Dpcre2=false - -Dpolkit=false - -Dportabled=false - -Dpstore=false - -Dpwquality=false - -Drandomseed=false - -Dresolve=false - -Drfkill=false - -Dseccomp=false - -Dsmack=false - -Dsysext=false - -Dtimedated=false - -Dtimesyncd=false - -Dtpm=false - -Dqrencode=false - -Dquotacheck=false - -Duserdb=false - -Dutmp=false - -Dvconsole=false - -Dwheel-group=false - -Dxdg-autostart=false - -Dxkbcommon=false - -Dxz=false - -Dzlib=false - -Dzstd=false - ) - - if use tmpfiles || use udev; then - emesonargs+=( $(meson_native_use_bool acl) ) - else - emesonargs+=( -Dacl=false ) - fi - - if use udev; then - emesonargs+=( $(meson_native_use_bool kmod) ) - else - emesonargs+=( -Dkmod=false ) - fi - - if use elibc_musl; then - # Avoid redefinition of struct ethhdr. - append-cppflags -D__UAPI_DEF_ETHHDR=0 - fi - - if multilib_is_native_abi || use udev; then - meson_src_configure - fi -} - -have_dmi() { - # see dmi_arches in meson.build - case ${CHOST} in - mips64*) - return 1 ;; - aarch64*|arm*|ia64*|i?86*|loongarch64*|mips*|x86_64*) - return 0 ;; - esac - return 1 -} - -multilib_src_compile() { - local targets=() optional_targets=() - if multilib_is_native_abi; then - if use boot; then - local efi_arch= efi_arch_alt= - case ${CHOST} in - aarch64*) efi_arch=aa64 ;; - arm*) efi_arch=arm ;; - loongarch32*) efi_arch=loongarch32 ;; - loongarch64*) efi_arch=loongarch64 ;; - riscv32*) efi_arch=riscv32 ;; - riscv64*) efi_arch=riscv64 ;; - x86_64*) efi_arch=x64 efi_arch_alt=ia32;; - i?86*) efi_arch=ia32 ;; - esac - targets+=( - bootctl - man/bootctl.1 - src/boot/efi/systemd-boot${efi_arch}.efi - src/boot/efi/linux${efi_arch}.efi.stub - src/boot/efi/addon${efi_arch}.efi.stub - ) - if [[ -n ${efi_arch_alt} ]]; then - # If we have a multilib toolchain, meson.build will build the - # "alt" arch (ia32). There's no easy way to detect this, so try - # to build it and ignore failure. - optional_targets+=( - src/boot/efi/systemd-boot${efi_arch_alt}.efi - src/boot/efi/linux${efi_arch_alt}.efi.stub - src/boot/efi/addon${efi_arch_alt}.efi.stub - ) - fi - - fi - if use kernel-install; then - targets+=( - kernel-install - src/kernel-install/90-loaderentry.install - man/kernel-install.8 - ) - fi - if use sysusers; then - targets+=( - systemd-sysusers - man/sysusers.d.5 - man/systemd-sysusers.8 - ) - if use test; then - targets+=( - systemd-runtest.env - ) - fi - fi - if use tmpfiles; then - targets+=( - systemd-tmpfiles - man/tmpfiles.d.5 - man/systemd-tmpfiles.8 - tmpfiles.d/{etc,static-nodes-permissions,var}.conf - ) - if use test; then - targets+=( - test-offline-passwd - test-tmpfile-util - ) - fi - fi - if use udev; then - targets+=( - udevadm - systemd-hwdb - ata_id - cdrom_id - fido_id - iocost - mtd_probe - scsi_id - v4l_id - src/udev/udev.pc - man/udev.conf.5 - man/systemd.link.5 - man/hwdb.7 - man/udev.7 - man/systemd-hwdb.8 - man/systemd-udevd.service.8 - man/udevadm.8 - man/libudev.3 - man/udev_device_get_syspath.3 - man/udev_device_has_tag.3 - man/udev_device_new_from_syspath.3 - man/udev_enumerate_add_match_subsystem.3 - man/udev_enumerate_new.3 - man/udev_enumerate_scan_devices.3 - man/udev_list_entry.3 - man/udev_monitor_filter_update.3 - man/udev_monitor_new_from_netlink.3 - man/udev_monitor_receive_device.3 - man/udev_new.3 - hwdb.d/60-autosuspend-chromiumos.hwdb - rules.d/50-udev-default.rules - rules.d/60-persistent-storage.rules - rules.d/64-btrfs.rules - # Needed for tests - rules.d/99-systemd.rules - ) - if have_dmi; then - targets+=( dmi_memory_id ) - fi - if use test; then - targets+=( - test-fido-id-desc - test-link-config-tables - test-udev-builtin - test-udev-device-thread - test-udev-format - test-udev-manager - test-udev-node - test-udev-rule-runner - test-udev-rules - test-udev-spawn - test-udev-util - ) - fi - fi - if use ukify; then - targets+=( - ukify - src/kernel-install/60-ukify.install - man/ukify.1 - ) - fi - fi - if use udev; then - targets+=( - libudev - src/libudev/libudev.pc - ) - if use test; then - targets+=( - test-libudev - test-libudev-sym - test-udev-device-thread - ) - fi - fi - if [[ ${#targets[@]} -ne 0 ]]; then - meson_src_compile "${targets[@]}" - fi - if [[ ${#optional_targets[@]} -ne 0 ]]; then - ninja ${NINJAOPTS} "${optional_targets[@]}" - fi -} - -multilib_src_test() { - local tests=() - if multilib_is_native_abi; then - if use boot; then - tests+=( --suite boot ) - fi - if use kernel-install; then - tests+=( --suite kernel-install ) - fi - if use sysusers; then - tests+=( --suite sysusers ) - fi - if use tmpfiles; then - tests+=( --suite tmpfiles ) - fi - if use udev; then - tests+=( --suite udev ) - fi - fi - if use udev; then - tests+=( --suite libudev ) - fi - if [[ ${#tests[@]} -ne 0 ]]; then - meson_src_test --no-rebuild "${tests[@]}" - fi -} - -src_install() { - meson-multilib_src_install -} - -set_rpath() { - patchelf --set-rpath "${EPREFIX}/usr/$(get_libdir)/systemd" "$@" || die "patchelf failed" -} - -multilib_src_install() { - if multilib_is_native_abi; then - exeinto "/usr/$(get_libdir)/systemd" - doexe src/shared/libsystemd-shared-${PV%%.*}.so - if use boot; then - set_rpath bootctl - dobin bootctl - doman man/bootctl.1 - meson_install --no-rebuild --tags systemd-boot - fi - if use kernel-install; then - set_rpath kernel-install - dobin kernel-install - doman man/kernel-install.8 - exeinto /usr/lib/kernel/install.d - doexe src/kernel-install/*.install - fi - if use sysusers; then - set_rpath systemd-sysusers - dobin systemd-sysusers - doman man/{systemd-sysusers.8,sysusers.d.5} - fi - if use tmpfiles; then - set_rpath systemd-tmpfiles - dobin systemd-tmpfiles - doman man/{systemd-tmpfiles.8,tmpfiles.d.5} - insinto /usr/lib/tmpfiles.d - doins tmpfiles.d/{etc,static-nodes-permissions,var}.conf - fi - if use udev; then - set_rpath udevadm systemd-hwdb - dobin udevadm systemd-hwdb - dosym ../../bin/udevadm /usr/lib/systemd/systemd-udevd - if use split-usr; then - # elogind installs udev rules that hard-code /bin/udevadm - dosym ../usr/bin/udevadm /bin/udevadm - fi - - exeinto /usr/lib/udev - set_rpath {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id} - doexe {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id} - - if have_dmi; then - set_rpath dmi_memory_id - doexe dmi_memory_id - fi - - rm -f rules.d/99-systemd.rules - insinto /usr/lib/udev/rules.d - doins rules.d/*.rules - - insinto /usr/lib/udev/hwdb.d - doins hwdb.d/*.hwdb - - insinto /usr/share/pkgconfig - doins src/udev/udev.pc - - doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8} - newman man/systemd-udevd.service.8 systemd-udevd.8 - doman man/libudev.3 - doman man/udev_*.3 - fi - if use ukify; then - dobin ukify - dosym ../../bin/ukify /usr/lib/systemd/ukify - doman man/ukify.1 - fi - fi - if use udev; then - meson_install --no-rebuild --tags libudev - insinto "/usr/$(get_libdir)/pkgconfig" - doins src/libudev/libudev.pc - fi -} - -multilib_src_install_all() { - einstalldocs - if use boot; then - dobashcomp shell-completion/bash/bootctl - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/{_bootctl,_kernel-install} - fi - if use kernel-install; then - exeinto /usr/lib/kernel/install.d - doexe src/kernel-install/*.install - fi - if use tmpfiles; then - doinitd "${FILESDIR}"/systemd-tmpfiles-setup - doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev - exeinto /etc/cron.daily - doexe "${FILESDIR}"/systemd-tmpfiles-clean - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/_systemd-tmpfiles - insinto /usr/lib/tmpfiles.d - doins tmpfiles.d/x11.conf - doins "${FILESDIR}"/{legacy,tmp}.conf - fi - if use udev; then - doheader src/libudev/libudev.h - - insinto /etc/udev - doins src/udev/udev.conf - keepdir /etc/udev/{hwdb.d,rules.d} - - insinto /usr/lib/systemd/network - doins network/99-default.link - - # Remove to avoid conflict with elogind - # https://bugs.gentoo.org/856433 - rm rules.d/70-power-switch.rules || die - insinto /usr/lib/udev/rules.d - doins rules.d/*.rules - doins "${FILESDIR}"/40-gentoo.rules - - insinto /usr/lib/udev/hwdb.d - doins hwdb.d/*.hwdb - - dobashcomp shell-completion/bash/udevadm - - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/_udevadm - fi - - use ukify && python_fix_shebang "${ED}" - use boot && secureboot_auto_sign -} - -add_service() { - local initd=$1 - local runlevel=$2 - - ebegin "Adding '${initd}' service to the '${runlevel}' runlevel" - mkdir -p "${EROOT}/etc/runlevels/${runlevel}" && - ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}" - eend $? -} - -pkg_preinst() { - # Migrate /lib/{systemd,udev} to /usr/lib - if use split-usr; then - local d - for d in systemd udev; do - dosym ../usr/lib/${d} /lib/${d} - if [[ -e ${EROOT}/lib/${d} && ! -L ${EROOT}/lib/${d} ]]; then - einfo "Copying files from '${EROOT}/lib/${d}' to '${EROOT}/usr/lib/${d}'" - cp -rpPT "${EROOT}/lib/${d}" "${EROOT}/usr/lib/${d}" || die - einfo "Removing '${EROOT}/lib/${d}'" - rm -r "${EROOT}/lib/${d}" || die - fi - done - fi -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]]; then - add_service systemd-tmpfiles-setup-dev sysinit - add_service systemd-tmpfiles-setup boot - fi - if use udev; then - ebegin "Updating hwdb" - systemd-hwdb --root="${ROOT}" update - eend $? - udev_reload - fi -} -- cgit v1.2.3