/[smecontribs]/rpms/freedup/contribs10/freedup.spec
ViewVC logotype

Contents of /rpms/freedup/contribs10/freedup.spec

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.4 - (show annotations) (download)
Tue Sep 28 17:00:07 2021 UTC (2 years, 7 months ago) by jcrisp
Branch: MAIN
CVS Tags: freedup-1_6_3-6_el7_sme, HEAD
Changes since 1.3: +10 -7 lines
* Tue Sep 28 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 1.6-6.sme
- Fix some build path issues  [SME: 11698]

1 %define name freedup
2 %define version 1.6.3
3 %define release 6
4 %define real_version 1.6-3
5 Name: %{name}
6 Summary: Links substantially identical, duplicate files to save file system space.
7 Version: %{version}
8 Release: %{release}%{?dist}
9 License: GPL
10 Packager: AN <AN@freedup.org>
11 Group: Applications/File
12 Source: http://%{name}.org/%{name}-%{real_version}-src.tar.bz2
13 # Buildarch: i586
14 Vendor: AN <AN@freedup.org>
15 URL: http://%{name}.org/
16 #BuildRoot: /tmp/%{name}-broot
17 #BuildRoot: /var/tmp/%{name}-%{real_version}-%{release}
18 BuildRoot: /var/tmp/%{name}-%{real_version}-buildroot
19
20 %description
21 Freedup eliminates duplicate files by linking them, and thus reduces the amount
22 of used disk space within one or more file systems. By default, hardlinks are
23 used on a single device, symbolic links when the devices differ. A set of
24 options allows you to modify the methods of file comparison, the hash functions,
25 the linking behavior, and the reporting style. You may use batch or interactive
26 mode. Freedup usually only considers identical files, but when comparing audio
27 or graphics files, you may elect to ignore the tags. Multimedia files often are
28 a good target for deduplication.
29
30
31 %prep
32 rm -rf ${RPM_BUILD_ROOT}
33
34 %setup -n %{name}-1.6
35
36
37 %install
38 rm -rf $RPM_BUILD_ROOT
39 INSTALLDIR=/usr/bin
40 MANPAGEDIR=%{_mandir}
41 install -d $RPM_BUILD_ROOT/$INSTALLDIR
42 install -s -p -m 755 freedup $RPM_BUILD_ROOT/$INSTALLDIR/freedup
43 install -s -p -m 755 symharden $RPM_BUILD_ROOT/$INSTALLDIR/symharden
44 install -d $RPM_BUILD_ROOT/$MANPAGEDIR/man1
45 gzip -c freedup.1>freedup.1.gz
46 install -p -m 644 freedup.1.gz $RPM_BUILD_ROOT/$MANPAGEDIR/man1/freedup.1.gz
47
48
49 %clean
50 cd ..
51 rm -rf %{name}-%{version}
52
53 #rm -rf $RPM_BUILD_ROOT
54 #mkdir -p $RPM_BUILD_ROOT/usr/bin
55 #mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
56
57 %pre
58 [ -f /etc/services ] && $(grep -q freedup /etc/services) || echo -e "freedup\t\t31166/tcp" >>//etc/services
59 [ -d /etc/xinetd.d -a ! -f /etc/xinetd.d/freedup ] && echo "service freedup\n{\n\tport\t= 31166\n\tsocket_type\t= stream\n\tprotocol\t= tcp\n\twait\t= no\n\tuser\t= root\n\tdisable\t= yes\n\tserver\t= /home/aneuper/src/freedup/freedup\n\tserver_args\t= -W\n}" >>/etc/xinetd.d/freedup && chmod 644 /etc/xinetd.d/freedup
60 [ -f /etc/inetd.conf ] && $(grep -q freedup /etc/inetd.conf) || echo "#freedup stream tcp nowait root /usr/bin/freedup freedup -W" >>/etc/inetd.conf
61
62
63 %preun
64 rm /etc/xinetd.d/freedup
65 # leave entry in /etc/services
66 # leave entry in /etc/inetd.conf
67
68 %files
69 %defattr(-,root,root)
70 %attr(755,root,root) /usr/bin/symharden
71 %attr(755,root,root) /usr/bin/freedup
72 %doc {TODO,README,README.SHA,COPYING,COPYING.SHA,verify,ChangeLog,demo,html}
73 %{_mandir}/man1/freedup.1.gz
74
75
76 %changelog
77 * Tue Sep 28 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 1.6-6.sme
78 - Fix some build path issues [SME: 11698]
79
80 * Tue Sep 28 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 1.6-5.sme
81 - Fix some build path issues [SME: 11698]
82
83 * Tue Sep 28 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 1.6-4.sme
84 - First Import to v10 contribs [SME: 11698]
85
86 * Wed Sep 01 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 1.6-3.sme
87 - Test build
88 - Added Stephanes note
89
90 * Wed Jan 21 2015 stephane de labrusse <stephdl@de-labrusse.fr> 1.5-3.sme
91 - First release to sme9
92 + gui defaults to off, activate and deactivate using "make webon/weboff/state"
93
94 * Fri Feb 04 2011 devel (AN) <AN@freedup.org>
95 - Bugfixes in version 1.6-2
96 + replaced softlink to symharden.c
97
98 * Tue Jan 11 2011 devel (AN) <AN@freedup.org>
99 - Changes to version 1.6-1
100 + signal handler catches CTRL-C to free duplicates discovered so far
101 + added if-defines to avoid double parsing of *.h files
102 + removed inline directive [due to compile errors by request of Andres Meyer]
103 - Enhancement in version 1.6-1
104 + added listener interface
105 + added new platform makefile for Apple Mac Version 10.6.0 i386 [tested]
106 + catch filesystem errors (e.g. /sys) and print warnings instead of assertions
107 + added (sp)lint rule for linux
108 + added symharden tool to convert softlinks into hardlinks whereever possible
109 - Bugfixes in version 1.6-1
110 + added missing #ifdef HASHSUM statements [notified by Linc Davis]
111 + using include of <sys/stat.h> instead of <linux/stat.h> [by Linc Davis]
112 + added fclose() to mp4.c and checking all fclose()/fseek() result codes
113 + linted mp3.c, mp4.c mpc.c, auto.c, ogg.c, jpg.c and my.c
114 + partially linted freedup.c (e.g. splint does not fail anymore)
115 + moved filesize variables in "extra" functions from size_t=int to ulong
116 + incorporated patch to avoid segfaults [by Charles Duppy]
117 - Known Bug in 1.6-1
118 + Apple Mac version does not link different ownerships (yet reason unclear)
119
120 * Thu Mar 06 2008 devel (AN) <AN@freedup.org>
121 - Changes to unpublished version 1.5-4
122 + Corrected Copyright statements to comply with OSF (GPL) requirements
123 - Enhancement in unpublished version 1.5-4
124 + minor corrections to man page
125
126 * Thu Mar 06 2008 devel (AN) <AN@freedup.org>
127 - Changes to version 1.5-3
128 + gui defaults to off, activate and deactivate using "make webon/weboff/state"
129
130 * Thu Mar 06 2008 devel (AN) <AN@freedup.org>
131 - Changes to version 1.5-3
132 + the features provided with option -W are for testing purpose only
133 + basic web interface offered (reply not accepted yet)
134 + changed invisible default option for sorting criteria to '.'
135 - Enhancement in version 1.5-3
136 + automated installation routine for xinetd and inetd
137 + deinstall script for xinetd only
138 + added html pages to rpm package as well
139 - Bugfixes in version 1.5-3
140 + removed a leftover debug command
141
142 * Sun Mar 02 2008 devel (AN) <AN@freedup.org>
143 - Enhancement in version 1.5-2
144 + enable freedup to restore directory time stamp after linking (option -T)
145 + added usage help, man page and syntax web page for option -T
146 + extended test3 in Makefile.tests to check new option -T
147 + streamlined Makefile.tests using for-loops and 'test -ef'(25% reduced size)
148 + Makefile.tests now needs gnu 'test' facility '[' to work correctly
149 - Bugfixes in version 1.5-2
150 + corrected date in copyright notice for -V
151 + added '+' and '-' to -k option in online syntax help
152
153 * Sat Feb 02 2008 devel (AN) <AN@freedup.org>
154 - Enhancement in version 1.5-1
155 + file trees are now scanned by an internal routine, find is called on demand
156 + output during tree scanning changes every 1000 files (i.e. find activity)
157 + updated man page to show how to use find instead of the internal routine
158 + testing did not proof performance gain when using internal routine
159 - Changes in version 1.5-1
160 + first helper routines for web-based GUI
161 + corrected and completed copyright information
162 - Bugfixes in version 1.5-1
163 + minor corrections to freedup man page
164
165 * Mon Dec 31 2007 devel (AN) <AN@freedup.org>
166 - Enhancement in version 1.4-4
167 + report deleted files and the space saved (avail in interactive mode only)
168 + link directions '+'/'-' allow to select source by size (extra style only)
169 - Bugfixes in version 1.4-4
170 + Makefile copies so that rpm cygwin executable is executable under cygwin
171 + initialize all *source variables in dupinfo_entry() to avoid segfaults
172 + do not offer linking when files already linked in interactive mode (w/o -H)
173 + report linked files and bytes in interactive mode for extra styles
174
175 * Fri Dec 28 2007 devel (AN) <AN@freedup.org>
176 - Enhancement in version 1.4-3
177 + one common routine to open config file (simplifies later extensions)
178 + added routine to print existing environments in help (for a test period)
179 - Bugfixes in version 1.4-3
180 + use character instead of ascii code for '-k' in config file
181 + finally fixed missing initialisation to avoid failing (n+m) assertion
182 + if mp4 module is applied on mp3 files no more infinite loops should occur
183
184 * Mon Dec 24 2007 devel (AN) <AN@freedup.org>
185 - Enhancement in version 1.4-2
186 + there are no more restrictions on the number of identical files
187 + added '-H' for the same use as in fdupes: show hardlinked files too
188 + added man page description for '-k' and '-H'
189 - Bugfixes in version 1.4-2
190 + improved test routine for MP3 and JPG Mix
191 + added new line before printing statistics
192 + stop printing interactive selection list, when there are no more letters
193
194 * Fri Dec 21 2007 devel (AN) <AN@freedup.org>
195 - Enhancement in version 1.4-1
196 + '-k' option changed and recognized key pattern (same key as interactive)
197 + '-ni' now reports reliable predictions on linked files and bytes
198 + '-n' is reported (and indicated) to report to much for multiple links.
199 + options '-qin' (add '-q') now print file clusters like "fdupes -r"
200 + erased code that was not active anymore
201 + reduction of qsort calls gave more performance which ate up more lstat()s
202 - Bugfixes in version 1.4-1
203 + '--timediff' is only set to 0 if '--sametime' is disabled
204 + fixed algorithm stability problem, i.e. one qsort run is now sufficient.
205 - New in version 1.3-2
206 + ability set a mask for file permissions if 'same' permission is desired.
207 + group commands in interactive mode
208 - '@' suggests to link all files to entry with maximum link count
209 - '#' suggests to link all files to first entry given on command line
210 - '<' suggests to link all files to the oldest identical entry
211 - '>' suggests to link all files to the newest identical entry
212 + '-k' forces link source by sequence of file naming (compare with '@' above)
213 - Enhancement in version 1.3-2
214 + changed default to NOT to use hash functions
215 + writing also given directories to config file (w/o probing for existance)
216 + first preparations for a netbsd translation
217 - Bugfixes in version 1.3-2
218 + findoptions need not to be defined for reading directories from config file
219 + assertion in compare_..._hash moved into parenthesis where it belongs to.
220
221 * Sat Dec 15 2007 devel (AN) <AN@freedup.org>
222 - New in version 1.3-1
223 + '-#' now requires an integer option (watch out for difficulties!)
224 + advanced hash sum calculation is now usable (nearly no penalty, but gain)
225 + freedup.org is the new website (the old address remains valid)
226 - Enhancement in version 1.3-1
227 + new algorithm calculates internal hash sum during file comparison
228 + defaults to new hash algorithm (use --hash 1 to switch to old behaviour)
229 + more detailed man page sections on -e, -# and -o.
230 - Bugfixes in version 1.3-1
231 + hash sum counter counted double for internal hash algorithm
232
233 * Mon Dec 10 2007 devel (AN) <AN@freedup.org>
234 - New in version 1.2-1
235 + Easy storeing & loading of options using environments (not: -Vhaq? )
236 Options given before are overwritten if present in that environment
237 + option -b to set basedir (may be useful with environments)
238 + option -D allows to set a maximum time difference
239 - Enhancement in version 1.2-1
240 + long options are offered
241 + help screen adopted
242 + added inactive, buggy code for delayed hash calculation ("hi performance")
243 + a test for -D was introduced
244 - Bugfixes in version 1.2-1
245 + ignore failed calls of gethash() (e.g. due to file removal) [rare]
246 + expect that ferror() may be set in case of feof() [not reported yet]
247 + qsort() now gets the difference in contents for files of the same size.[nry]
248
249 * Thu Dec 06 2007 devel (AN) <AN@freedup.org>
250 - Enhancement in version 1.1-3
251 + extended test6 to check for symlinking of full and partial filename
252 + description in spec file renewed
253 - Bugfixes in version 1.1-3
254 + corrected symlinking files with partial filename to those with full
255 + added rules to have html files for rpm with cygwin where they are expected
256
257 * Sun Dec 02 2007 devel (AN) <AN@freedup.org>
258 - Enhancement in version 1.1-2
259 + allow one more start token 'moov' for mp4 style (mov-Suffix)
260 + added -x and -e switch with explanation to man page
261 - Bugfixes in version 1.1-2
262 + corrected MANPAGE definition in spec file for rpm with cygwin
263 + replaced dependencies in Makefile.tests to ensure correct linking
264
265 * Wed Nov 28 2007 devel (AN) <AN@freedup.org>
266 - New in version 1.1-1
267 + header/tail skipping and tag skipping introduced for extra modules
268 + extra modules for mp3, mp4, mpc, ogg and jpeg tags (still beta testing)
269 + the extra module "auto" selects extra modules by their magic automatically
270 + enabled extra modules inhibit external hashing functions
271 + test11 was added to check the extra style modules mp3, mp4 and jpg
272 + extra modules allow to be compiled as individual testing utilities
273 - Enhancement in version 1.1-1
274 + print only available hashmodes and extramodules with help
275 + now using defines for internal hash method (simplifies replacement)
276 + a message is printed if root privileges were missing during tests
277 + using a size that may differ from the file size
278 - Bugfixes in version 1.1-1
279 + test10 now recognizes non-default sort order
280 + correction to help/usage message
281 + added missing stop conditions to byte-by-byte-comparison
282
283 * Sat Nov 10 2007 devel (AN) <AN@freedup.org>
284 - Enhancement in version 1.0-5
285 + now compiles unchanged with Cygwin and Linux
286 + Makefiles were modified to simplify testing and compilation
287 + removed conversion untility "encap"
288 + ignore missing "html2text"
289 + generate a readable plain text README from README.html
290 + more file groups in the header section of Makefile
291 + sha1.c is now taken from and referenced to original source.
292 + added COLLATERAL section to man page
293 + added verification program to distribution
294
295 * Wed Nov 07 2007 devel (AN) <AN@freedup.org>
296 - Enhancement in version 1.0-4
297 + report version and copyright on '-V'
298 + included Allan Saddis SHA1 implementation as found in duff
299 + added more hash functions to default list
300 + use '-t' to select certain hash methods manually
301 + internal hash function is default, external ones require options
302 + introduced colour into Makefile testing routines
303 + Makefile relies on GNU make to auto-include OS specific settings
304 + added rules and other parts to generate debian packages
305 - Bugfixes in version 1.0-4
306 + errors on hash function testing are easier to understand now.
307 + errors on hash function selection are reported only with '-v'
308 + full special character support if internal hash methods chosen
309 + more recent list of files for tarball, clean and distclean
310
311 * Sat Nov 03 2007 devel (AN) <AN@freedup.org>
312 - Enhancement in version 1.0-3
313 + Hash Algorithms now are included and work for cygwin as well
314 + improved interactive dialogues
315 + build symbolic link path in shortest distance to given target path
316 - Bugfixes in version 1.0-3
317 + Successful testing with AIX 5.3
318 + do not stop interactive mode if setting the terminal discipline fails
319 + More intense Testing of comparison function (Makefile)
320 + More reliable testing of interactive mode and relative Path (Makefile)
321 + removed DANGER message due to program improvements
322 + special character support if external hash methods are disabled (-#)
323
324 * Wed Oct 31 2007 devel (AN) <AN@freedup.org>
325 - Enhancement in version 1.0-2
326 + runtime check for one out of three usable external hash methods (SHA1, MD5, SUM)
327 - Bugfixes in version 1.0-2
328 + corrected comparison length when comparing by memcmp() / failed with cygwin
329 + renamed finfo structure to frdinfo to avoid collisions with AIX
330 + added ALLPERMS define for non-Linux systems
331 + added Makefile define for FREEDUPEXE, since cygwin fails on ./freedup
332 + added Makefile define for echo with backslash translation
333 + added Makefile check for valid HASH executables in freedup.h
334 + print "ln -f <file1> <file2>" , so you may execute it without changes
335
336 * Sat Oct 27 2007 devel (AN) <AN@freedup.org>
337 - Enhancements in version 1.0
338 + new interactive mode with full choice list
339 + separated linking task into explicit function
340 + option -i asks for manual replacement selections
341 + options -in print file clusters like "fdupes -r"
342 + partial code clean up
343 - Bugfixes
344 + avoid name collisions by generating temporary filenames
345 + always check files for existance to avoid early termination
346 + previously checked that permissions differ (instead of being identical)
347 + previously checked that groups differ (instead of being identical)
348 + previously checked that users differ (instead of being identical)
349 + previously checked that times differ (instead of being identical)
350
351 * Tue Oct 09 2007 devel (AN) <AN@freedup.org>
352 - Enhancements in version 0.9 freedup.c
353 + added interactive mode (option -i) [this option is still beta]
354 + added delete selections in interactive mode
355 + added html documentation to archive
356 + added tolerance to unavailable files on fopen() [Rel.2]
357 - Enhancements in version 0.9 Makefile
358 + added definitions: INSTALLDIR, MANPAGEDIR, etc
359 + added targets: tarball, install, clean, distclean
360 + version and release are now defined in freedup.spec only
361 + added test that tries all numeric options during interaction [Rel.2]
362 - Enhancements in version 0.9 freedup.spec
363 + use install instead of cp
364
365 * Thu Oct 04 2007 devel (AN) <AN@freedup.org>
366 - Enhancements in version 0.8
367 + avoid linking empty files (new option -0)
368 + avoid printing any information (new option -q)
369 + updated man page to reflect all options
370 + added test7 to check for correct handling of empty files
371 - Bugfixes
372 + use mode instead of size to determine file type
373 + starting with release 1 (not with 0)
374 + added aditional file to distribution
375
376 * Tue Oct 02 2007 devel (AN) <AN@freedup.org>
377 - Enhancements in version 0.7
378 + compiles under cygwin (no hash support with cygwin)
379 + works for NTFS file systems (at least test cases worked)
380
381 * Fri Sep 21 2007 devel (AN) <AN@freedup.org>
382 - Enhancements in version 0.6
383 + MD5 hash scanning may be disabled by options now
384
385 * Wed Sep 12 2007 devel (AN) <AN@freedup.org>
386 - Enhancements in version 0.5
387 + exclude non-regular files from investigation using lstat
388 + error handling for OS functions now with messages instead of asserts
389 + corrected and completed some text messages
390 + Tested 400000 multimedia files in upto 20 trees
391
392 * Wed Aug 29 2007 devel (AN) <AN@freedup.org>
393 - Enhancements in version 0.4
394 + now a single run should be sufficient in most cases
395 + added -w to force symlinks instead of hardlinks
396 + added -l to allow only hardlinks and no symlinks
397 + first test comparing results for different trees
398 + more structured web page
399 - Bugfixes
400 + no more overwriting of previously scanned trees
401 + comparision return values are not zero if additional tests fail
402 + completed bug fixes from version 0.2
403
404 * Fri Aug 24 2007 devel (AN) <AN@freedup.org>
405 - Enhancements in version 0.3
406 + splitted user and group comparison into separate tests
407 - Bugfixes
408 + argument position is now less important than existing link count
409 This was needed to avoid alternating link replacements
410 + stop when number of changes gets constant :-(healing symptoms)
411 + do not reset file counter when deciding to realloc()
412
413 * Tue Aug 21 2007 devel (AN) <AN@freedup.org>
414 - Enhancements in version 0.2
415 + call "find" only once
416 + allow input from stdin
417 + some code cleaning
418 + added man page
419 + added more tests
420 + improved Makefile
421 - Bugfixes
422 + added -a to getopt string
423 + report correct version
424 + corrected basename macro
425
426 * Thu Aug 16 2007 devel (AN) <AN@freedup.org>
427 - Initial Release

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed