commit: 14ea06276c7decfbb03e0f87caf07fde863954a3 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri Nov 28 03:23:21 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Nov 28 03:23:21 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14ea0627
app-admin/rasdaemon: drop 0.8.0-r2, 0.8.2, 0.8.3 Signed-off-by: Sam James <sam <AT> gentoo.org> app-admin/rasdaemon/Manifest | 2 - .../files/rasdaemon-0.8.0-bashisms-configure.patch | 40 ----- ...on-0.8.0-check-online-cpus-not-configured.patch | 40 ----- ...rasdaemon-0.8.0-table-create-offline-cpus.patch | 179 --------------------- app-admin/rasdaemon/rasdaemon-0.8.0-r2.ebuild | 87 ---------- app-admin/rasdaemon/rasdaemon-0.8.2.ebuild | 70 -------- app-admin/rasdaemon/rasdaemon-0.8.3.ebuild | 70 -------- 7 files changed, 488 deletions(-) diff --git a/app-admin/rasdaemon/Manifest b/app-admin/rasdaemon/Manifest index a2197f629ce1..70f9d62acec5 100644 --- a/app-admin/rasdaemon/Manifest +++ b/app-admin/rasdaemon/Manifest @@ -1,3 +1 @@ -DIST rasdaemon-0.8.0.tar.bz2 394983 BLAKE2B 24209f468fea2bc4e85dcac51e363e44a8a44b224b448ec1330bcd15a5b2b4b3cceeec78dbc86b4a88f5a378ecacba62cdba8e9c3e2b1b3a70be85a18af166ab SHA512 f6262f098fd2a08d35fef2c25e2452a202151d4cc93a1829e821abd564acf7dcf80b08f819cbd7f04244dcc9f1dec5d9138aa013bb43c8fcf19d340233275614 -DIST rasdaemon-0.8.2.tar.bz2 447263 BLAKE2B 65bc3f390a56afcc31878d6f0b7b887d0d9c5b534cd228d733b3b09464bcf0720a3e7d5d088a3532a7c2249d7c62c2a8af34c0bc4904fb9ff4df0aee86c0d5d9 SHA512 223f14d7e4ce212b7770eee9a723aae8466d5891ae853f913a32f00f1772266cbb88c1c44c88924fe514719323a63c867bb15b5fbada4d8176b3cf50175b889d DIST rasdaemon-0.8.3.tar.bz2 449504 BLAKE2B 307f5d02f2e7634f5d3f1baa37f56caa3d43a509a898b936570cd7410f4871663e18bd9c48afd52c850d9320f4d93c33588610cd0815442c20ad1f568f5c4580 SHA512 4f9186a14e90ef9a5dad9acfa03a29375501b5ae2cf525052dea3a42c193cfec5520bd41de118f5318a20582122346d015a49791bf10fbaceb221ae6dffa28f6 diff --git a/app-admin/rasdaemon/files/rasdaemon-0.8.0-bashisms-configure.patch b/app-admin/rasdaemon/files/rasdaemon-0.8.0-bashisms-configure.patch deleted file mode 100644 index e227df6724b2..000000000000 --- a/app-admin/rasdaemon/files/rasdaemon-0.8.0-bashisms-configure.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://github.com/mchehab/rasdaemon/pull/89 - -From 9461d22e334686f76c99477386072f4673cd0a72 Mon Sep 17 00:00:00 2001 -From: Sam James <[email protected]> -Date: Sun, 19 Feb 2023 18:33:20 +0000 -Subject: [PATCH] configure.ac: fix bashisms - -configure scripts need to be runnable with a POSIX-compliant /bin/sh. - -On many (but not all!) systems, /bin/sh is provided by Bash, so errors -like this aren't spotted. Notably Debian defaults to /bin/sh provided -by dash which doesn't tolerate such bashisms as '=='. - -This retains compatibility with bash. - -Fixes configure warnings/errors like: -``` -checking for libtraceevent... yes -./configure: 13430: test: x: unexpected operator -./configure: 13439: test: x: unexpected operator -``` - -Signed-off-by: Sam James <[email protected]> ---- a/configure.ac -+++ b/configure.ac -@@ -170,11 +170,11 @@ AM_COND_IF([WITH_AMP_NS_DECODE], [USE_AMP_NS_DECODE="yes"], [USE_AMP_NS_DECODE=" - AC_ARG_ENABLE([cpu_fault_isolation], - AS_HELP_STRING([--enable-cpu-fault-isolation], [enable cpu online fault isolation])) - --AS_IF([test "x$enable_cpu_fault_isolation" = "xyes" || test "x$enable_all" == "xyes"], [ -+AS_IF([test "x$enable_cpu_fault_isolation" = "xyes" || test "x$enable_all" = "xyes"], [ - AC_DEFINE(HAVE_CPU_FAULT_ISOLATION,1,"have cpu online fault isolation") - AC_SUBST([WITH_CPU_FAULT_ISOLATION]) - ]) --AM_CONDITIONAL([WITH_CPU_FAULT_ISOLATION], [test x$enable_cpu_fault_isolation = xyes || test x$enable_all == xyes]) -+AM_CONDITIONAL([WITH_CPU_FAULT_ISOLATION], [test x$enable_cpu_fault_isolation = xyes || test x$enable_all = xyes]) - AM_COND_IF([WITH_CPU_FAULT_ISOLATION], [USE_CPU_FAULT_ISOLATION="yes"], [USE_CPU_FAULT_ISOLATION="no"]) - - test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc - diff --git a/app-admin/rasdaemon/files/rasdaemon-0.8.0-check-online-cpus-not-configured.patch b/app-admin/rasdaemon/files/rasdaemon-0.8.0-check-online-cpus-not-configured.patch deleted file mode 100644 index 0d3e60976659..000000000000 --- a/app-admin/rasdaemon/files/rasdaemon-0.8.0-check-online-cpus-not-configured.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://bugs.gentoo.org/890286 -https://github.com/mchehab/rasdaemon/issues/77 -https://github.com/mchehab/rasdaemon/commit/f1ea76375281001cdf4a048c1a4a24d86c6fbe48 - -From f1ea76375281001cdf4a048c1a4a24d86c6fbe48 Mon Sep 17 00:00:00 2001 -From: Zeph / Liz Loss-Cutler-Hull <[email protected]> -Date: Sun, 9 Jul 2023 04:57:19 -0700 -Subject: [PATCH] Check CPUs online, not configured. - -When the number of CPUs detected is greater than the number of CPUs in -the system, rasdaemon will crash when it receives some events. - -Looking deeper, we also fail to use the poll method for similar reasons -in this case. - -All of this can be prevented by checking to see how many CPUs are -currently online (sysconf(_SC_NPROCESSORS_ONLN)) instead of how many -CPUs the current kernel was configured to support -(sysconf(_SC_NPROCESSORS_CONF)). - -For the kernel side of the discussion, see https://lore.kernel.org/lkml/CAM6Wdxft33zLeeXHhmNX5jyJtfGTLiwkQSApc=10fqf+rqh...@mail.gmail.com/T/ -Signed-off-by: Mauro Carvalho Chehab <[email protected]> ---- - ras-events.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ras-events.c b/ras-events.c -index a82dab2..5935163 100644 ---- a/ras-events.c -+++ b/ras-events.c -@@ -350,7 +350,7 @@ static void parse_ras_data(struct pthread_data *pdata, struct kbuffer *kbuf, - - static int get_num_cpus(struct ras_events *ras) - { -- return sysconf(_SC_NPROCESSORS_CONF); -+ return sysconf(_SC_NPROCESSORS_ONLN); - #if 0 - char fname[MAX_PATH + 1]; - int num_cpus = 0; - diff --git a/app-admin/rasdaemon/files/rasdaemon-0.8.0-table-create-offline-cpus.patch b/app-admin/rasdaemon/files/rasdaemon-0.8.0-table-create-offline-cpus.patch deleted file mode 100644 index 4eb3977930c6..000000000000 --- a/app-admin/rasdaemon/files/rasdaemon-0.8.0-table-create-offline-cpus.patch +++ /dev/null @@ -1,179 +0,0 @@ -https://bugs.gentoo.org/890286 -https://github.com/mchehab/rasdaemon/issues/77 -https://github.com/mchehab/rasdaemon/commit/6f7851f72d8464c7a20a248d4abf4362de8f0ba9 - -From 6f7851f72d8464c7a20a248d4abf4362de8f0ba9 Mon Sep 17 00:00:00 2001 -From: Shiju Jose <[email protected]> -Date: Sun, 5 Mar 2023 23:14:42 +0000 -Subject: [PATCH] rasdaemon: fix table create if some cpus are offline - -Fix for regression in ras_mc_create_table() if some cpus are offline -at the system start - -Issue: - -Regression in the ras_mc_create_table() if some of the cpus are offline -at the system start when run the rasdaemon. - -This issue is reproducible in ras_mc_create_table() with decode and -record non-standard events and reproducible sometimes with -ras_mc_create_table() for the standard events. - -Also in the multi thread way, there is memory leak in ras_mc_event_opendb() -as struct sqlite3_priv *priv and sqlite3 *db allocated/initialized per -thread, but stored in the common struct ras_events ras in pthread data, -which is shared across the threads. - -Reason: - -when the system starts with some of the cpus offline and then run -the rasdaemon, read_ras_event_all_cpus() exit with error and switch to -the multi thread way. However read() in read_ras_event() return error in -threads for each of the offline CPUs and does clean up including calling -ras_mc_event_closedb(). - -Since the 'struct ras_events ras' passed in the pthread_data to each of the -threads is common, struct sqlite3_priv *priv and sqlite3 *db allocated/ -initialized per thread and stored in the common 'struct ras_events ras', -are getting overwritten in each ras_mc_event_opendb()(which called from -pthread per cpu), result memory leak. - -Also when ras_mc_event_closedb() is called in the above error case from -the threads corresponding to the offline cpus, close the sqlite3 *db and -free sqlite3_priv *priv stored in the common 'struct ras_events ras', -result regression when accessing priv->db in the ras_mc_create_table() -from another context later. - -Solution: - -In ras_mc_event_opendb(), allocate struct sqlite3_priv *priv, -init sqlite3 *db and create tables common for the threads with shared -'struct ras_events ras' based on a reference count and free them in the -same way. - -Also protect critical code ras_mc_event_opendb() and ras_mc_event_closedb() -using mutex in the multi thread case from any regression caused by the -thread pre-emption. - -Reported-by: Lei Feng <[email protected]> -Signed-off-by: Shiju Jose <[email protected]> -Signed-off-by: Mauro Carvalho Chehab <[email protected]> ---- - ras-events.c | 16 +++++++++++++++- - ras-events.h | 4 +++- - ras-record.c | 12 ++++++++++++ - 3 files changed, 30 insertions(+), 2 deletions(-) - -diff --git a/ras-events.c b/ras-events.c -index 49e4f9a..5fe8e19 100644 ---- a/ras-events.c -+++ b/ras-events.c -@@ -625,19 +625,25 @@ static void *handle_ras_events_cpu(void *priv) - - log(TERM, LOG_INFO, "Listening to events on cpu %d\n", pdata->cpu); - if (pdata->ras->record_events) { -+ pthread_mutex_lock(&pdata->ras->db_lock); - if (ras_mc_event_opendb(pdata->cpu, pdata->ras)) { -+ pthread_mutex_unlock(&pdata->ras->db_lock); - log(TERM, LOG_ERR, "Can't open database\n"); - close(fd); - kbuffer_free(kbuf); - free(page); - return 0; - } -+ pthread_mutex_unlock(&pdata->ras->db_lock); - } - - read_ras_event(fd, pdata, kbuf, page); - -- if (pdata->ras->record_events) -+ if (pdata->ras->record_events) { -+ pthread_mutex_lock(&pdata->ras->db_lock); - ras_mc_event_closedb(pdata->cpu, pdata->ras); -+ pthread_mutex_unlock(&pdata->ras->db_lock); -+ } - - close(fd); - kbuffer_free(kbuf); -@@ -993,6 +999,11 @@ int handle_ras_events(int record_events) - - /* Poll doesn't work on this kernel. Fallback to pthread way */ - if (rc == -255) { -+ if (pthread_mutex_init(&ras->db_lock, NULL) != 0) { -+ log(SYSLOG, LOG_INFO, "sqlite db lock init has failed\n"); -+ goto err; -+ } -+ - log(SYSLOG, LOG_INFO, - "Opening one thread per cpu (%d threads)\n", cpus); - for (i = 0; i < cpus; i++) { -@@ -1005,6 +1016,8 @@ int handle_ras_events(int record_events) - i); - while (--i) - pthread_cancel(data[i].thread); -+ -+ pthread_mutex_destroy(&ras->db_lock); - goto err; - } - } -@@ -1012,6 +1025,7 @@ int handle_ras_events(int record_events) - /* Wait for all threads to complete */ - for (i = 0; i < cpus; i++) - pthread_join(data[i].thread, NULL); -+ pthread_mutex_destroy(&ras->db_lock); - } - - log(SYSLOG, LOG_INFO, "Huh! something got wrong. Aborting.\n"); -diff --git a/ras-events.h b/ras-events.h -index 6c9f507..649b0c0 100644 ---- a/ras-events.h -+++ b/ras-events.h -@@ -56,7 +56,9 @@ struct ras_events { - time_t uptime_diff; - - /* For ras-record */ -- void *db_priv; -+ void *db_priv; -+ int db_ref_count; -+ pthread_mutex_t db_lock; - - /* For the mce handler */ - struct mce_priv *mce_priv; -diff --git a/ras-record.c b/ras-record.c -index a367939..adc97a4 100644 ---- a/ras-record.c -+++ b/ras-record.c -@@ -763,6 +763,10 @@ int ras_mc_event_opendb(unsigned cpu, struct ras_events *ras) - - printf("Calling %s()\n", __FUNCTION__); - -+ ras->db_ref_count++; -+ if (ras->db_ref_count > 1) -+ return 0; -+ - ras->db_priv = NULL; - - priv = calloc(1, sizeof(*priv)); -@@ -912,6 +916,13 @@ int ras_mc_event_closedb(unsigned int cpu, struct ras_events *ras) - - printf("Calling %s()\n", __func__); - -+ if (ras->db_ref_count > 0) -+ ras->db_ref_count--; -+ else -+ return -1; -+ if (ras->db_ref_count > 0) -+ return 0; -+ - if (!priv) - return -1; - -@@ -1018,6 +1029,7 @@ int ras_mc_event_closedb(unsigned int cpu, struct ras_events *ras) - log(TERM, LOG_ERR, - "cpu %u: Failed to shutdown sqlite: error = %d\n", cpu, rc); - free(priv); -+ ras->db_priv = NULL; - - return 0; - } - diff --git a/app-admin/rasdaemon/rasdaemon-0.8.0-r2.ebuild b/app-admin/rasdaemon/rasdaemon-0.8.0-r2.ebuild deleted file mode 100644 index 491390c49008..000000000000 --- a/app-admin/rasdaemon/rasdaemon-0.8.0-r2.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic linux-info systemd - -DESCRIPTION="Reliability, Availability and Serviceability logging tool" -HOMEPAGE="https://github.com/mchehab/rasdaemon" -# This if can be dropped > 0.8.0, see https://github.com/mchehab/rasdaemon/issues/88 -if [[ ${PV} == 0.8.0 ]] ; then - SRC_URI="https://github.com/mchehab/rasdaemon/releases/download/refs%2Fheads%2Fmaster/${P}.tar.bz2" -else - SRC_URI="https://github.com/mchehab/rasdaemon/releases/download/v${PV}/${P}.tar.bz2" -fi - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" -IUSE="selinux" - -DEPEND=" - dev-db/sqlite - dev-libs/libtraceevent - elibc_musl? ( sys-libs/argp-standalone ) -" -RDEPEND=" - ${DEPEND} - dev-perl/DBI - dev-perl/DBD-SQLite - sys-apps/dmidecode - selinux? ( sec-policy/selinux-rasdaemon ) -" -BDEPEND="sys-devel/gettext" - -PATCHES=( - "${FILESDIR}"/${PN}-0.8.0-bashisms-configure.patch - "${FILESDIR}"/${PN}-0.8.0-table-create-offline-cpus.patch - "${FILESDIR}"/${PN}-0.8.0-check-online-cpus-not-configured.patch -) - -pkg_setup() { - linux-info_pkg_setup - local CONFIG_CHECK="~ACPI_EXTLOG ~DEBUG_FS" - check_extra_config -} - -src_prepare() { - default - - # Only here for 0.8.0's bashism patch - eautoreconf -} - -src_configure() { - local myconfargs=( - --enable-sqlite3 - --enable-abrt-report - --enable-aer - --enable-arm - --enable-extlog - --enable-hisi-ns-decode - --enable-mce - --enable-non-standard - --enable-devlink - --enable-diskerror - --enable-memory-ce-pfa - --includedir="/usr/include/${PN}" - --localstatedir=/var - ) - - use elibc_musl && append-libs -largp - - econf "${myconfargs[@]}" -} - -src_install() { - default - - keepdir "/var/lib/${PN}" - - systemd_dounit misc/*.service - - newinitd "${FILESDIR}/rasdaemon.openrc-r2" rasdaemon - newinitd "${FILESDIR}/ras-mc-ctl.openrc-r1" ras-mc-ctl - newconfd "${FILESDIR}"/rasdaemon.confd rasdaemon -} diff --git a/app-admin/rasdaemon/rasdaemon-0.8.2.ebuild b/app-admin/rasdaemon/rasdaemon-0.8.2.ebuild deleted file mode 100644 index ed6a9992206c..000000000000 --- a/app-admin/rasdaemon/rasdaemon-0.8.2.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic linux-info systemd - -DESCRIPTION="Reliability, Availability and Serviceability logging tool" -HOMEPAGE="https://github.com/mchehab/rasdaemon" -SRC_URI="https://www.infradead.org/~mchehab/rasdaemon/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" -IUSE="selinux" - -DEPEND=" - dev-db/sqlite - dev-libs/libtraceevent - elibc_musl? ( sys-libs/argp-standalone ) -" -RDEPEND=" - ${DEPEND} - dev-perl/DBI - dev-perl/DBD-SQLite - sys-apps/dmidecode - selinux? ( sec-policy/selinux-rasdaemon ) -" -BDEPEND="sys-devel/gettext" - -pkg_setup() { - linux-info_pkg_setup - local CONFIG_CHECK="~ACPI_EXTLOG ~DEBUG_FS" - check_extra_config -} - -src_configure() { - local myconfargs=( - --enable-sqlite3 - --enable-abrt-report - --enable-aer - --enable-arm - --enable-extlog - --enable-hisi-ns-decode - --enable-mce - --enable-non-standard - --enable-devlink - --enable-diskerror - --enable-memory-ce-pfa - --includedir="${EPREFIX}/usr/include/${PN}" - --localstatedir=/var - ) - - use elibc_musl && append-libs -largp - - # More bashisms snuck into 0.8.2, not yet reported upstream - CONFIG_SHELL="${BROOT}"/bin/bash econf "${myconfargs[@]}" -} - -src_install() { - default - - keepdir "/var/lib/${PN}" - - systemd_dounit misc/*.service - - newinitd "${FILESDIR}/rasdaemon.openrc-r2" rasdaemon - newinitd "${FILESDIR}/ras-mc-ctl.openrc-r1" ras-mc-ctl - newconfd "${FILESDIR}"/rasdaemon.confd rasdaemon -} diff --git a/app-admin/rasdaemon/rasdaemon-0.8.3.ebuild b/app-admin/rasdaemon/rasdaemon-0.8.3.ebuild deleted file mode 100644 index ed6a9992206c..000000000000 --- a/app-admin/rasdaemon/rasdaemon-0.8.3.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic linux-info systemd - -DESCRIPTION="Reliability, Availability and Serviceability logging tool" -HOMEPAGE="https://github.com/mchehab/rasdaemon" -SRC_URI="https://www.infradead.org/~mchehab/rasdaemon/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" -IUSE="selinux" - -DEPEND=" - dev-db/sqlite - dev-libs/libtraceevent - elibc_musl? ( sys-libs/argp-standalone ) -" -RDEPEND=" - ${DEPEND} - dev-perl/DBI - dev-perl/DBD-SQLite - sys-apps/dmidecode - selinux? ( sec-policy/selinux-rasdaemon ) -" -BDEPEND="sys-devel/gettext" - -pkg_setup() { - linux-info_pkg_setup - local CONFIG_CHECK="~ACPI_EXTLOG ~DEBUG_FS" - check_extra_config -} - -src_configure() { - local myconfargs=( - --enable-sqlite3 - --enable-abrt-report - --enable-aer - --enable-arm - --enable-extlog - --enable-hisi-ns-decode - --enable-mce - --enable-non-standard - --enable-devlink - --enable-diskerror - --enable-memory-ce-pfa - --includedir="${EPREFIX}/usr/include/${PN}" - --localstatedir=/var - ) - - use elibc_musl && append-libs -largp - - # More bashisms snuck into 0.8.2, not yet reported upstream - CONFIG_SHELL="${BROOT}"/bin/bash econf "${myconfargs[@]}" -} - -src_install() { - default - - keepdir "/var/lib/${PN}" - - systemd_dounit misc/*.service - - newinitd "${FILESDIR}/rasdaemon.openrc-r2" rasdaemon - newinitd "${FILESDIR}/ras-mc-ctl.openrc-r1" ras-mc-ctl - newconfd "${FILESDIR}"/rasdaemon.confd rasdaemon -}
