summaryrefslogtreecommitdiff
path: root/packaging/macros.fdupes
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/macros.fdupes')
-rw-r--r--packaging/macros.fdupes23
1 files changed, 23 insertions, 0 deletions
diff --git a/packaging/macros.fdupes b/packaging/macros.fdupes
new file mode 100644
index 0000000..e99f1f2
--- /dev/null
+++ b/packaging/macros.fdupes
@@ -0,0 +1,23 @@
+
+%fdupes(s) \
+ _target=""; \
+ _symlinks=0; \
+ %{-s:_symlinks=1;} \
+ fdupes -q -n -r %1 | \
+ while read _file; do \
+ if test -z "$_target" ; then \
+ _target="$_file"; \
+ else \
+ if test -z "$_file" ; then \
+ _target=""; \
+ continue ; \
+ fi ; \
+ if test "$_symlinks" = 1; then \
+ ln -sf "${_target#%{buildroot}}" "$_file"; \
+ else \
+ ln -f "$_target" "$_file"; \
+ fi ;\
+ fi ; \
+ done \
+%{nil}
+