From f1d9d80a752a201a0df748ef6774412676d9a726 Mon Sep 17 00:00:00 2001 From: Zing Zing Shishak Date: Jun 02 2009 02:52:32 +0000 Subject: - sync with debian mmv_1.01b-15 - man page formatting fixes - wrap cmdname in basename() (debian: #452989) - initialize tv_usec (debian: #452993) --- diff --git a/mmv-1.01b-debian-15.patch b/mmv-1.01b-debian-15.patch new file mode 100644 index 0000000..98d2d2e --- /dev/null +++ b/mmv-1.01b-debian-15.patch @@ -0,0 +1,368 @@ +diff -up mmv-1.01b.orig/ mmv-1.01b.orig/ +diff -up mmv-1.01b.orig/mmv.1.orig mmv-1.01b.orig/mmv.1 +--- mmv-1.01b.orig/mmv.1.orig 2009-06-01 22:21:12.000000000 -0400 ++++ mmv-1.01b.orig/mmv.1 2009-06-01 22:27:19.000000000 -0400 +@@ -21,14 +21,14 @@ mmv \- move/copy/append multiple files b + \} + .SH SYNOPSIS + .B mmv +-.if '\nO'2' [\fB-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBz\fP] +-.if '\nO'0' [\fB-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBl\fP|\fBs\fP] +-.if '\nO'1' [\fB-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBl\fP] +-[\fB-h\fP] +-[\fB-d\fP|\fBp\fP] +-[\fB-g\fP|\fBt\fP] +-[\fB-v\fP|\fBn\fP] +-[\fB--\fP] ++.if '\nO'2' [\fB\-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBz\fP] ++.if '\nO'0' [\fB\-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBl\fP|\fBs\fP] ++.if '\nO'1' [\fB\-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBl\fP] ++[\fB\-h\fP] ++[\fB\-d\fP|\fBp\fP] ++[\fB\-g\fP|\fBt\fP] ++[\fB\-v\fP|\fBn\fP] ++[\fB\-\-\fP] + [\fBfrom to\fP] + .if '\nO'2' \{\ + .br +@@ -57,8 +57,10 @@ from the entire set of actions specified + and gives the user the choice of either + proceeding by avoiding the offending parts + or aborting. +-.I mmv does support large files (LFS) but it does *NOT* support ++.I mmv ++does support large files (LFS) but it does *NOT* support + sparse files (i.e. it explodes them). ++ + .ce + The Task Options + .PP +@@ -73,7 +75,7 @@ If none of these are specified, + .ie '\nO'2' \{\ + a default (patchable by + .IR mmvpatch , +-and initially -x) ++and initially \-x) + determines the task. + \} + .el \{\ +@@ -83,18 +85,18 @@ was invoked (argv[0]): + + command name default task + +- mmv -x ++ mmv \-x + .br +- mcp -c ++ mcp \-c + .br +- mad -a ++ mad \-a + .br +- mln -l ++ mln \-l + \} + .PP + The task option choices are: + .TP +--m : ++\-m : + move source file to target name. + Both must be on the same device. + Will not move directories. +@@ -104,8 +106,8 @@ moves the link without checking if the l + directory is different than the old. + \} + .TP +--x : +-same as -m, except cross-device moves are done ++\-x : ++same as \-m, except cross-device moves are done + by copying, then deleting source. + When copying, sets the + .ie !'\nO'2' permission bits +@@ -113,7 +115,7 @@ When copying, sets the + and file modification time + of the target file to that of the source file. + .TP +--r : ++\-r : + rename source file or directory to target name. + The target name must not include a path: + the file remains in the same directory in all cases. +@@ -121,7 +123,7 @@ This option is the only way of renaming + .IR mmv . + .if '\nO'2' It is only available under DOS version 3.0 or higher. + .TP +--c : ++\-c : + copy source file to target name. + Sets the file modification time and + .ie !'\nO'2' permission bits +@@ -130,7 +132,7 @@ of the target file to that of the source + regardless of whether the target file already exists. + Chains and cycles (to be explained below) are not allowed. + .TP +--o : ++\-o : + overwrite target name with source file. + .ie '\nO'2' \{\ + If target file exists, its attributes are left unchanged. +@@ -148,38 +150,38 @@ and the execute permission bits copied f + In either case, the file modification time is set to the current time. + \} + .TP +--a : ++\-a : + append contents of source file to target name. + Target file modification time is set to the current time. + If target file does not exist, + it is created with + .ie '\nO'2' attributes + .el permission bits +-set as under -o. +-Unlike all other options, -a allows multiple source files to have the +-same target name, e.g. "mmv -a ++set as under \-o. ++Unlike all other options, \-a allows multiple source files to have the ++same target name, e.g. "mmv \-a + .ie '\nO'2' *.c + .el \\*.c + big" will append all ".c" files to "big". +-Chains and cycles are also allowed, so "mmv -a f f" will double up "f". ++Chains and cycles are also allowed, so "mmv \-a f f" will double up "f". + .ie '\nO'2' \{\ + .TP +--z : +-same as -a, but if the target file exists, and its last character is a ^Z, ++\-z : ++same as \-a, but if the target file exists, and its last character is a ^Z, + and the source file is not empty, + this ^Z is truncated before doing the append. + \} + .el \{\ + .TP +--l : ++\-l : + link target name to source file. + Both must be on the same device, + and the source must not be a directory. + Chains and cycles are not allowed. + .if '\nO'0' \{\ + .TP +--s : +-same as -l, but use symbolic links instead of hard links. ++\-s : ++same as \-l, but use symbolic links instead of hard links. + For the resulting link to aim back at the source, + either the source name must begin with a '/', + or the target must reside in either the current or the source directory. +@@ -192,7 +194,7 @@ and the source can be a directory. + Only one of these option may be given, + and it applies to all matching files. + Remaining options need not be given separately, +-i.e. "mmv -mk" is allowed. ++i.e. "mmv \-mk" is allowed. + + .ce + Multiple Pattern Pairs +@@ -234,7 +236,7 @@ a b + a c + .in -3 + +-would give the error message "a -> c : no match" because file "a" ++would give the error message "a \-> c : no match" because file "a" + (even if it exists) + was already matched by the first pattern pair. + +@@ -257,10 +259,10 @@ matching any single character, + and matching any one of a set of characters. + .PP + Between the '[' and ']', a range from character 'a' through character 'z' +-is specified with "a-z". ++is specified with "a\-z". + The set of matching characters can be negated by inserting + a '^' after the '['. +-Thus, "[^b-e2-5_]" ++Thus, "[^b\-e2\-5_]" + will match any character but 'b' through 'e', '2' through '5', and '_'. + .if '\nO'2' \{\ + .PP +@@ -307,13 +309,13 @@ However, the '~' is not treated as a wil + in the sense that it is not assigned a wildcard index (see below). + \} + .PP +-Since matching a directory under a task option other than -r or -s ++Since matching a directory under a task option other than \-r or \-s + would result in an error, +-tasks other than -r and -s ++tasks other than \-r and \-s + match directories only against completely explicit + .I from + patterns (i.e. not containing wildcards). +-Under -r and -s, this applies only to "." and "..". ++Under \-r and \-s, this applies only to "." and "..". + .PP + .ie '\nO'2' \{\ + Hidden and system files are also only matched +@@ -326,7 +328,7 @@ Files beginning with '.' are only matche + .I from + patterns that begin with an explicit '.'. + \} +-However, if -h is specified, they are matched normally. ++However, if \-h is specified, they are matched normally. + .if !'\nO'2' \{\ + .PP + Warning: since the shell normally expands wildcards +@@ -366,7 +368,7 @@ pattern is "abc*.*" and the + pattern is "xyz#2.#1", + then "abc.txt" is targeted to "xyztxt.". + (The first '*' matched "", and the second matched "txt".) +-Similarly, for the pattern pair ";*.[clp]" -> "#1#3\*(SL#2", ++Similarly, for the pattern pair ";*.[clp]" \-> "#1#3\*(SL#2", + "foo1\*(SLfoo2\*(SLprog.c" is targeted to "foo1\*(SLfoo2\*(SLc\*(SLprog". + Note that there is no '\*(SL' following the "#1" in the + .I to +@@ -400,7 +402,7 @@ expands the '~' in the exact same manner + does not expand it at all). + \} + .PP +-For all task options other than -r, if the target name is a directory, ++For all task options other than \-r, if the target name is a directory, + the real target name is formed by appending + a '\*(SL' followed by the last component + of the source file name. +@@ -437,7 +439,7 @@ a b + .br + b c + +-specifies the chain "a" -> "b" -> "c". ++specifies the chain "a" \-> "b" \-> "c". + A cycle is a chain where the last target name + refers back to the first source file, + e.g. "mmv a a". +@@ -464,9 +466,9 @@ Furthermore, + .I mmv + checks if any of its actions will result + in the destruction of existing files. +-If the -d (delete) option is specified, ++If the \-d (delete) option is specified, + all file deletions or overwrites are done silently. +-Under -p (protect), all deletions or overwrites ++Under \-p (protect), all deletions or overwrites + (except those specified with "(*)" on the standard input, see below) + are treated as errors. + And if neither option is specified, +@@ -490,16 +492,16 @@ Once all errors are detected, + queries the user whether he wishes + to continue by avoiding the erroneous actions or to abort altogether. + This and all other queries may be avoided by specifying either the +--g (go) or -t (terminate) option. ++\-g (go) or \-t (terminate) option. + The former will resolve all difficulties by avoiding the erroneous actions; + the latter will abort + .I mmv + if any errors are detected. + Specifying either of them defaults + .I mmv +-to -p, unless -d is specified ++to \-p, unless \-d is specified + (see above). +-Thus, -g and -t are most useful when running ++Thus, \-g and \-t are most useful when running + .I mmv + in the background or in + a shell script, +@@ -511,28 +513,28 @@ Reports + Once the actions to be performed are determined, + .I mmv + performs them silently, +-unless either the -v (verbose) or -n (no-execute) option is specified. ++unless either the \-v (verbose) or \-n (no-execute) option is specified. + The former causes + .I mmv + to report each performed action + on the standard output as + +-a -> b : done. ++a \-> b : done. + + Here, "a" and "b" would be replaced by the source and target names, + respectively. + If the action deletes the old target, + a "(*)" is inserted after the the target name. +-Also, the "->" symbol is modified when a cycle has to be broken: ++Also, the "\->" symbol is modified when a cycle has to be broken: + the '>' is changed to a '^' on the action prior to which the old target + is renamed to a temporary, +-and the '-' is changed to a '=' on the action where the temporary is used. ++and the '\-' is changed to a '=' on the action where the temporary is used. + .PP +-Under -n, none of the actions are performed, ++Under \-n, none of the actions are performed, + but messages like the above are printed on the standard output + with the ": done." omitted. + .PP +-The output generated by -n can (after editing, if desired) ++The output generated by \-n can (after editing, if desired) + be fed back to + .I mmv + on the standard input +@@ -548,9 +550,9 @@ To facilitate this, + ignores lines on the standard input that look + like its own error and "done" messages, + as well as all lines beginning with white space, +-and will accept pattern pairs with or without the intervening "->" +-(or "-^", "=>", or "=^"). +-Lines with "(*)" after the target pattern have the effect of enabling -d ++and will accept pattern pairs with or without the intervening "\->" ++(or "\-^", "=>", or "=^"). ++Lines with "(*)" after the target pattern have the effect of enabling \-d + for the files matching this pattern only, + so that such deletions are done silently. + When feeding +@@ -599,11 +601,11 @@ on a copy of + .I mmv + named as follows: + +- -x, -m, -r mmv.exe ++ \-x, \-m, \-r mmv.exe + .br +- -c, -o mcp.exe ++ \-c, \-o mcp.exe + .br +- -a, -z mad.exe ++ \-a, \-z mad.exe + .PP + .I Mmvpatch + also determines the best way to uniquely identify directories. +diff -up mmv-1.01b.orig/mmv.c.orig mmv-1.01b.orig/mmv.c +--- mmv-1.01b.orig/mmv.c.orig 2009-06-01 22:21:21.000000000 -0400 ++++ mmv-1.01b.orig/mmv.c 2009-06-01 22:27:19.000000000 -0400 +@@ -124,6 +124,7 @@ extern unsigned _stklen = 10000; + #else + /* for various flavors of UN*X */ + ++#include + #include + #include + #include +@@ -565,7 +566,7 @@ static void procargs(argc, argv, pfrompa + char **pfrompat, **ptopat; + { + char *p, c; +- char *cmdname = argv[0]; ++ char *cmdname = basename(argv[0]); + + #ifdef IS_MSDOS + #define CMDNAME (patch.ph_name) +@@ -2727,7 +2728,9 @@ static int copy(ff, len) + tim.modtime = fstat.st_mtime, + #else + tim[0].tv_sec = fstat.st_atime, ++ tim[0].tv_usec = 0, + tim[1].tv_sec = fstat.st_mtime, ++ tim[1].tv_usec = 0, + #endif + utimes(fullrep, tim) + ) diff --git a/mmv.spec b/mmv.spec index 42e841b..4ff8601 100644 --- a/mmv.spec +++ b/mmv.spec @@ -1,6 +1,6 @@ Name: mmv Version: 1.01b -Release: 11%{?dist} +Release: 12%{?dist} Summary: Move/copy/append/link multiple files Group: Applications/File @@ -12,6 +12,7 @@ Source2: changelog Patch0: mmv-1.01b-debian.patch Patch1: mmv-1.01b-makefile.patch Patch2: mmv-1.01b-debian-14.patch +Patch3: mmv-1.01b-debian-15.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description @@ -29,6 +30,7 @@ beginning, or proceeding by avoiding the offending parts. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 cp -p %{SOURCE1} . cp -p %{SOURCE2} . @@ -60,6 +62,12 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/* %changelog +* Mon Jun 1 2009 Zing - 1.01b-12 +- sync with debian mmv_1.01b-15 +- man page formatting fixes +- wrap cmdname in basename() (debian: #452989) +- initialize tv_usec (debian: #452993) + * Wed Feb 25 2009 Fedora Release Engineering - 1.01b-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild