summaryrefslogtreecommitdiff
path: root/app-admin/sysstat
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-05-24 03:01:18 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-05-24 03:01:18 +0100
commita5d03e5440b3955446fba6d02de9f53ea4f6efc4 (patch)
treec1ef5c34e37665a48d85a29c5feadadb9622d627 /app-admin/sysstat
parent456fc832c996a122c45240beb68820ab3c2ada40 (diff)
gentoo auto-resync : 24:05:2023 - 03:01:18
Diffstat (limited to 'app-admin/sysstat')
-rw-r--r--app-admin/sysstat/Manifest2
-rw-r--r--app-admin/sysstat/files/sysstat-12.6.2-check_overflow.patch27
-rw-r--r--app-admin/sysstat/sysstat-12.6.2-r1.ebuild88
3 files changed, 117 insertions, 0 deletions
diff --git a/app-admin/sysstat/Manifest b/app-admin/sysstat/Manifest
index e50d5d4faa10..775e5a40ac2f 100644
--- a/app-admin/sysstat/Manifest
+++ b/app-admin/sysstat/Manifest
@@ -1,4 +1,6 @@
+AUX sysstat-12.6.2-check_overflow.patch 1071 BLAKE2B efa23b3c2fbe1aac353b7282836639dbee08b6cd2fbba9856213a92c65ec8df688182e996966330aa501cbc75845d7159861334715c3ee40c9eb045f42afd153 SHA512 8329d50044c011b30d9ce034d24207502b811cd61b152da6fba330072a63599ebea7f1939856b9e8d6ca79f42c64b0a619138aea6349af7fe69a34319a7b0ec7
AUX sysstat.init.d 378 BLAKE2B fe781f1a53e183023da2b46ecefb37881eedf8e8df2623927b24f33aa3344776b39db038d598ad050f1d48462d52300fb17731f29b0a8ab9c800fbe379efa249 SHA512 328ee3d40d45a0b1702c74fe0195ce4444cc8f63cb0fa68ba40ca20cfa183dd7acf4fc846cd76a4bcf426a3b4064316061dbbf26ca20047711528399e17b20b4
DIST sysstat-12.6.2.tar.gz 1455025 BLAKE2B aba2d8fd5fae8d6df740173d7ccd60beb0628c4c2205342f72ec03d6c48995d397de0d6f2cace24accf1a9274da37cf3bba86888717bc8d62d262ffd1c6f995e SHA512 376047de55598c6f671b999203809219a40206a9c58499399681af9ebe6048dd4da96c8ef5827d75cc369a7b69c3f1aadef1a5e8deec318a12b230d61f09fc08
+EBUILD sysstat-12.6.2-r1.ebuild 1779 BLAKE2B fcef9a9321a36954d94846a866f3c8f698d0cbf5460dda4763b2f284c7edd2e95b239a6317934b37d5d281c6772b7553036e559c1f946bea9411b1a562ca0b98 SHA512 0249fe76151627a67334cdc921b345c678637cee438d5c3b33ee90a69c65731b2a0a690b8e7386a725f0a69abb3e958938b23bb6ea11c1bd6b3208028086159c
EBUILD sysstat-12.6.2.ebuild 1710 BLAKE2B 575b73d0afe41bfe83bf70bb2d4723d9c6324371b20bbdbf4fb0a62f8e27bc567c47f1050979ca24a0b4ab3afa32d0019bf3905bca5cc54c478f8ebf00e20e4b SHA512 8312739cca30d5fab338186fb1b16d6f7ed171694b3af0474b62a1616cbf27579af95ed93ada68600fd80173558e35de9a8e51256eb25fdc9d6cee12ad94a99e
MISC metadata.xml 617 BLAKE2B e890e68addd784d7478e282d4518a7cab0d7ca4fc86ad44db58063e5c7027084b66d1e4fe63b702b992a60f0d9cd5816cf8ad6016b17e185760a820f08907579 SHA512 1dcf5a80e3f3cfdf1cc8cd3730847c6ed9107eec7286b37e1de01287189e8811e729e16328a283abe196443c5355d905d7c95104c43e23f7d4ce3c56e2fa4ad9
diff --git a/app-admin/sysstat/files/sysstat-12.6.2-check_overflow.patch b/app-admin/sysstat/files/sysstat-12.6.2-check_overflow.patch
new file mode 100644
index 000000000000..413cdad8b015
--- /dev/null
+++ b/app-admin/sysstat/files/sysstat-12.6.2-check_overflow.patch
@@ -0,0 +1,27 @@
+From 954ff2e2673cef48f0ed44668c466eab041db387 Mon Sep 17 00:00:00 2001
+From: Pavel Kopylov <pkopylov@cloudlinux.com>
+Date: Wed, 17 May 2023 11:33:45 +0200
+Subject: [PATCH] Fix an overflow which is still possible for some values.
+
+---
+ common.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/common.c b/common.c
+index 48493b5f..12cd8d9f 100644
+--- a/common.c
++++ b/common.c
+@@ -431,8 +431,11 @@ int check_dir(char *dirname)
+ void check_overflow(unsigned int val1, unsigned int val2,
+ unsigned int val3)
+ {
+- if ((unsigned long long) val1 * (unsigned long long) val2 *
+- (unsigned long long) val3 > UINT_MAX) {
++ if ((val1 != 0) && (val2 != 0) && (val3 != 0) &&
++ (((unsigned long long)UINT_MAX / (unsigned long long)val1 <
++ (unsigned long long)val2) ||
++ ((unsigned long long)UINT_MAX / ((unsigned long long)val1 *
++ (unsigned long long)val2) < (unsigned long long)val3))) {
+ #ifdef DEBUG
+ fprintf(stderr, "%s: Overflow detected (%llu). Aborting...\n",
+ __FUNCTION__, (unsigned long long) val1 * (unsigned long long) val2 *
diff --git a/app-admin/sysstat/sysstat-12.6.2-r1.ebuild b/app-admin/sysstat/sysstat-12.6.2-r1.ebuild
new file mode 100644
index 000000000000..41f26b4b985a
--- /dev/null
+++ b/app-admin/sysstat/sysstat-12.6.2-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit systemd toolchain-funcs
+
+DESCRIPTION="System performance tools for Linux"
+HOMEPAGE="http://sebastien.godard.pagesperso-orange.fr/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="dcron debug nls lm-sensors lto selinux systemd"
+
+BDEPEND="
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+COMMON_DEPEND="
+ nls? ( virtual/libintl )
+ lm-sensors? ( sys-apps/lm-sensors:= )
+"
+
+DEPEND="${COMMON_DEPEND}"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ !dcron? ( !sys-process/dcron )
+ selinux? ( sec-policy/selinux-sysstat )
+"
+
+REQUIRED_USE="dcron? ( !systemd )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-12.6.2-check_overflow.patch
+)
+
+src_prepare() {
+ if use dcron; then
+ sed -i 's/@CRON_OWNER@ //g' cron/sysstat.crond.in || die
+ fi
+ default
+}
+
+src_configure() {
+ tc-export AR
+
+ sa_lib_dir=/usr/lib/sa \
+ conf_dir=/etc \
+ econf \
+ $(use_enable !systemd use-crond) \
+ $(use_enable lm-sensors sensors) \
+ $(use_enable lto) \
+ $(use_enable nls) \
+ $(usex debug --enable-debuginfo '') \
+ --disable-compress-manpg \
+ --disable-stripping \
+ --disable-pcp \
+ --enable-copy-only \
+ --enable-documentation \
+ --enable-install-cron \
+ --with-systemdsystemunitdir=$(systemd_get_systemunitdir)
+}
+
+src_compile() {
+ LFLAGS="${LDFLAGS}" default
+}
+
+src_install() {
+ keepdir /var/log/sa
+
+ emake \
+ CHOWN=true \
+ DESTDIR="${D}" \
+ DOC_DIR=/usr/share/doc/${PF} \
+ MANGRPARG='' \
+ install
+
+ dodoc -r contrib/
+
+ newinitd "${FILESDIR}"/${PN}.init.d ${PN}
+ systemd_dounit ${PN}.service
+
+ rm "${D}"/usr/share/doc/${PF}/COPYING || die
+}