From 131d817b8a85fe27d1d21b8217c442ec3693c294 Mon Sep 17 00:00:00 2001 From: zyppe <210hcl@gmail.com> Date: Wed, 7 Feb 2024 22:59:01 +0800 Subject: [PATCH] Initialize for fdupes --- .fdupes.metadata | 1 + .gitignore | 1 + fdupes.changes | 141 +++++++++++++++++++++++++++++++++++++++++++++++ fdupes.spec | 46 ++++++++++++++++ macros.fdupes | 21 +++++++ 5 files changed, 210 insertions(+) create mode 100644 .fdupes.metadata create mode 100644 .gitignore create mode 100644 fdupes.changes create mode 100644 fdupes.spec create mode 100644 macros.fdupes diff --git a/.fdupes.metadata b/.fdupes.metadata new file mode 100644 index 0000000..bdc3099 --- /dev/null +++ b/.fdupes.metadata @@ -0,0 +1 @@ +b1dfa158870e877bf4fb66c110d5f47d49b3a286ab9d7fbed9ac9e1358c2d5f3 fdupes-2.1.2.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..65c7530 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +fdupes-2.1.2.tar.gz diff --git a/fdupes.changes b/fdupes.changes new file mode 100644 index 0000000..db41de4 --- /dev/null +++ b/fdupes.changes @@ -0,0 +1,141 @@ +* Sun Aug 16 2020 dmueller@suse.com +- update to 2.1.2: + * Do not enter ncurses mode when --immediate option given. + * Fix logging/memory corruption bug when using --log with --immediate. + * Break mtime ties using ctime when sorting by time. + * Reduce number of calls to stat(), for speed. + * Clear last command status when new command is entered. + * Rename cs command ("clear all selections") from cs to csel. + * Rename igs command ("invert selections") from igs to isel. + * Add "prune" command as synonym for DELETE key. + * Clear selections after deleting files via prune/DELETE. + * Fix dependency issues when fdupes is configured to not use ncurses. +- build without ncurses for now until buildcycles can be solved +* Fri Jun 5 2020 jengelh@inai.de +- Use noun phrase in summary. Drop old specfile constructs. +* Fri May 22 2020 info@paolostivanin.com +- Update to v2.0.0 + * Add ncurses mode for interactive file deletion (plain mode still available via --plain or ./configure). + * Add --minsize option. + * Add --maxsize option. + * Add --time option. + * Add --order=ctime option. + * Add --log option. + * Use configure script for installation (Autotools/Automake). +- Remove fdupes-makefile.patch +* Thu Apr 16 2020 mcepl@suse.com +- Make package building even on platforms, where _rpmmacrodir + is not defined. +* Wed May 8 2019 dimstar@opensuse.org +- Move RPM macros to %%_rpmmacrodir. +* Fri Dec 16 2016 psimons@suse.com +- We cannot update from fdupes 1.51 to 1.6.1. That "downgrade" + works okay'ish for Tumbleweed because we can replace the old + package with the new one, but in SLE this is not possible. We + asked upstream to please release a "2.0" version to remedy these + issues (https://github.com/adrianlopezroche/fdupes/issues/74), + but he does not respond. Therefore, we'll call this version 1.61, + ignoring upstreams change in the versioning scheme. +* Mon Dec 5 2016 psimons@suse.com +- Upstream has changed their versioning scheme after version 1.51. + Unfortunately, the new version 1.6.x won't be recognized as + "newer" by zypper. This commit adds appropriate "provides" and + "obsoletes" attributes to the spec file to remedy that issue. +* Fri Nov 4 2016 psimons@suse.com +- Drop 50_bts284274_hardlinkreplace.dpatch. The --linkhard option + added by this patch has an implementation bug that can cause data + loss. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=677419 + has more details. +* Fri Nov 4 2016 psimons@suse.com +- Update to version 1.6.1. The following patches have been applied + upstream and were dropped: + * 0001-restore-pristine-code.patch + * 0002-Added-to-escape-minus-signs-in-manpage-lintian-warni.patch + * 0003-Fix-a-typo-in-a-manpage-bts353789.patch + * 0005-add-summarize-to-manpage-bts481809.patch + * 0006-add-nohidden-support-bts511702.patch + * 0007-Disambiguate-the-options-recurse-and-recurse-bts5371.patch + * 0008-speedup-the-file-compare.patch + * 0009-glibc-endianness-check-in-md5.patch + * 0010-add-permissions-mode.patch + * 0011-add-an-option-to-sort-duplicate-files-by-name.patch +- 50_bts284274_hardlinkreplace.dpatch had to be refreshed. +* Tue Aug 4 2015 tchvatal@suse.com +- By default relink hardlinks too, should fix bnc#940296 +* Mon Aug 3 2015 tchvatal@suse.com +- Update to upstream git repo on github +- Refresh patches: + * fdupes-makefile.patch + * 0008-speedup-the-file-compare.patch + * 0010-add-permissions-mode.patch + * 0011-add-an-option-to-sort-duplicate-files-by-name.patch + * 50_bts284274_hardlinkreplace.dpatch +- Upstreamed patch: + * 0004-Large-file-support-for-2GB-files-bts447601.patch +- Remove whitespace from fdupes.macros file +- Cleanup with spec-cleaner + - Obey rpm-opt-flags + - run test phase +* Sun Dec 21 2014 bwiedemann@suse.com +- add -L (--linkhard) option + add 50_bts284274_hardlinkreplace.dpatch +* Tue Apr 29 2014 stefan.bruens@rwth-aachen.de +- sort the output of fdupes by filename to make it deterministic + for parallel builds + * 0011-add-an-option-to-sort-duplicate-files-by-name.patch +* Tue Oct 16 2012 mvyskocil@suse.com +- update to 1.5.0-PR2 + * new "--summarize" option + * new "--recurse:" selective recursion option + * new "--noprompt" option for totally automated deletion of + duplicate files. + * sorts duplicates (old to new) for consistent order when + listing or deleteing duplicate files. + * tests for early matching of files, which should help speed up + the matching process when large files are involved. + * warns whenever a file cannot be deleted. + * bugfixes (proper file closing, zero-length files, ...) +- drop the fdupes-sort-output.diff (upstream uses mtime based) +- rename and rebase fdupes-speedup.patch to 0008-speedup-the-compare.patch +- rename and rebase fdupes-endianness.patch to + 0009-glibc-endianness-check-in-md5.patch +- add -p/--permissions switch so files with different permissions or uid/gid + are not considered as duplicates (bnc#784670) + * this mode is a default one for fdupes macro + 0010-add-permissions-mode.patch +- imported several fixes from Debian + * 0001-restore-pristine-code.patch - some common code fixes, partly obsoletes + speedup patch + * manual page fixes + 0002-Added-to-escape-minus-signs-in-manpage-lintian-warni.patch + 0003-Fix-a-typo-in-a-manpage-bts353789.patch + 0005-add-summarize-to-manpage-bts481809.patch + 0006-add-nohidden-support-bts511702.patch + 0007-Disambiguate-the-options-recurse-and-recurse-bts5371.patch + * 0004-Large-file-support-for-2GB-files-bts447601.patch - large file support +* Sun Mar 25 2012 behrisch@users.sf.net +- added "which" requirement for red hat distros +* Mon Feb 13 2012 coolo@suse.com +- patch license to follow spdx.org standard +* Wed Oct 5 2011 uli@suse.com +- cross-build workaround: fake gcc script to work around build + system not honoring CC +* Sun Sep 18 2011 jengelh@medozas.de +- Apply packaging guidelines (remove redundant/obsolete + tags/sections from specfile, etc.) +* Mon Feb 15 2010 mvyskocil@suse.cz +- fix bnc#406825: speedup fdupes + * fdupes-speedup.patch fixes some performance gaps in code + * fdupes-endianness.patch speedups the built in md5 on little endian machines +* Wed Aug 26 2009 mls@suse.de +- make patch0 usage consistent +* Thu Jan 15 2009 coolo@suse.de +- sort the output of fdupes to make it deterministic +* Thu Sep 6 2007 mls@suse.de +- do not hardlink empty files in %%fdupes macro +* Wed Sep 5 2007 nadvornik@suse.cz +- support filenames with spaces in %%fdupes macro [#307727] +* Tue May 15 2007 coolo@suse.de +- add an RPM macro to make use of it in spec files +* Thu Nov 16 2006 dmueller@suse.de +- Initial package (1.40) diff --git a/fdupes.spec b/fdupes.spec new file mode 100644 index 0000000..937abcf --- /dev/null +++ b/fdupes.spec @@ -0,0 +1,46 @@ +# +# spec file for package fdupes +# +# Copyright (c) 2022-2023 ZhuningOS +# + +%{?!_rpmmacrodir:%define _rpmmacrodir /usr/lib/rpm/macros.d} + +Name: fdupes +Version: 2.1.2 +Release: 150400.1.86 +Summary: Tool to identify or delete duplicate files +License: MIT +Group: Productivity/Archiving/Compression +Url: https://github.com/adrianlopezroche/fdupes +Source0: https://github.com/adrianlopezroche/fdupes/releases/download/v%{version}/fdupes-%{version}.tar.gz +Source1: macros.fdupes + +%description +FDUPES is a program for identifying or deleting duplicate files +residing within specified directories. + +%prep +%autosetup -p1 + +%build +%configure --without-ncurses +%make_build + +%install +%make_install +install -D -m644 %{SOURCE1} %{buildroot}%{_rpmmacrodir}/macros.%{name} + +%check +./%{name} testdir +./%{name} --omitfirst testdir +./%{name} --recurse testdir +./%{name} --size testdir + +%files +%doc CHANGES +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1* +%{_rpmmacrodir}/macros.%{name} + +%changelog diff --git a/macros.fdupes b/macros.fdupes new file mode 100644 index 0000000..a493cf7 --- /dev/null +++ b/macros.fdupes @@ -0,0 +1,21 @@ +%fdupes(s) \ + _target=""; \ + _symlinks=0; \ + %{-s:_symlinks=1;} \ + fdupes -q -p -n -H -o name -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}