314 lines
9.6 KiB
Diff
314 lines
9.6 KiB
Diff
From 74a3d654ce30ec83453f12a5939a91fdb94e8bb0 Mon Sep 17 00:00:00 2001
|
|
From: Eric Gerbier <gerbier@users.sourceforge.net>
|
|
Date: Fri, 6 Sep 2024 16:42:29 +0200
|
|
Subject: [PATCH] support filetrigger (merged from github repo)
|
|
|
|
---
|
|
optional_tags.cfg | 2 +
|
|
plugins/demo.plug | 2 +
|
|
processing_func.src | 18 +++++++++
|
|
rpmrebuild_parser.src | 89 +++++++++++++++++++++++++++++++++++++++++--
|
|
rpmrebuild_rpmqf.src | 10 +++++
|
|
spec_func.src | 8 ++++
|
|
6 files changed, 125 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/optional_tags.cfg b/optional_tags.cfg
|
|
index fe90209..fc69433 100644
|
|
--- a/optional_tags.cfg
|
|
+++ b/optional_tags.cfg
|
|
@@ -33,3 +33,5 @@ SUPPLEMENTVERSION d_line
|
|
# only in rpm 5
|
|
TRIGGERCONDS d_word
|
|
TRIGGERTYPE d_word
|
|
+FILETRIGGERCONDS d_line
|
|
+TRANSFILETRIGGERCONDS d_line
|
|
diff --git a/plugins/demo.plug b/plugins/demo.plug
|
|
index d377f7b..fcafbbb 100644
|
|
--- a/plugins/demo.plug
|
|
+++ b/plugins/demo.plug
|
|
@@ -30,6 +30,8 @@ change-spec-requires demo.sh
|
|
change-spec-description demo.sh
|
|
change-spec-files demo.sh
|
|
change-spec-triggers demo.sh
|
|
+change-spec-filetriggers demo.sh
|
|
+change-spec-transfiletriggers demo.sh
|
|
change-spec-pre demo.sh
|
|
change-spec-pretrans demo.sh
|
|
change-spec-post demo.sh
|
|
diff --git a/processing_func.src b/processing_func.src
|
|
index eb8beaa..4785f9c 100755
|
|
--- a/processing_func.src
|
|
+++ b/processing_func.src
|
|
@@ -41,6 +41,8 @@ function processing_init
|
|
SPEC_RECOMMENDS=${SPEC_DIR}/recommends
|
|
SPEC_SUPPLEMENTS=${SPEC_DIR}/supplements
|
|
SPEC_TRIGGERS=${SPEC_DIR}/triggers
|
|
+ SPEC_FILETRIGGERS=${SPEC_DIR}/filetriggers
|
|
+ SPEC_TRANSFILETRIGGERS=${SPEC_DIR}/transfiletriggers
|
|
SPEC_VERIFYSCRIPT=${SPEC_DIR}/verifyscript
|
|
|
|
spec_index=1
|
|
@@ -64,6 +66,8 @@ function processing_init
|
|
si_recommends=1
|
|
si_supplements=1
|
|
si_triggers=1
|
|
+ si_filetriggers=1
|
|
+ si_transfiletriggers=1
|
|
si_verifyscript=1
|
|
si_rpmqf=1
|
|
}
|
|
@@ -224,6 +228,20 @@ function processing_spec_change
|
|
SPEC_OUT=$SPEC_TRIGGERS.$si_triggers
|
|
;;
|
|
|
|
+ change-spec-filetriggers | \
|
|
+ edit-filetriggers)
|
|
+ SPEC_IN=$SPEC_FILETRIGGERS.$si_filetriggers
|
|
+ si_filetriggers=$(( si_filetriggers + 1 ))
|
|
+ SPEC_OUT=$SPEC_FILETRIGGERS.$si_filetriggers
|
|
+ ;;
|
|
+
|
|
+ change-spec-transfiletriggers | \
|
|
+ edit-transfiletriggers)
|
|
+ SPEC_IN=$SPEC_TRANSFILETRIGGERS.$si_transfiletriggers
|
|
+ si_transfiletriggers=$(( si_transfiletriggers + 1 ))
|
|
+ SPEC_OUT=$SPEC_TRANSFILETRIGGERS.$si_transfiletriggers
|
|
+ ;;
|
|
+
|
|
change-spec-verifyscript | \
|
|
edit-verifyscript)
|
|
SPEC_IN=$SPEC_VERIFYSCRIPT.$si_verifyscript
|
|
diff --git a/rpmrebuild_parser.src b/rpmrebuild_parser.src
|
|
index f0261fe..46c640b 100755
|
|
--- a/rpmrebuild_parser.src
|
|
+++ b/rpmrebuild_parser.src
|
|
@@ -81,6 +81,8 @@ options:
|
|
--change-spec-description=<command>
|
|
--change-spec-files=<command>
|
|
--change-spec-triggers=<command>
|
|
+ --change-spec-filetriggers=<command>
|
|
+ --change-spec-transfiletriggers=<command>
|
|
--change-spec-pre=<command>
|
|
--change-spec-pretrans=<command>
|
|
--change-spec-post=<command>
|
|
@@ -105,6 +107,8 @@ options:
|
|
--edit-description
|
|
--edit-files
|
|
--edit-triggers
|
|
+ --edit-filetriggers
|
|
+ --edit-transfiletriggers
|
|
--edit-pre
|
|
--edit-pretrans
|
|
--edit-post
|
|
@@ -358,11 +362,26 @@ function ProcessLongOptions
|
|
change-spec-f | \
|
|
change-spec-fi | \
|
|
change-spec-fil | \
|
|
- change-spec-file | \
|
|
+ change-spec-file)
|
|
+ AmbiguousOption
|
|
+ return 1
|
|
+ ;;
|
|
+
|
|
change-spec-files)
|
|
LONG_OPTION="change-spec-files"
|
|
;;
|
|
|
|
+ change-spec-filet | \
|
|
+ change-spec-filetr | \
|
|
+ change-spec-filetri | \
|
|
+ change-spec-filetrig | \
|
|
+ change-spec-filetrigg | \
|
|
+ change-spec-filetrigge | \
|
|
+ change-spec-filetrigger | \
|
|
+ change-spec-filetriggers)
|
|
+ LONG_OPTION="change-spec-filetriggers"
|
|
+ ;;
|
|
+
|
|
change-spec-o | \
|
|
change-spec-ob | \
|
|
change-spec-obs | \
|
|
@@ -475,7 +494,28 @@ function ProcessLongOptions
|
|
;;
|
|
|
|
change-spec-t | \
|
|
- change-spec-tr | \
|
|
+ change-spec-tr)
|
|
+ AmbiguousOption
|
|
+ return 1
|
|
+ ;;
|
|
+
|
|
+ change-spec-tra | \
|
|
+ change-spec-tran | \
|
|
+ change-spec-trans | \
|
|
+ change-spec-transf | \
|
|
+ change-spec-transfi | \
|
|
+ change-spec-transfile | \
|
|
+ change-spec-transfilet | \
|
|
+ change-spec-transfiletr | \
|
|
+ change-spec-transfiletri | \
|
|
+ change-spec-transfiletrig | \
|
|
+ change-spec-transfiletrigg | \
|
|
+ change-spec-transfiletrigge | \
|
|
+ change-spec-transfiletrigger | \
|
|
+ change-spec-transfiletriggers)
|
|
+ LONG_OPTION="change-spec-transfiletriggers"
|
|
+ ;;
|
|
+
|
|
change-spec-tri | \
|
|
change-spec-trig | \
|
|
change-spec-trigg | \
|
|
@@ -619,11 +659,27 @@ function ProcessLongOptions
|
|
edit-f | \
|
|
edit-fi | \
|
|
edit-fil | \
|
|
- edit-file | \
|
|
+ edit-file)
|
|
+ AmbiguousOption
|
|
+ return 1
|
|
+ ;;
|
|
+
|
|
edit-files)
|
|
LONG_OPTION='edit-files'
|
|
;;
|
|
|
|
+ edit-filet | \
|
|
+ edit-filetr | \
|
|
+ edit-filetri | \
|
|
+ edit-filetri | \
|
|
+ edit-filetrig | \
|
|
+ edit-filetrigg | \
|
|
+ edit-filetrigge | \
|
|
+ edit-filetrigger | \
|
|
+ edit-filetriggers)
|
|
+ LONG_OPTION='edit-filetriggers'
|
|
+ ;;
|
|
+
|
|
edit-o | \
|
|
edit-ob | \
|
|
edit-obs | \
|
|
@@ -749,7 +805,28 @@ function ProcessLongOptions
|
|
;;
|
|
|
|
edit-t | \
|
|
- edit-tr | \
|
|
+ edit-tr)
|
|
+ AmbiguousOption
|
|
+ return 1
|
|
+ ;;
|
|
+
|
|
+ edit-tra | \
|
|
+ edit-tran | \
|
|
+ edit-trans | \
|
|
+ edit-transf | \
|
|
+ edit-transfi | \
|
|
+ edit-transfile | \
|
|
+ edit-transfilet | \
|
|
+ edit-transfiletr | \
|
|
+ edit-transfiletri | \
|
|
+ edit-transfiletrig | \
|
|
+ edit-transfiletrigg | \
|
|
+ edit-transfiletrigge | \
|
|
+ edit-transfiletrigger | \
|
|
+ edit-transfiletriggers)
|
|
+ LONG_OPTION='edit-transfiletriggers'
|
|
+ ;;
|
|
+
|
|
edit-tri | \
|
|
edit-trig | \
|
|
edit-trigg | \
|
|
@@ -1038,6 +1115,7 @@ function ProcessLongOptions
|
|
change-spec-description | \
|
|
change-spec-enhances | \
|
|
change-spec-files | \
|
|
+ change-spec-filetriggers | \
|
|
change-spec-obsoletes | \
|
|
change-spec-pre | \
|
|
change-spec-pretrans | \
|
|
@@ -1051,6 +1129,7 @@ function ProcessLongOptions
|
|
change-spec-recommends | \
|
|
change-spec-suggests | \
|
|
change-spec-supplements | \
|
|
+ change-spec-transfiletriggers | \
|
|
change-spec-triggers | \
|
|
change-spec-verifyscript | \
|
|
change-spec-whole)
|
|
@@ -1095,6 +1174,7 @@ function ProcessLongOptions
|
|
edit-description | \
|
|
edit-enhances | \
|
|
edit-files | \
|
|
+ edit-filetriggers | \
|
|
edit-obsoletes | \
|
|
edit-pre | \
|
|
edit-pretrans | \
|
|
@@ -1108,6 +1188,7 @@ function ProcessLongOptions
|
|
edit-suggests | \
|
|
edit-recommends | \
|
|
edit-supplements | \
|
|
+ edit-transfiletriggers | \
|
|
edit-triggers | \
|
|
edit-verifyscript | \
|
|
edit-whole)
|
|
diff --git a/rpmrebuild_rpmqf.src b/rpmrebuild_rpmqf.src
|
|
index 04d62ea..5f4c574 100755
|
|
--- a/rpmrebuild_rpmqf.src
|
|
+++ b/rpmrebuild_rpmqf.src
|
|
@@ -146,6 +146,16 @@ echo
|
|
echo '[%%trigger%{TRIGGERTYPE} -p %{TRIGGERSCRIPTPROG} -- %{TRIGGERCONDS}\n%|TRIGGERSCRIPTS?{%{TRIGGERSCRIPTS}\n}|]'
|
|
}
|
|
|
|
+function qf_spec_filetriggers {
|
|
+echo
|
|
+echo '[%%filetrigger%{FILETRIGGERTYPE} -p %{FILETRIGGERSCRIPTPROG} -P %{FILETRIGGERPRIORITIES} -- %{FILETRIGGERCONDS}\n%|FILETRIGGERSCRIPTS?{%{FILETRIGGERSCRIPTS}\n}|]'
|
|
+}
|
|
+
|
|
+function qf_spec_transfiletriggers {
|
|
+echo
|
|
+echo '[%%transfiletrigger%{TRANSFILETRIGGERTYPE} -p %{TRANSFILETRIGGERSCRIPTPROG} -P %{TRANSFILETRIGGERPRIORITIES} -- %{TRANSFILETRIGGERCONDS}\n%|TRANSFILETRIGGERSCRIPTS?{%{TRANSFILETRIGGERSCRIPTS}\n}|]'
|
|
+}
|
|
+
|
|
function qf_spec_pre {
|
|
echo
|
|
echo '%|PREINPROG?{%%pre -p %{PREINPROG}\n%|PREIN?{[%{PREIN}\n]}|}:{%|PREIN?{\n%%pre\n[%{PREIN}\n]}|}|'
|
|
diff --git a/spec_func.src b/spec_func.src
|
|
index 6a9bff8..f919bd7 100755
|
|
--- a/spec_func.src
|
|
+++ b/spec_func.src
|
|
@@ -172,6 +172,8 @@ function SpecGeneration
|
|
spec_query qf_spec_description > "$SPEC_DESCRIPTION.$i" || Error "(SpecGeneration) qf_spec_description" || return
|
|
spec_files > "$SPEC_FILES.$i" || Error "(SpecGeneration) spec_files" || return
|
|
spec_query qf_spec_triggers > "$SPEC_TRIGGERS.$i" || Error "(SpecGeneration) qf_spec_triggers" || return
|
|
+ spec_query qf_spec_filetriggers > "$SPEC_FILETRIGGERS.$i" || Error "(SpecGeneration) qf_spec_filetriggers" || return
|
|
+ spec_query qf_spec_transfiletriggers > "$SPEC_TRANSFILETRIGGERS.$i" || Error "(SpecGeneration) qf_spec_transfiletriggers" || return
|
|
spec_query qf_spec_pre > "$SPEC_PRE.$i" || Error "(SpecGeneration) qf_spec_pre" || return
|
|
spec_query qf_spec_pretrans > "$SPEC_PRETRANS.$i" || Error "(SpecGeneration) qf_spec_pretrans" || return
|
|
spec_query qf_spec_post > "$SPEC_POST.$i" || Error "(SpecGeneration) qf_spec_post" || return
|
|
@@ -242,6 +244,8 @@ function spec_concatenate
|
|
|
|
# %%triger -> %trigger (in begin of line)
|
|
local sed_trigger="/^%%trigger/s/^%%/%/1"
|
|
+ local sed_filetrigger="/^%%filetrigger/s/^%%/%/1"
|
|
+ local sed_transfiletrigger="/^%%transfiletrigger/s/^%%/%/1"
|
|
# %%pre -> %pre (in begin of line) It'll work for %%preun too.
|
|
local sed_pre="/^%%pre/s/^%%/%/1"
|
|
# %%post -> %post (in begin of line) It'll work for %%postun too.
|
|
@@ -251,11 +255,15 @@ function spec_concatenate
|
|
sed \
|
|
-e "$sed_double_percent" \
|
|
-e "$sed_trigger" \
|
|
+ -e "$sed_filetrigger" \
|
|
+ -e "$sed_transfiletrigger" \
|
|
-e "$sed_pre" \
|
|
-e "$sed_post" \
|
|
-e "$sed_verifyscript" \
|
|
-e "$sed_global" \
|
|
"$SPEC_TRIGGERS.$si_triggers" \
|
|
+ "$SPEC_FILETRIGGERS.$si_filetriggers" \
|
|
+ "$SPEC_TRANSFILETRIGGERS.$si_transfiletriggers" \
|
|
"$SPEC_PRE.$si_pre" \
|
|
"$SPEC_PRETRANS.$si_pretrans" \
|
|
"$SPEC_POST.$si_post" \
|
|
--
|
|
2.46.0
|
|
|