/[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.2 - (show annotations) (download)
Tue Sep 28 14:28:06 2021 UTC (3 years, 1 month ago) by jcrisp
Branch: MAIN
CVS Tags: freedup-1_6-4
Changes since 1.1: +4 -1 lines
* Tue Sep 28 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 1.6-4.sme
- First Import to v10 contribs [SME: 11698]

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

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