summaryrefslogtreecommitdiff
path: root/sys-block/partimage
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-10 03:19:26 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-10 03:19:26 +0000
commitcaf79cb4f7c4d5f7cce488d8f50dfb98ddbd09ab (patch)
tree4fb39a9252efabe8f160ef46b7b3be2f52af25aa /sys-block/partimage
parent3606ceecb950b302a6ba2a9882aeeff2a851e5dc (diff)
gentoo auto-resync : 10:12:2022 - 03:19:26
Diffstat (limited to 'sys-block/partimage')
-rw-r--r--sys-block/partimage/Manifest2
-rw-r--r--sys-block/partimage/files/partimage-0.6.9-musl-null-type.patch34
-rw-r--r--sys-block/partimage/partimage-0.6.9-r4.ebuild142
3 files changed, 178 insertions, 0 deletions
diff --git a/sys-block/partimage/Manifest b/sys-block/partimage/Manifest
index 09dc66b51d25..12589de6a1a3 100644
--- a/sys-block/partimage/Manifest
+++ b/sys-block/partimage/Manifest
@@ -1,6 +1,7 @@
AUX partimage-0.6.9-clang.patch 8058 BLAKE2B 2784fade3808eef2f8eacaa4441a6df3624c829954e33b186da2b9f8107aa3901b90f2bfb52e9a207e1beb1a3daa16bab18fbfc4db1b3800d97daa6003ea76ce SHA512 b0f17c618ed9e0c0e51c8534a2f0548dd466667eb3bf22a19869790ce8b7596a0f4b5d2aeb75d0a6351aeb83a9ac9f9aa8401d36413a84276714e0f95b6061bc
AUX partimage-0.6.9-minor-typo.patch 313 BLAKE2B c0d04a86e0d4c27ce8a1b097525c029c258ef37968058a888f2fbfc55da2035134b058c8b1118a0f86a3c3b5cd63116d5435371b43f9ba4b0f3e70ec830d18e8 SHA512 7bf9de9b08afce5c3b2bfa8943561df0605066866f7ba748872c9f81e1be4033e6f88c8033af1e1b7e2adb64263e8177ba9bcad1ac2e613b27e9c219fbff6828
AUX partimage-0.6.9-missing-includes.patch 834 BLAKE2B 713279432e869a35b9db5a68db5a1c9f88248c7d89af2d716d75b9d0382df74d72c1a15b5789377b47dcc1dd75bb26512ea6829826745864d37c250387b3c84b SHA512 c1a8251b2ac48add258136edf54f19660ca5528842eac693e9ae1dc47d9c5446037c39237f8eefbfb6def041c7c06826aab8aed67faa7c1e50f027d649cf9bc9
+AUX partimage-0.6.9-musl-null-type.patch 1278 BLAKE2B 09a00670c03e695f694eda622734cf18802d6f9a3b14a7468f81e84cc2166719f8f7316348de0d2c2de592d70fd5fe64299fccc7f950b5be8f03573ca7b282d3 SHA512 4c878f147003d85ea5bb5eefa09c798f8570a6c003e9f0192652904fa2c25d0f59bb046b45d118628e45231b697bdd5e6188c98c928f9584af578996d466072e
AUX partimage-0.6.9-openssl-1.1-compatibility.patch 1445 BLAKE2B 086fa11a2dc3326b86cdfd43abda921fbf7a03c95adf7cba28675ed5c8334582feedd0e1adbe16e7750333fcf730d67fd02f3a9a49a8f4d08881964eff51dadb SHA512 96c398a3d536ed6dc54ef8d6012f1ecefe78fd8a27b74966ba8d6095e593cbcd33213dc485c6dc13ee45a517928de2bce639b5679e91ed2aea2adb1f5b3efba6
AUX partimage-0.6.9-zlib-1.2.5.2-r1.patch 983 BLAKE2B 6ee4dba05298ea6d38f4d3917385ffcb91b5f39515d00a8cd12e16087b24821f672e20e3d9591c5681709a3e109b9f213b222eaa96f46a4c884b6b3b2106ebce SHA512 dc1e64c0b852b8f24ed604956c0977cca7a246ee66f9c36a901e26396e9a5f4f99ac0cceb2d5b9c165060fa360519d24e77ea5464479019e8c6b20b93e82cb05
AUX partimaged.conf 307 BLAKE2B f1d0bc946a517f4896b55c749c0f244731d413119dfc15c22f5e0834ca87cdb37b278f8907bb18dade3a1ab48cbea3a4d7ef5b836af32260cbf1653627855a2f SHA512 1be320a8dceb3076e6aa2d8b1a8a4d01a380ad1209133997fd0d87cf1d0974fc4877c3c8b41c07fbb99249c8a00132f2c5fa7ffadf26f4e41cc2abfcd6b62116
@@ -9,4 +10,5 @@ AUX partimaged.pam.2 249 BLAKE2B e40a15c5fe4dc394cbcf9c478c3c764e67ec317f31c0397
AUX servercert.cnf 980 BLAKE2B 0660f9b92fe422754e36d6ce1889e8b8feb40954b36b3e00e58f5e534b85171ac42e66f74020a55dd1b14d56d7764c94427b8d1d112ca1a878dff388ac3ea787 SHA512 8aa0592ce0be3f08124880b823db59aa167e7d509ea1a9b48d9f895482f96e99a6e4df330c567b9ce331eed43cb4f1a70b1b7727878972a8b074265898b1e557
DIST partimage-0.6.9.tar.bz2 666522 BLAKE2B d9a240f82a7b6ae73997df46c964fdddf8dddea9e3bd9548252d9409a526358714908316c52864b60bc9fcc1113a5e1c6cf294faff6845a183c7ffe1012475a6 SHA512 252885921b23933fdcdf0bb6efa4b82066b08ca95cc653296912d384ae875b421c1d39f347a90115315139176d4eab4a930c24919c2d38cf00ed29c764cd14d9
EBUILD partimage-0.6.9-r3.ebuild 3452 BLAKE2B fd4613278a34e0b5c1275a10b1898fe8d4c343df19aac6ed90a2ec056eec380a61660873219a212029ff025be3712d8a1e5e8c763fa7e86fb179ee4736a2dd14 SHA512 0c71b580820caebb21b5c18f09e5751c3d60c7c845673fa076f224aa196dd908536930c9ef1ec9a0e41121b08555ccae4879538e6b0d66d85faa88340befab3a
+EBUILD partimage-0.6.9-r4.ebuild 3511 BLAKE2B 27ad131f7eefd78709bf98466c73c588911af8a10a2dee14b273b0b186a4f8fb3bd53267137348c4e4b2c01e69f481d660b15e46311e2c6b99cf30e3c19af3d7 SHA512 ede2efcb5801cce33082b9f26889dfa1437e4df569e2e08b0b7989f3e3cf2334e71061bddbf8e76e8b5d5b22e61fbbfb3034434fab7e63cf875c84a463bfe64b
MISC metadata.xml 505 BLAKE2B cdec044381791ad6f7503bb19acba3604cc49b4e3f49ad06658029ac5700566e25c0b6de37a4bbf1ecae898a92ab3cedc77a3e36f76a90f0731f68ffaff9e194 SHA512 652db70705956848e88316ef18bb5fce688565c47e6f0dfcaafb1fee2c4919e18eb00f1c4b8e58b9deb0412e2c3eb001a86dc59a49f5d4ebbfce7dcf4e6e9ef1
diff --git a/sys-block/partimage/files/partimage-0.6.9-musl-null-type.patch b/sys-block/partimage/files/partimage-0.6.9-musl-null-type.patch
new file mode 100644
index 000000000000..fddf4b2dbc80
--- /dev/null
+++ b/sys-block/partimage/files/partimage-0.6.9-musl-null-type.patch
@@ -0,0 +1,34 @@
+In newer musl, the type of NULL in C++ is nullptr rather than an
+integer.
+
+Upstream: https://git.musl-libc.org/cgit/musl/commit/?id=98e688a9da5e7b2925dda17a2d6820dddf1fb287
+Bug: https://bugs.gentoo.org/853883
+
+diff --git a/src/server/partimaged-client.cpp b/src/server/partimaged-client.cpp
+index 7c5f856..35b3514 100644
+--- a/src/server/partimaged-client.cpp
++++ b/src/server/partimaged-client.cpp
+@@ -89,9 +89,9 @@ void CPartimagedClients::Release(unsigned int client)
+ pthread_mutex_lock(&mClients);
+ showDebug(1, "%d released\n", client);
+ shutdown(Clients[client].Sock, SHUT_RDWR);
+- Clients[client].Sock = NULL;
++ Clients[client].Sock = 0x0;
+ Clients[client].Present = false;
+- Clients[client].MyPid = NULL;
++ Clients[client].MyPid = 0x0;
+ pthread_mutex_unlock(&mClients);
+ }
+
+@@ -109,9 +109,9 @@ void CPartimagedClients::ReleaseClientByPid(unsigned int client_pid)
+ found = true;
+ showDebug(1, "client %d pid = %d released by pid\n", next, client_pid);
+ shutdown(Clients[next].Sock, SHUT_RDWR);
+- Clients[next].Sock = NULL;
++ Clients[next].Sock = 0x0;
+ Clients[next].Present = false;
+- Clients[next].MyPid = NULL;
++ Clients[next].MyPid = 0x0;
+ }
+ else
+ next++;
diff --git a/sys-block/partimage/partimage-0.6.9-r4.ebuild b/sys-block/partimage/partimage-0.6.9-r4.ebuild
new file mode 100644
index 000000000000..e2033e200544
--- /dev/null
+++ b/sys-block/partimage/partimage-0.6.9-r4.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic pam
+
+DESCRIPTION="Console-based application to efficiently save raw partition data to image file"
+HOMEPAGE="https://www.partimage.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~riscv ~sparc ~x86"
+IUSE="nls nologin pam ssl static"
+REQUIRED_USE="static? ( !pam )"
+
+COMMON_DEPEND="
+ acct-group/partimag
+ acct-user/partimag
+"
+LIBS_DEPEND="
+ app-arch/bzip2
+ >=dev-libs/newt-0.52
+ >=sys-libs/slang-2
+ sys-libs/zlib:=
+ !nologin? ( virtual/libcrypt:= )
+ ssl? ( dev-libs/openssl:0= )
+"
+PAM_DEPEND="pam? ( sys-libs/pam )"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${PAM_DEPEND}
+ !static? ( ${LIBS_DEPEND} )
+"
+DEPEND="
+ ${PAM_DEPEND}
+ ${LIBS_DEPEND}
+"
+BDEPEND="
+ ${COMMON_DEPEND}
+ nls? ( sys-devel/gettext )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.6.9-zlib-1.2.5.2-r1.patch #405323
+ "${FILESDIR}"/${PN}-0.6.9-minor-typo.patch #580290
+ "${FILESDIR}"/${PN}-0.6.9-openssl-1.1-compatibility.patch
+ "${FILESDIR}"/${PN}-0.6.9-missing-includes.patch
+ "${FILESDIR}"/${PN}-0.6.9-clang.patch
+ "${FILESDIR}"/${PN}-0.6.9-musl-null-type.patch #853883
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # XXX: Do we still need these?
+ filter-flags -fno-exceptions
+ use ppc && append-flags -fsigned-char
+
+ local myeconfargs=(
+ $(use_enable nls)
+ $(usex nologin '--disable-login' '')
+ $(use_enable pam)
+ $(use_enable ssl)
+ $(use_enable static all-static)
+ --with-log-dir="${EPREFIX}"/var/log/partimage
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ keepdir /var/lib/partimage
+ keepdir /var/log/partimage
+
+ newinitd "${FILESDIR}"/partimaged.init.2 partimaged
+ newconfd "${FILESDIR}"/partimaged.conf partimaged
+
+ if use pam; then
+ newpamd "${FILESDIR}"/partimaged.pam.2 partimaged
+ fi
+
+ if use ssl; then
+ insinto /etc/partimaged
+ doins "${FILESDIR}"/servercert.cnf
+ fi
+
+ fowners partimag:root /etc/partimaged/partimagedusers
+}
+
+pkg_config() {
+ if use ssl; then
+ local confdir="${EROOT}"/etc/partimaged
+ local privkey="${confdir}"/partimaged.key
+ local cnf="${confdir}"/servercert.cnf
+ local csr="${confdir}"/partimaged.csr
+ local cert="${confdir}"/partimaged.cert
+
+ ewarn "Please customize /etc/partimaged/servercert.cnf before you continue!"
+ ewarn "Press Ctrl-C to break now for it, or press enter to continue."
+ read
+ if [ ! -f "${privkey}" ]; then
+ einfo "Generating unencrypted private key: ${privkey}"
+ openssl genrsa -out "${privkey}" 2048 || die
+ else
+ einfo "Private key already exists: ${privkey}"
+ fi
+ if [ ! -f "${csr}" ]; then
+ einfo "Generating certificate request: ${csr}"
+ openssl req -new -x509 -outform PEM -out "${csr}" -key "${privkey}" -config "${cnf}" || die
+ else
+ einfo "Certificate request already exists: ${csr}"
+ fi
+ if [ ! -f "${cert}" ]; then
+ einfo "Generating self-signed certificate: ${cert}"
+ openssl x509 -in "${csr}" -out "${cert}" -signkey "${privkey}" || die
+ else
+ einfo "Self-signed certifcate already exists: ${cert}"
+ fi
+ einfo "Setting permissions"
+ chmod 600 "${privkey}" || die
+ chown partimag:root "${privkey}" || die
+ chmod 644 "${cert}" "${csr}" || die
+ chown root:root "${cert}" "${csr}" || die
+ einfo "Done"
+ else
+ einfo "SSL is disabled, not building certificates"
+ fi
+}
+
+pkg_postinst() {
+ if use ssl; then
+ einfo "To create the required SSL certificates, please do:"
+ einfo "emerge --config =${PF}"
+ fi
+}