/[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.3 - (show annotations) (download)
Tue Sep 28 16:17:58 2021 UTC (2 years, 8 months ago) by jcrisp
Branch: MAIN
CVS Tags: freedup-1_6_3-5
Changes since 1.2: +9 -5 lines
* Tue Sep 28 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 1.6-3-5.sme
- Fix some build path issues  [SME: 11698]

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

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