public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/rpm] rawhide: Fix file trigger and macro regregressions (#2492628 and #2492483)
@ 2026-06-25 10:18 Panu Matilainen
0 siblings, 0 replies; only message in thread
From: Panu Matilainen @ 2026-06-25 10:18 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/rpm
Branch : rawhide
Commit : 410018807beca5ce8c6576c83be9a7517da186d1
Author : Panu Matilainen <pmatilai@redhat.com>
Date : 2026-06-25T13:17:25+03:00
Stats : +550/-1 in 4 file(s)
URL : https://src.fedoraproject.org/rpms/rpm/c/410018807beca5ce8c6576c83be9a7517da186d1?branch=rawhide
Log:
Fix file trigger and macro regregressions (#2492628 and #2492483)
---
diff --git a/0001-Fix-a-dumb-regression-from-introducing-define-option.patch b/0001-Fix-a-dumb-regression-from-introducing-define-option.patch
new file mode 100644
index 0000000..c50ebdf
--- /dev/null
+++ b/0001-Fix-a-dumb-regression-from-introducing-define-option.patch
@@ -0,0 +1,81 @@
+From 913450b9b7fc37166d4e51fb3359cb48995750ae Mon Sep 17 00:00:00 2001
+Message-ID: <913450b9b7fc37166d4e51fb3359cb48995750ae.1782382430.git.pmatilai@redhat.com>
+From: Panu Matilainen <pmatilai@redhat.com>
+Date: Thu, 25 Jun 2026 13:08:57 +0300
+Subject: [PATCH] Fix a dumb regression from introducing %define options
+
+Commit f2ac80b80db977f2bf0df38feaf8c176fd776085 broke some common uses
+of %define that we didn't test - we were only testing --define and
+macro files. Oops.
+
+Turns out this is just a silly thinko: just don't touch "se" at all.
+Add the missing tests as well.
+
+Fixes: #4249
+---
+ rpmio/macro.cc | 1 -
+ tests/rpmmacro.at | 36 ++++++++++++++++++++++++++++++++++++
+ 2 files changed, 36 insertions(+), 1 deletion(-)
+
+diff --git a/rpmio/macro.cc b/rpmio/macro.cc
+index fe2282cf0..97330cda6 100644
+--- a/rpmio/macro.cc
++++ b/rpmio/macro.cc
+@@ -637,7 +637,6 @@ doDefine(rpmMacroBuf mb, const std::string & str, int level,
+ } else {
+ handleopts = 0;
+ }
+- se = s;
+ }
+
+ /* Copy name */
+diff --git a/tests/rpmmacro.at b/tests/rpmmacro.at
+index fb88567cd..dc08ee327 100644
+--- a/tests/rpmmacro.at
++++ b/tests/rpmmacro.at
+@@ -1849,6 +1849,42 @@ rpm --eval "%define - xx yy"
+ [],
+ [error: %define: no option after -
+ ])
++
++RPMTEST_CHECK([
++rpm --eval "%define xx() yy" --eval "%xx"
++],
++[0],
++[yy
++],
++[])
++
++RPMTEST_CHECK([
++rpm \
++ --define "mypath /bar" \
++ --eval "%define -e xx(abc:) %mypath" \
++ --eval "%xx -a -b -c1" \
++ --eval "%define mypath /foo" \
++ --eval "%xx"
++],
++[0],
++[/bar
++/bar
++],
++[])
++RPMTEST_CHECK([
++rpm \
++ --define "mypath /bar" \
++ --eval "%define -g xx<o> %mypath" \
++ --eval "%xx" \
++ --eval "%define mypath /foo" \
++ --eval "%xx"
++],
++[0],
++[/bar
++/bar
++],
++[])
++
+ RPMTEST_CLEANUP
+
+ RPMTEST_SETUP([error macro return])
+--
+2.54.0
+
diff --git a/0001-Revert-Eliminate-the-now-redundant-rpmtriggers-wrapp.patch b/0001-Revert-Eliminate-the-now-redundant-rpmtriggers-wrapp.patch
new file mode 100644
index 0000000..639616d
--- /dev/null
+++ b/0001-Revert-Eliminate-the-now-redundant-rpmtriggers-wrapp.patch
@@ -0,0 +1,202 @@
+From 3a81f58be05c702bc67ddaef6d3e4999f6165c7a Mon Sep 17 00:00:00 2001
+Message-ID: <3a81f58be05c702bc67ddaef6d3e4999f6165c7a.1782379983.git.pmatilai@redhat.com>
+From: Panu Matilainen <pmatilai@redhat.com>
+Date: Thu, 25 Jun 2026 12:32:07 +0300
+Subject: [PATCH 1/2] Revert "Eliminate the now redundant rpmtriggers wrapper
+ struct"
+
+This reverts commit 428332d19ed8e6f8eb6d4c9265dbc35172466237.
+---
+ lib/rpmtriggers.cc | 37 ++++++++++++++++++++++++++++++-------
+ lib/rpmtriggers.hh | 16 ++++++++++++----
+ lib/rpmts.cc | 5 ++++-
+ 3 files changed, 46 insertions(+), 12 deletions(-)
+
+diff --git a/lib/rpmtriggers.cc b/lib/rpmtriggers.cc
+index f192de1f0..d035a0be9 100644
+--- a/lib/rpmtriggers.cc
++++ b/lib/rpmtriggers.cc
+@@ -17,6 +17,24 @@
+
+ #define TRIGGER_PRIORITY_BOUND 10000
+
++rpmtriggers rpmtriggersCreate(unsigned int hint)
++{
++ rpmtriggers triggers = new rpmtriggers_s {};
++ return triggers;
++}
++
++rpmtriggers rpmtriggersFree(rpmtriggers triggers)
++{
++ delete triggers;
++ return NULL;
++}
++
++static void rpmtriggersAdd(rpmtriggers trigs, unsigned int hdrNum,
++ unsigned int tix, unsigned int priority)
++{
++ trigs->triggerInfo.emplace(hdrNum, tix, priority);
++}
++
+ static unsigned int getTrigPriority(Header h, rpmTagVal prioTag, int tix)
+ {
+ unsigned int priority = RPMTRIGGER_DEFAULT_PRIORITY;
+@@ -41,7 +59,8 @@ static void addTriggers(rpmts ts, Header trigH, rpmsenseFlags filter,
+ while (rpmdsNext(ds) >= 0) {
+ if ((rpmdsFlags(ds) & filter) && strcmp(prefix, rpmdsN(ds)) == 0) {
+ unsigned int priority = getTrigPriority(trigH, prioTag, tix);
+- ts->trigs2run.emplace(headerGetInstance(trigH), tix, priority);
++ rpmtriggersAdd(ts->trigs2run, headerGetInstance(trigH),
++ tix, priority);
+ }
+ }
+ rpmdsFree(ds);
+@@ -92,10 +111,11 @@ int runPostUnTransFileTrigs(rpmts ts)
+ int arg1 = 0;
+ struct rpmtd_s installPrefixes;
+ rpmScript script;
++ rpmtriggers trigs = ts->trigs2run;
+ int nerrors = 0;
+
+ /* Iterate over stored triggers */
+- for (const auto & trig : ts->trigs2run) {
++ for (const auto & trig : trigs->triggerInfo) {
+ /* Get header containing trigger script */
+ trigH = rpmdbGetHeaderAt(rpmtsGetRdb(ts), trig.hdrNum);
+
+@@ -478,7 +498,7 @@ rpmRC runFileTriggers(rpmts ts, rpmte te, int arg2, rpmsenseFlags sense,
+ int arg1 = 0;
+ int (*matchFunc)(rpmts, rpmte, const char*, rpmsenseFlags sense);
+ rpmTagVal priorityTag;
+- rpmtriggers triggers;
++ rpmtriggers triggers = rpmtriggersCreate(10);
+
+ /* Decide if we match triggers against files in te or in whole ts */
+ if (tm == RPMSCRIPT_FILETRIGGER) {
+@@ -513,7 +533,7 @@ rpmRC runFileTriggers(rpmts ts, rpmte te, int arg2, rpmsenseFlags sense,
+ headerFree(trigH);
+
+ /* Store file trigger in array */
+- triggers.emplace(offset, tix, priority);
++ rpmtriggersAdd(triggers, offset, tix, priority);
+ }
+ }
+ free(pfx);
+@@ -521,7 +541,7 @@ rpmRC runFileTriggers(rpmts ts, rpmte te, int arg2, rpmsenseFlags sense,
+ rpmdbIndexIteratorFree(ii);
+
+ /* Handle stored triggers */
+- for (const auto & trig : triggers) {
++ for (const auto & trig : triggers->triggerInfo) {
+ if (priorityClass == 1) {
+ if (trig.priority < TRIGGER_PRIORITY_BOUND)
+ continue;
+@@ -544,6 +564,7 @@ rpmRC runFileTriggers(rpmts ts, rpmte te, int arg2, rpmsenseFlags sense,
+ arg1, arg2);
+ headerFree(trigH);
+ }
++ rpmtriggersFree(triggers);
+
+ return (nerrors == 0) ? RPMRC_OK : RPMRC_FAIL;
+ }
+@@ -566,16 +587,17 @@ rpmRC runImmedFileTriggers(rpmts ts, rpmte te, int arg1, rpmsenseFlags sense,
+ headerGet(trigH, priorityTag, &priorities, HEADERGET_MINMEM);
+
+ triggersCount = rpmtdCount(&priorities);
++ triggers = rpmtriggersCreate(triggersCount);
+
+ for (int i = 0; i < triggersCount; i++) {
+ unsigned int priority = RPMTRIGGER_DEFAULT_PRIORITY;
+ if (rpmtdSetIndex(&priorities, i) >= 0)
+ priority = rpmtdGetNumber(&priorities);
+ /* Offset is not important, all triggers are from the same package */
+- triggers.emplace(0, i, priority);
++ rpmtriggersAdd(triggers, 0, i, priority);
+ }
+
+- for (const auto & trig : triggers) {
++ for (const auto & trig : triggers->triggerInfo) {
+ if (priorityClass == 1) {
+ if (trig.priority < TRIGGER_PRIORITY_BOUND)
+ continue;
+@@ -588,6 +610,7 @@ rpmRC runImmedFileTriggers(rpmts ts, rpmte te, int arg1, rpmsenseFlags sense,
+ trig.tix,
+ arg1, -1);
+ }
++ rpmtriggersFree(triggers);
+ headerFree(trigH);
+
+ return (nerrors == 0) ? RPMRC_OK : RPMRC_FAIL;
+diff --git a/lib/rpmtriggers.hh b/lib/rpmtriggers.hh
+index d3aef5cf4..f1c4af733 100644
+--- a/lib/rpmtriggers.hh
++++ b/lib/rpmtriggers.hh
+@@ -9,23 +9,31 @@
+
+ #define RPMTRIGGER_DEFAULT_PRIORITY 1000000
+
+-struct triggerInfo {
++struct triggerInfo_s {
+ unsigned int hdrNum;
+ unsigned int tix;
+ unsigned int priority;
+
+- bool operator < (const triggerInfo & o) const
++ bool operator < (const triggerInfo_s & o) const
+ {
+ return std::tie(priority, hdrNum, tix) <
+ std::tie(o.priority, o.hdrNum, o.tix);
+ }
+- triggerInfo(unsigned int _hnum, unsigned int _tix, unsigned int _prio) :
++ triggerInfo_s(unsigned int _hnum, unsigned int _tix, unsigned int _prio) :
+ hdrNum(_hnum), tix(_tix), priority(_prio)
+ {
+ }
+ };
+
+-using rpmtriggers = std::set<triggerInfo>;
++typedef struct rpmtriggers_s {
++ std::set<triggerInfo_s> triggerInfo;
++} *rpmtriggers;
++
++RPM_GNUC_INTERNAL
++rpmtriggers rpmtriggersCreate(unsigned int hint);
++
++RPM_GNUC_INTERNAL
++rpmtriggers rpmtriggersFree(rpmtriggers triggers);
+
+ /*
+ * Prepare post trans uninstall file triggers. After transcation uninstalled
+diff --git a/lib/rpmts.cc b/lib/rpmts.cc
+index 4dad54d35..eef92a3aa 100644
+--- a/lib/rpmts.cc
++++ b/lib/rpmts.cc
+@@ -566,7 +566,6 @@ void rpmtsEmpty(rpmts ts)
+ return;
+
+ rpmtsClean(ts);
+- ts->trigs2run.clear();
+
+ for (auto & te : tsmem->order) {
+ rpmtsNotifyChange(ts, RPMTS_EVENT_DEL, te, NULL);
+@@ -644,6 +643,7 @@ rpmts rpmtsFree(rpmts ts)
+
+ ts->plugins = rpmpluginsFree(ts->plugins);
+
++ rpmtriggersFree(ts->trigs2run);
+ rpmlogReset((uint64_t) ts);
+
+ if (_rpmts_stats)
+@@ -1042,6 +1042,9 @@ rpmts rpmtsCreate(void)
+ ts->nrefs = 0;
+
+ ts->plugins = NULL;
++
++ ts->trigs2run = rpmtriggersCreate(10);
++
+ ts->min_writes = (rpmExpandNumeric("%{?_minimize_writes}") > 0);
+
+ return rpmtsLink(ts);
+--
+2.54.0
+
diff --git a/0002-Revert-Convert-file-trigger-structures-minimally-to-.patch b/0002-Revert-Convert-file-trigger-structures-minimally-to-.patch
new file mode 100644
index 0000000..9d423ba
--- /dev/null
+++ b/0002-Revert-Convert-file-trigger-structures-minimally-to-.patch
@@ -0,0 +1,257 @@
+From 585f1f5e3ea74118b723c3cbf80a7788d9d9e7f1 Mon Sep 17 00:00:00 2001
+Message-ID: <585f1f5e3ea74118b723c3cbf80a7788d9d9e7f1.1782379983.git.pmatilai@redhat.com>
+In-Reply-To: <3a81f58be05c702bc67ddaef6d3e4999f6165c7a.1782379983.git.pmatilai@redhat.com>
+References: <3a81f58be05c702bc67ddaef6d3e4999f6165c7a.1782379983.git.pmatilai@redhat.com>
+From: Panu Matilainen <pmatilai@redhat.com>
+Date: Thu, 25 Jun 2026 12:32:13 +0300
+Subject: [PATCH 2/2] Revert "Convert file trigger structures minimally to an
+ STL set"
+
+This reverts commit 15dfb472ab1a00f140f4eec5984922974205bf27.
+---
+ lib/rpmtriggers.cc | 105 ++++++++++++++++++++++++++++++++++++++-------
+ lib/rpmtriggers.hh | 17 ++------
+ 2 files changed, 92 insertions(+), 30 deletions(-)
+
+diff --git a/lib/rpmtriggers.cc b/lib/rpmtriggers.cc
+index d035a0be9..11215e3cb 100644
+--- a/lib/rpmtriggers.cc
++++ b/lib/rpmtriggers.cc
+@@ -20,19 +20,83 @@
+ rpmtriggers rpmtriggersCreate(unsigned int hint)
+ {
+ rpmtriggers triggers = new rpmtriggers_s {};
++ triggers->count = 0;
++ triggers->alloced = hint;
++ triggers->triggerInfo = (struct triggerInfo_s *)xmalloc(sizeof(struct triggerInfo_s) *
++ triggers->alloced);
+ return triggers;
+ }
+
+ rpmtriggers rpmtriggersFree(rpmtriggers triggers)
+ {
++ _free(triggers->triggerInfo);
+ delete triggers;
++
+ return NULL;
+ }
+
+ static void rpmtriggersAdd(rpmtriggers trigs, unsigned int hdrNum,
+ unsigned int tix, unsigned int priority)
+ {
+- trigs->triggerInfo.emplace(hdrNum, tix, priority);
++ if (trigs->count == trigs->alloced) {
++ trigs->alloced <<= 1;
++ trigs->triggerInfo = xrealloc(trigs->triggerInfo,
++ sizeof(struct triggerInfo_s) * trigs->alloced);
++ }
++
++ trigs->triggerInfo[trigs->count].hdrNum = hdrNum;
++ trigs->triggerInfo[trigs->count].tix = tix;
++ trigs->triggerInfo[trigs->count].priority = priority;
++ trigs->count++;
++}
++
++static int trigCmp(const void *a, const void *b)
++{
++ const struct triggerInfo_s *trigA = (const struct triggerInfo_s *)a;
++ const struct triggerInfo_s *trigB = (const struct triggerInfo_s *)b;
++
++ if (trigA->priority < trigB->priority)
++ return 1;
++
++ if (trigA->priority > trigB->priority)
++ return -1;
++
++ if (trigA->hdrNum < trigB->hdrNum)
++ return -1;
++
++ if (trigA->hdrNum > trigB->hdrNum)
++ return 1;
++
++ if (trigA->tix < trigB->tix)
++ return -1;
++
++ if (trigA->tix > trigB->tix)
++ return 1;
++
++ return 0;
++}
++
++static void rpmtriggersSortAndUniq(rpmtriggers trigs)
++{
++ unsigned int from;
++ unsigned int to = 0;
++ unsigned int count = trigs->count;
++
++ if (count > 1)
++ qsort(trigs->triggerInfo, count, sizeof(struct triggerInfo_s), trigCmp);
++
++ for (from = 0; from < count; from++) {
++ if (from > 0 &&
++ !trigCmp((const void *) &trigs->triggerInfo[from - 1],
++ (const void *) &trigs->triggerInfo[from])) {
++
++ trigs->count--;
++ continue;
++ }
++ if (from != to)
++ trigs->triggerInfo[to] = trigs->triggerInfo[from];
++ to++;
++ }
+ }
+
+ static unsigned int getTrigPriority(Header h, rpmTagVal prioTag, int tix)
+@@ -106,6 +170,7 @@ void rpmtriggersPrepPostUnTransFileTrigs(rpmts ts, rpmte te)
+
+ int runPostUnTransFileTrigs(rpmts ts)
+ {
++ int i;
+ Header trigH;
+ const char * trigName = NULL;
+ int arg1 = 0;
+@@ -114,10 +179,12 @@ int runPostUnTransFileTrigs(rpmts ts)
+ rpmtriggers trigs = ts->trigs2run;
+ int nerrors = 0;
+
++ rpmtriggersSortAndUniq(trigs);
+ /* Iterate over stored triggers */
+- for (const auto & trig : trigs->triggerInfo) {
++ for (i = 0; i < trigs->count; i++) {
+ /* Get header containing trigger script */
+- trigH = rpmdbGetHeaderAt(rpmtsGetRdb(ts), trig.hdrNum);
++ trigH = rpmdbGetHeaderAt(rpmtsGetRdb(ts),
++ trigs->triggerInfo[i].hdrNum);
+
+ /* Maybe package with this trigger is already uninstalled */
+ if (trigH == NULL)
+@@ -126,7 +193,7 @@ int runPostUnTransFileTrigs(rpmts ts)
+ /* Prepare and run script */
+ script = rpmScriptFromTriggerTag(trigH,
+ triggertag(RPMSENSE_TRIGGERPOSTUN),
+- RPMSCRIPT_TRANSFILETRIGGER, trig.tix);
++ RPMSCRIPT_TRANSFILETRIGGER, trigs->triggerInfo[i].tix);
+
+ headerGet(trigH, RPMTAG_INSTPREFIXES, &installPrefixes,
+ HEADERGET_ALLOC|HEADERGET_ARGV);
+@@ -540,27 +607,30 @@ rpmRC runFileTriggers(rpmts ts, rpmte te, int arg2, rpmsenseFlags sense,
+ }
+ rpmdbIndexIteratorFree(ii);
+
++ /* Sort triggers by priority, offset, trigger index */
++ rpmtriggersSortAndUniq(triggers);
++
+ /* Handle stored triggers */
+- for (const auto & trig : triggers->triggerInfo) {
++ for (i = 0; i < triggers->count; i++) {
+ if (priorityClass == 1) {
+- if (trig.priority < TRIGGER_PRIORITY_BOUND)
++ if (triggers->triggerInfo[i].priority < TRIGGER_PRIORITY_BOUND)
+ continue;
+ } else if (priorityClass == 2) {
+- if (trig.priority >= TRIGGER_PRIORITY_BOUND)
++ if (triggers->triggerInfo[i].priority >= TRIGGER_PRIORITY_BOUND)
+ continue;
+ }
+
+- trigH = rpmdbGetHeaderAt(rpmtsGetRdb(ts), trig.hdrNum);
++ trigH = rpmdbGetHeaderAt(rpmtsGetRdb(ts), triggers->triggerInfo[i].hdrNum);
+ trigName = headerGetString(trigH, RPMTAG_NAME);
+ arg1 = rpmdbCountPackages(rpmtsGetRdb(ts), trigName);
+
+ if (tm == RPMSCRIPT_FILETRIGGER)
+ nerrors += runHandleTriggersInPkg(ts, te, trigH, sense, tm, 0,
+- trig.tix,
++ triggers->triggerInfo[i].tix,
+ arg1, arg2);
+ else
+ nerrors += runHandleTriggersInPkg(ts, te, trigH, sense, tm, 1,
+- trig.tix,
++ triggers->triggerInfo[i].tix,
+ arg1, arg2);
+ headerFree(trigH);
+ }
+@@ -573,7 +643,7 @@ rpmRC runImmedFileTriggers(rpmts ts, rpmte te, int arg1, rpmsenseFlags sense,
+ rpmscriptTriggerModes tm, int priorityClass)
+ {
+ int nerrors = 0;
+- int triggersCount;
++ int triggersCount, i;
+ Header trigH = rpmteHeader(te);
+ struct rpmtd_s priorities;
+ rpmTagVal priorityTag;
+@@ -589,7 +659,7 @@ rpmRC runImmedFileTriggers(rpmts ts, rpmte te, int arg1, rpmsenseFlags sense,
+ triggersCount = rpmtdCount(&priorities);
+ triggers = rpmtriggersCreate(triggersCount);
+
+- for (int i = 0; i < triggersCount; i++) {
++ for (i = 0; i < triggersCount; i++) {
+ unsigned int priority = RPMTRIGGER_DEFAULT_PRIORITY;
+ if (rpmtdSetIndex(&priorities, i) >= 0)
+ priority = rpmtdGetNumber(&priorities);
+@@ -597,17 +667,20 @@ rpmRC runImmedFileTriggers(rpmts ts, rpmte te, int arg1, rpmsenseFlags sense,
+ rpmtriggersAdd(triggers, 0, i, priority);
+ }
+
+- for (const auto & trig : triggers->triggerInfo) {
++ /* Sort triggers by priority, offset, trigger index */
++ rpmtriggersSortAndUniq(triggers);
++
++ for (i = 0; i < triggersCount; i++) {
+ if (priorityClass == 1) {
+- if (trig.priority < TRIGGER_PRIORITY_BOUND)
++ if (triggers->triggerInfo[i].priority < TRIGGER_PRIORITY_BOUND)
+ continue;
+ } else if (priorityClass == 2) {
+- if (trig.priority >= TRIGGER_PRIORITY_BOUND)
++ if (triggers->triggerInfo[i].priority >= TRIGGER_PRIORITY_BOUND)
+ continue;
+ }
+
+ nerrors += runHandleTriggersInPkg(ts, te, trigH, sense, tm, 2,
+- trig.tix,
++ triggers->triggerInfo[i].tix,
+ arg1, -1);
+ }
+ rpmtriggersFree(triggers);
+diff --git a/lib/rpmtriggers.hh b/lib/rpmtriggers.hh
+index f1c4af733..1e436bb4a 100644
+--- a/lib/rpmtriggers.hh
++++ b/lib/rpmtriggers.hh
+@@ -1,9 +1,6 @@
+ #ifndef _RPMTRIGGERS_H
+ #define _RPMTRIGGERS_H
+
+-#include <set>
+-#include <tuple>
+-
+ #include <rpm/rpmutil.h>
+ #include "rpmscript.hh"
+
+@@ -13,20 +10,12 @@ struct triggerInfo_s {
+ unsigned int hdrNum;
+ unsigned int tix;
+ unsigned int priority;
+-
+- bool operator < (const triggerInfo_s & o) const
+- {
+- return std::tie(priority, hdrNum, tix) <
+- std::tie(o.priority, o.hdrNum, o.tix);
+- }
+- triggerInfo_s(unsigned int _hnum, unsigned int _tix, unsigned int _prio) :
+- hdrNum(_hnum), tix(_tix), priority(_prio)
+- {
+- }
+ };
+
+ typedef struct rpmtriggers_s {
+- std::set<triggerInfo_s> triggerInfo;
++ struct triggerInfo_s *triggerInfo;
++ int count;
++ int alloced;
+ } *rpmtriggers;
+
+ RPM_GNUC_INTERNAL
+--
+2.54.0
+
diff --git a/rpm.spec b/rpm.spec
index e373d1f..1c872cd 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -28,7 +28,7 @@
%global rpmver 6.0.91
#global snapver rc1
-%global baserelease 2
+%global baserelease 3
%global sover 10
%global srcver %{rpmver}%{?snapver:-%{snapver}}
@@ -125,10 +125,15 @@ rpm-6.0-rpmformat.patch
# https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/298
0001-Revert-Add-a-deprecation-warning-for-clamp_mtime_to_.patch
+# Temporarily revert file trigger refactor for further investigation
+0001-Revert-Eliminate-the-now-redundant-rpmtriggers-wrapp.patch
+0002-Revert-Convert-file-trigger-structures-minimally-to-.patch
+
# Patches already upstream:
# Slightly modified from usptream commit due to not having the test,
# because the test adds a binary that "patch" doesn't handle, argh
0001-Fix-rubygem-extract-regression-from-b8b54f92c65bca7b.patch
+0001-Fix-a-dumb-regression-from-introducing-define-option.patch
# These are not yet upstream
rpm-4.7.1-geode-i686.patch
@@ -641,6 +646,10 @@ fi
%doc %{_defaultdocdir}/rpm/API/
%changelog
+* Thu Jun 25 2026 Panu Matilainen <pmatilai@redhat.com - 6.0.91-3
+- Revert file trigger refactor for further investigation (#2492628)
+- Fix a silly thinko causing a %%define regression (#2492483)
+
* Wed Jun 24 2026 Panu Matilainen <pmatilai@redhat.com - 6.0.91-2
- Fix rubygem rpmuncompress -x regression (#2492128)
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-25 10:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-25 10:18 [rpms/rpm] rawhide: Fix file trigger and macro regregressions (#2492628 and #2492483) Panu Matilainen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox