Fix build error 17/252717/1 accepted/tizen/base/tool/20210203.032356 submit/tizen_base/20210202.022113 submit/tizen_base/20210202.061512 submit/tizen_base/20210203.001034 submit/tizen_base/20210204.043503
authorDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 2 Feb 2021 02:16:43 +0000 (11:16 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 2 Feb 2021 02:18:43 +0000 (11:18 +0900)
[   20s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/../../../../armv7l-tizen-linux-gnueabi/bin/ld: ../lib/libcpio.a(argp-help.o): in function `_option_is_short':
[   20s] /home/abuild/rpmbuild/BUILD/cpio-2.8/lib/argp.h:595: multiple definition of `_option_is_short'; main.o:/home/abuild/rpmbuild/BUILD/cpio-2.8/src/../lib/argp.h:595: first defined here

Change-Id: If0c4d5c82f0d9b403069494be387b21f093db3f4
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
lib/argp-fmtstream.c [changed mode: 0644->0755]
lib/argp-fmtstream.h [changed mode: 0644->0755]
lib/argp-help.c [changed mode: 0644->0755]
lib/argp.h [changed mode: 0644->0755]
packaging/cpio.1 [new file with mode: 0755]
packaging/cpio.manifest
packaging/cpio.spec [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 0dd9256..3f713e2
@@ -432,4 +432,84 @@ weak_alias (__argp_fmtstream_printf, argp_fmtstream_printf)
 #endif
 #endif
 
+ARGP_FS_EI size_t
+__argp_fmtstream_write (argp_fmtstream_t __fs,
+                       const char *__str, size_t __len)
+{
+  if (__fs->p + __len <= __fs->end || __argp_fmtstream_ensure (__fs, __len))
+    {
+      memcpy (__fs->p, __str, __len);
+      __fs->p += __len;
+      return __len;
+    }
+  else
+    return 0;
+}
+
+ARGP_FS_EI int
+__argp_fmtstream_puts (argp_fmtstream_t __fs, const char *__str)
+{
+  size_t __len = strlen (__str);
+  if (__len)
+    {
+      size_t __wrote = __argp_fmtstream_write (__fs, __str, __len);
+      return __wrote == __len ? 0 : -1;
+    }
+  else
+    return 0;
+}
+
+ARGP_FS_EI int
+__argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch)
+{
+  if (__fs->p < __fs->end || __argp_fmtstream_ensure (__fs, 1))
+    return *__fs->p++ = __ch;
+  else
+    return EOF;
+}
+
+/* Set __FS's left margin to __LMARGIN and return the old value.  */
+ARGP_FS_EI size_t
+__argp_fmtstream_set_lmargin (argp_fmtstream_t __fs, size_t __lmargin)
+{
+  size_t __old;
+  if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
+    __argp_fmtstream_update (__fs);
+  __old = __fs->lmargin;
+  __fs->lmargin = __lmargin;
+  return __old;
+}
+
+/* Set __FS's right margin to __RMARGIN and return the old value.  */
+ARGP_FS_EI size_t
+__argp_fmtstream_set_rmargin (argp_fmtstream_t __fs, size_t __rmargin)
+{
+  size_t __old;
+  if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
+    __argp_fmtstream_update (__fs);
+  __old = __fs->rmargin;
+  __fs->rmargin = __rmargin;
+  return __old;
+}
+
+/* Set FS's wrap margin to __WMARGIN and return the old value.  */
+ARGP_FS_EI size_t
+__argp_fmtstream_set_wmargin (argp_fmtstream_t __fs, size_t __wmargin)
+{
+  size_t __old;
+  if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
+    __argp_fmtstream_update (__fs);
+  __old = __fs->wmargin;
+  __fs->wmargin = __wmargin;
+  return __old;
+}
+
+/* Return the column number of the current output point in __FS.  */
+ARGP_FS_EI size_t
+__argp_fmtstream_point (argp_fmtstream_t __fs)
+{
+  if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
+    __argp_fmtstream_update (__fs);
+  return __fs->point_col >= 0 ? __fs->point_col : 0;
+}
 #endif /* !ARGP_FMTSTREAM_USE_LINEWRAP */
old mode 100644 (file)
new mode 100755 (executable)
index e045a72..a6ca029
@@ -203,84 +203,29 @@ extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
 
 ARGP_FS_EI size_t
 __argp_fmtstream_write (argp_fmtstream_t __fs,
-                       const char *__str, size_t __len)
-{
-  if (__fs->p + __len <= __fs->end || __argp_fmtstream_ensure (__fs, __len))
-    {
-      memcpy (__fs->p, __str, __len);
-      __fs->p += __len;
-      return __len;
-    }
-  else
-    return 0;
-}
+                       const char *__str, size_t __len);
 
 ARGP_FS_EI int
-__argp_fmtstream_puts (argp_fmtstream_t __fs, const char *__str)
-{
-  size_t __len = strlen (__str);
-  if (__len)
-    {
-      size_t __wrote = __argp_fmtstream_write (__fs, __str, __len);
-      return __wrote == __len ? 0 : -1;
-    }
-  else
-    return 0;
-}
+__argp_fmtstream_puts (argp_fmtstream_t __fs, const char *__str);
 
 ARGP_FS_EI int
-__argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch)
-{
-  if (__fs->p < __fs->end || __argp_fmtstream_ensure (__fs, 1))
-    return *__fs->p++ = __ch;
-  else
-    return EOF;
-}
+__argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch);
 
 /* Set __FS's left margin to __LMARGIN and return the old value.  */
 ARGP_FS_EI size_t
-__argp_fmtstream_set_lmargin (argp_fmtstream_t __fs, size_t __lmargin)
-{
-  size_t __old;
-  if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
-    __argp_fmtstream_update (__fs);
-  __old = __fs->lmargin;
-  __fs->lmargin = __lmargin;
-  return __old;
-}
+__argp_fmtstream_set_lmargin (argp_fmtstream_t __fs, size_t __lmargin);
 
 /* Set __FS's right margin to __RMARGIN and return the old value.  */
 ARGP_FS_EI size_t
-__argp_fmtstream_set_rmargin (argp_fmtstream_t __fs, size_t __rmargin)
-{
-  size_t __old;
-  if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
-    __argp_fmtstream_update (__fs);
-  __old = __fs->rmargin;
-  __fs->rmargin = __rmargin;
-  return __old;
-}
+__argp_fmtstream_set_rmargin (argp_fmtstream_t __fs, size_t __rmargin);
 
 /* Set FS's wrap margin to __WMARGIN and return the old value.  */
 ARGP_FS_EI size_t
-__argp_fmtstream_set_wmargin (argp_fmtstream_t __fs, size_t __wmargin)
-{
-  size_t __old;
-  if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
-    __argp_fmtstream_update (__fs);
-  __old = __fs->wmargin;
-  __fs->wmargin = __wmargin;
-  return __old;
-}
+__argp_fmtstream_set_wmargin (argp_fmtstream_t __fs, size_t __wmargin);
 
 /* Return the column number of the current output point in __FS.  */
 ARGP_FS_EI size_t
-__argp_fmtstream_point (argp_fmtstream_t __fs)
-{
-  if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
-    __argp_fmtstream_update (__fs);
-  return __fs->point_col >= 0 ? __fs->point_col : 0;
-}
+__argp_fmtstream_point (argp_fmtstream_t __fs);
 
 #if !_LIBC
 #undef __argp_fmtstream_putc
old mode 100644 (file)
new mode 100755 (executable)
index 396e733..5adc843
@@ -1952,3 +1952,29 @@ __argp_failure (const struct argp_state *state, int status, int errnum,
 #ifdef weak_alias
 weak_alias (__argp_failure, argp_failure)
 #endif
+
+
+ARGP_EI void
+__argp_usage (const struct argp_state *__state)
+{
+  __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE);
+}
+
+ARGP_EI int
+__NTH (__option_is_short (const struct argp_option *__opt))
+{
+  if (__opt->flags & OPTION_DOC)
+    return 0;
+  else
+    {
+      int __key = __opt->key;
+      return __key > 0 && __key <= UCHAR_MAX && isprint (__key);
+    }
+}
+
+ARGP_EI int
+__NTH (__option_is_end (const struct argp_option *__opt))
+{
+  return !__opt->key && !__opt->name && !__opt->doc && !__opt->group;
+}
+
old mode 100644 (file)
new mode 100755 (executable)
index 1c4e06f..091ef58
@@ -584,29 +584,13 @@ extern void *__argp_input (const struct argp *__restrict __argp,
 # endif
 
 ARGP_EI void
-__argp_usage (const struct argp_state *__state)
-{
-  __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE);
-}
+__argp_usage (const struct argp_state *__state);
 
 ARGP_EI int
-__NTH (__option_is_short (const struct argp_option *__opt))
-{
-  if (__opt->flags & OPTION_DOC)
-    return 0;
-  else
-    {
-      int __key = __opt->key;
-      return __key > 0 && __key <= UCHAR_MAX && isprint (__key);
-    }
-}
+__NTH (__option_is_short (const struct argp_option *__opt));
 
 ARGP_EI int
-__NTH (__option_is_end (const struct argp_option *__opt))
-{
-  return !__opt->key && !__opt->name && !__opt->doc && !__opt->group;
-}
-
+__NTH (__option_is_end (const struct argp_option *__opt));
 # if !_LIBC
 #  undef __argp_usage
 #  undef __argp_state_help
diff --git a/packaging/cpio.1 b/packaging/cpio.1
new file mode 100755 (executable)
index 0000000..8921863
--- /dev/null
@@ -0,0 +1,375 @@
+.TH CPIO 1L \" -*- nroff -*-
+.SH NAME
+cpio \- copy files to and from archives
+.SH SYNOPSIS
+\&\fBCopy-out mode\fR
+.PP
+In copy-out mode, cpio copies files into an archive.  It reads a list
+of filenames, one per line, on the standard input, and writes the
+archive onto the standard output.  A typical way to generate the list
+of filenames is with the find command; you should give find the \-depth
+option to minimize problems with permissions on directories that are
+unreadable.  see \*(L"Options\*(R".
+.PP
+.B cpio
+{\-o|\-\-create} [\-0acvABLV] [\-C bytes] [\-H format]
+[\-M message] [\-O [[user@]host:]archive] [\-F [[user@]host:]archive]
+[\-\-file=[[user@]host:]archive] [\-\-format=format]
+[\-\-message=message][\-\-null] [\-\-reset\-access\-time] [\-\-verbose]
+[\-\-dot] [\-\-append] [\-\-block\-size=blocks] [\-\-dereference]
+[\-\-io\-size=bytes] [\-\-rsh\-command=command] [\-\-help] [\-\-version]
+< name-list [> archive]
+.PP
+\&\fBCopy-in mode\fR
+.PP
+In copy-in mode, cpio copies files out of an archive or lists the
+archive contents.  It reads the archive from the standard input.  Any
+non-option command line arguments are shell globbing patterns; only
+files in the archive whose names match one or more of those patterns are
+copied from the archive.  Unlike in the shell, an initial `\fB.\fR' in a
+filename does match a wildcard at the start of a pattern, and a `\fB/\fR' in a
+filename can match wildcards.  If no patterns are given, all files are
+extracted.  see \*(L"Options\*(R".
+.PP
+.B cpio
+{\-i|\-\-extract} [\-bcdfmnrtsuvBSV] [\-C bytes] [\-E file]
+[\-H format] [\-M message] [\-R [user][:.][group]]
+[\-I [[user@]host:]archive] [\-F [[user@]host:]archive]
+[\-\-file=[[user@]host:]archive] [\-\-make\-directories]
+[\-\-nonmatching] [\-\-preserve\-modification\-time]
+[\-\-numeric\-uid\-gid] [\-\-rename] [\-\-list] [\-\-swap\-bytes] [\-\-swap]
+[\-\-dot] [\-\-unconditional] [\-\-verbose] [\-\-block\-size=blocks]
+[\-\-swap\-halfwords] [\-\-io\-size=bytes] [\-\-pattern\-file=file]
+[\-\-format=format] [\-\-owner=[user][:.][group]]
+[\-\-no\-preserve\-owner] [\-\-message=message] [\-\-help] [\-\-version]
+[\-\-absolute\-filenames] [\-\-sparse] [\-only\-verify\-crc] [\-quiet]
+[\-\-rsh\-command=command] [pattern...] [< archive]
+.PP
+\&\fBCopy-pass mode\fR
+.PP
+In copy-pass mode, cpio copies files from one directory tree to
+another, combining the copy-out and copy-in steps without actually
+using an archive.  It reads the list of files to copy from the standard
+input; the directory into which it will copy them is given as a
+non-option argument.  see \*(L"Options\*(R".
+.PP
+.B cpio
+{\-p|\-\-pass\-through} [\-0adlmuvLV] [\-R [user][:.][group]]
+[\-\-null] [\-\-reset\-access\-time] [\-\-make\-directories] [\-\-link]
+[\-\-preserve\-modification\-time] [\-\-unconditional] [\-\-verbose]
+[\-\-dot] [\-\-dereference] [\-\-owner=[user][:.][group]] [\-\-sparse]
+[\-\-no\-preserve\-owner] [\-\-help] [\-\-version] destination-directory
+< name-list
+.PP
+.SH DESCRIPTION
+GNU cpio is a tool for creating and extracting archives, or copying
+files from one place to another.  It handles a number of cpio formats as
+well as reading and writing tar files.
+.PP
+Following archive formats are supported: binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old
+ASCII, old tar, and POSIX.1 tar.  The tar format is provided for compatability with the tar program. By
+default, cpio creates binary format archives, for compatibility with older cpio programs.  When extracting
+from archives, cpio automatically recognizes which kind of archive it is reading and can read archives created
+on machines with a different byte-order.
+.PP
+.SH OPTIONS
+`\fB\-0, \-\-null\fR'
+Read a list of filenames terminated by a null character, instead
+of a newline, so that files whose names contain newlines can be
+archived.  \s-1GNU\s0 find is one way to produce a list of
+null-terminated filenames.  This option may be used in copy-out
+and copy-pass modes.
+.PP
+`\fB\-a, \-\-reset\-access\-time\fR'
+Reset the access times of files after reading them, so that it
+does not look like they have just been read.
+.PP
+`\fB\-A, \-\-append\fR'
+Append to an existing archive.  Only works in copy-out mode.  The
+archive must be a disk file specified with the \-O or \-F (\-file)
+option.
+.PP
+`\fB\-b, \-\-swap\fR'
+Swap both halfwords of words and bytes of halfwords in the data.
+Equivalent to \-sS.  This option may be used in copy-in mode.  Use
+this option to convert 32\-bit integers between big-endian and
+little-endian machines.
+.PP
+`\fB\-B\fR'
+Set the I/O block size to 5120 bytes.  Initially the block size is
+512 bytes.
+.PP
+`\fB\-\-block\-size=BLOCK\-SIZE\fR'
+Set the I/O block size to BLOCK-SIZE * 512 bytes.
+.PP
+`\fB\-c\fR'
+Identical to \*(L"\-H newc\*(R", use the new (\s-1SVR4\s0) portable format.
+If you wish the old portable (\s-1ASCII\s0) archive format, use \*(L"\-H odc\*(R" instead.
+.PP
+`\fB\-C \s-1IO\-SIZE\s0, \-\-io\-size=IO\-SIZE\fR'
+Set the I/O block size to IO-SIZE bytes.
+.PP
+`\fB\-d, \-\-make\-directories\fR'
+Create leading directories where needed.
+.PP
+`\fB\-E \s-1FILE\s0, \-\-pattern\-file=FILE\fR'
+Read additional patterns specifying filenames to extract or list
+from \s-1FILE\s0.  The lines of \s-1FILE\s0 are treated as if they had been
+non-option arguments to cpio.  This option is used in copy-in mode,
+.PP
+`\fB\-f, \-\-nonmatching\fR'
+Only copy files that do not match any of the given patterns.
+.PP
+`\fB\-F, \-\-file=archive\fR'
+Archive filename to use instead of standard input or output.  To
+use a tape drive on another machine as the archive, use a filename
+that starts with `\fB\s-1HOSTNAME:\s0\fR'.  The hostname can be preceded by a
+username and an `\fB@\fR' to access the remote tape drive as that user,
+if you have permission to do so (typically an entry in that user's
+`\fB~/.rhosts\fR' file).
+.PP
+`\fB\-\-force\-local\fR'
+With \-F, \-I, or \-O, take the archive file name to be a local file
+even if it contains a colon, which would ordinarily indicate a
+remote host name.
+.PP
+`\fB\-H \s-1FORMAT\s0, \-\-format=FORMAT\fR'
+Use archive format \s-1FORMAT\s0.  The valid formats are listed below;
+the same names are also recognized in all\-caps.  The default in
+copy-in mode is to automatically detect the archive format, and in
+copy-out mode is `\fBbin\fR'.
+.PP
+`\fBbin\fR'
+The obsolete binary format.
+.PP
+`\fBodc\fR'
+The old (\s-1POSIX\s0.1) portable format.
+.PP
+`\fBnewc\fR'
+The new (\s-1SVR4\s0) portable format, which supports file systems
+having more than 65536 i\-nodes.
+.PP
+`\fBcrc\fR'
+The new (\s-1SVR4\s0) portable format with a checksum added.
+.PP
+`\fBtar\fR'
+The old tar format.
+.PP
+`\fBustar\fR'
+The \s-1POSIX\s0.1 tar format.  Also recognizes \s-1GNU\s0 tar archives,
+which are similar but not identical.
+.PP
+`\fBhpbin\fR'
+The obsolete binary format used by \s-1HPUX\s0's cpio (which stores
+device files differently).
+.PP
+`\fBhpodc\fR'
+The portable format used by \s-1HPUX\s0's cpio (which stores device
+files differently).
+.PP
+`\fB\-i, \-\-extract\fR'
+Run in copy-in mode.  see \*(L"Copy\-in mode\*(R".
+.PP
+`\fB\-I archive\fR'
+Archive filename to use instead of standard input.  To use a tape
+drive on another machine as the archive, use a filename that
+starts with `\fB\s-1HOSTNAME:\s0\fR'.  The hostname can be preceded by a
+username and an `\fB@\fR' to access the remote tape drive as that user,
+if you have permission to do so (typically an entry in that user's
+`\fB~/.rhosts\fR' file).
+.PP
+`\fB\-k\fR'
+Ignored; for compatibility with other versions of cpio.
+.PP
+`\fB\-l, \-\-link\fR'
+Link files instead of copying them, when possible.
+.PP
+`\fB\-L, \-\-dereference\fR'
+Copy the file that a symbolic link points to, rather than the
+symbolic link itself.
+.PP
+`\fB\-m, \-\-preserve\-modification\-time\fR'
+Retain previous file modification times when creating files.
+.PP
+`\fB\-M \s-1MESSAGE\s0, \-\-message=MESSAGE\fR'
+Print \s-1MESSAGE\s0 when the end of a volume of the backup media (such
+as a tape or a floppy disk) is reached, to prompt the user to
+insert a new volume.  If \s-1MESSAGE\s0 contains the string \*(L"%d\*(R", it is
+replaced by the current volume number (starting at 1).
+.PP
+`\fB\-n, \-\-numeric\-uid\-gid\fR'
+Show numeric \s-1UID\s0 and \s-1GID\s0 instead of translating them into names
+when using the `\fB\-\-verbose option\fR'.
+.PP
+`\fB\-\-absolute\-filenames\fR'
+Do not strip leading file name components that contain \*(L"..\*(R"
+and leading slashes from file names in copy-in mode
+.PP
+`\fB\-\-no\-preserve\-owner\fR'
+Do not change the ownership of the files; leave them owned by the
+user extracting them.  This is the default for non-root users, so
+that users on System V don't inadvertantly give away files.  This
+option can be used in copy-in mode and copy-pass mode
+.PP
+`\fB\-o, \-\-create\fR'
+Run in copy-out mode.  see \*(L"Copy\-out mode\*(R".
+.PP
+`\fB\-O archive\fR'
+Archive filename to use instead of standard output.  To use a tape
+drive on another machine as the archive, use a filename that
+starts with `\fB\s-1HOSTNAME:\s0\fR'.  The hostname can be preceded by a
+username and an `\fB@\fR' to access the remote tape drive as that user,
+if you have permission to do so (typically an entry in that user's
+`\fB~/.rhosts\fR' file).
+.PP
+`\fB\-\-only\-verify\-crc\fR'
+Verify the \s-1CRC\s0's of each file in the archive, when reading a \s-1CRC\s0
+format archive. Don't actually extract the files.
+.PP
+`\fB\-p, \-\-pass\-through\fR'
+Run in copy-pass mode.  see \*(L"Copy\-pass mode\*(R".
+.PP
+`\fB\-\-quiet\fR'
+Do not print the number of blocks copied.
+.PP
+`\fB\-r, \-\-rename\fR'
+Interactively rename files.
+.PP
+`\fB\-R [user][:.][group], \-\-owner [user][:.][group]\fR'
+Set the ownership of all files created to the specified user and/or
+group in copy-out and copy-pass modes.  Either the user, the
+group, or both, must be present.  If the group is omitted but the
+\&\*(L":\*(R" or \*(L".\*(R"  separator is given, use the given user's login group.
+Only the super-user can change files' ownership.
+.PP
+`\fB\-\-rsh\-command=COMMAND\fR'
+Notifies cpio that is should use \s-1COMMAND\s0 to communicate with remote
+devices.
+.PP
+`\fB\-s, \-\-swap\-bytes\fR'
+Swap the bytes of each halfword (pair of bytes) in the files.This
+option can be used in copy-in mode.
+.PP
+`\fB\-S, \-\-swap\-halfwords\fR'
+Swap the halfwords of each word (4 bytes) in the files.  This
+option may be used in copy-in mode.
+.PP
+`\fB\-\-sparse\fR'
+Write files with large blocks of zeros as sparse files.  This
+option is used in copy-in and copy-pass modes.
+.PP
+`\fB\-t, \-\-list\fR'
+Print a table of contents of the input.
+.PP
+`\fB\-u, \-\-unconditional\fR'
+Replace all files, without asking whether to replace existing
+newer files with older files.
+.PP
+`\fB\-v, \-\-verbose\fR'
+List the files processed, or with `\fB\-t\fR', give an `\fBls \-l\fR' style
+table of contents listing.  In a verbose table of contents of a
+ustar archive, user and group names in the archive that do not
+exist on the local system are replaced by the names that
+correspond locally to the numeric \s-1UID\s0 and \s-1GID\s0 stored in the
+archive.
+.PP
+`\fB\-V \-\-dot\fR'
+Print a `\fB.\fR' for each file processed.
+.PP
+`\fB\-\-version\fR'
+Print the cpio program version number and exit.
+.PP
+.SH EXAMPLES
+When creating an archive, cpio takes the list of files to be
+processed from the standard input, and then sends the archive to the
+standard output, or to the device defined by the `\fB\-F\fR' option.
+Usually find or ls is used to provide this list to
+the standard input.  In the following example you can see the
+possibilities for archiving the contents of a single directory.
+.PP
+.B % ls | cpio \-ov > directory.cpio
+.PP
+The `\fB\-o\fR' option creates the archive, and the `\fB\-v\fR' option prints the
+names of the files archived as they are added.  Notice that the options
+can be put together after a single `\fB\-\fR' or can be placed separately on
+the command line.  The `\fB>\fR' redirects the cpio output to the file
+`\fBdirectory.cpio\fR'.
+.PP
+If you wanted to archive an entire directory tree, the find command
+can provide the file list to cpio:
+.PP
+.B % find . \-print \-depth | cpio \-ov > tree.cpio
+.PP
+This will take all the files in the current directory, the
+directories below and place them in the archive tree.cpio.  Again the
+`\fB\-o\fR' creates an archive, and the `\fB\-v\fR' option shows you the name of the
+files as they are archived.  see \*(L"Copy\-out mode\*(R".  Using the `\fB.\fR' in
+the find statement will give you more flexibility when doing restores,
+as it will save file names with a relative path vice a hard wired,
+absolute path.  The `\fB\-depth\fR' option forces `\fBfind\fR' to print of the
+entries in a directory before printing the directory itself.  This
+limits the effects of restrictive directory permissions by printing the
+directory entries in a directory before the directory name itself.
+.PP
+Extracting an archive requires a bit more thought because cpio will
+not create directories by default.  Another characteristic, is it will
+not overwrite existing files unless you tell it to.
+.PP
+.B % cpio \-iv < directory.cpio
+.PP
+This will retrieve the files archived in the file directory.cpio and
+place them in the present directory.  The `\fB\-i\fR' option extracts the
+archive and the `\fB\-v\fR' shows the file names as they are extracted.  If
+you are dealing with an archived directory tree, you need to use the
+`\fB\-d\fR' option to create directories as necessary, something like:
+.PP
+.B % cpio \-idv < tree.cpio
+.PP
+This will take the contents of the archive tree.cpio and extract it
+to the current directory.  If you try to extract the files on top of
+files of the same name that already exist (and have the same or later
+modification time) cpio will not extract the file unless told to do so
+by the \-u option.  see \*(L"Copy\-in mode\*(R".
+.PP
+In copy-pass mode, cpio copies files from one directory tree to
+another, combining the copy-out and copy-in steps without actually
+using an archive.  It reads the list of files to copy from the standard
+input; the directory into which it will copy them is given as a
+non-option argument.  see \*(L"Copy\-pass mode\*(R".
+.PP
+.B % find . \-depth \-print0 | cpio \-\-null \-pvd new-dir
+.PP
+The example shows copying the files of the present directory, and
+sub-directories to a new directory called new\-dir.  Some new options are
+the `\fB\-print0\fR' available with \s-1GNU\s0 find, combined with the `\fB\-\-null\fR'
+option of cpio.  These two options act together to send file names
+between find and cpio, even if special characters are embedded in the
+file names.  Another is `\fB\-p\fR', which tells cpio to pass the files it
+finds to the directory `\fBnew-dir\fR'.
+
+.SH BUGS
+The GNU folks, in general, abhor man pages, and create info documents instead.  The maintainer of
+.B cpio
+falls
+into  this  category.  Thus this man page may not be complete, nor current, and was included in the Red Hat
+CVS tree because man is a great tool :).
+.PP
+.SH REPORTING BUGS
+Please report bugs via https://bugzilla.redhat.com.
+.PP
+.SH SEE ALSO
+The full documentation for
+.B cpio
+is maintained as a Texinfo manual.  If the
+.B info
+and
+.B cpio
+programs are properly installed at your site, the command
+.IP
+.B info cpio
+.PP
+should give you access to the complete manual. The online copy of the documentation
+is available at the following address:
+.PP
+http://www.gnu.org/software/cpio/manual
+
index 017d22d..ede5999 100644 (file)
@@ -1,5 +1,11 @@
 <manifest>
- <request>
 <request>
     <domain name="_"/>
- </request>
+  </request>
+  <assign>
+    <filesystem path="/bin/*" label="_" exec_label="none" />
+    <filesystem path="/sbin/*" label="_" exec_label="none" />
+    <filesystem path="/usr/bin/*" label="_" exec_label="none" />
+    <filesystem path="/usr/sbin/*" label="_" exec_label="none" />
+  </assign>
 </manifest>
old mode 100644 (file)
new mode 100755 (executable)
index e6945c9..1a26ee7
@@ -1,12 +1,13 @@
 Name:           cpio
 Version:        2.8
 Release:        0
-License:        GPL-2.0
+License:        GPL-2.0+
 Summary:        A GNU archiving program
 Url:            http://www.gnu.org/software/cpio/
-Group:          Base/Tools
+Group:          Applications/Archiving
 Source0:        ftp://ftp.gnu.org/gnu/cpio/cpio-%{version}.tar.gz
-Source1001:    cpio.manifest
+Source1:        cpio.1
+Source1001:     cpio.manifest
 BuildRequires:  autoconf
 
 %description
@@ -25,10 +26,11 @@ Install cpio if you need a program to manage file archives.
 
 %prep
 %setup -q
-cp %{SOURCE1001} .
+
 
 
 %build
+cp %{SOURCE1001} .
 export ac_cv_prog_cc_c99=no
 %configure --disable-nls
 
@@ -37,14 +39,21 @@ make %{?_smp_mflags}
 %install
 %make_install
 mkdir -p %{buildroot}%{_mandir}/man1
+cp -a %{SOURCE1} %{buildroot}%{_mandir}/man1
 
-rm -rf %{buildroot}%{_prefix}/libexec/rmt
 
+mkdir -p %{buildroot}/bin
+rm -rf %{buildroot}%{_libexecdir}/rmt
+
+mkdir -p %{buildroot}%{_datadir}/license
+cat COPYING >> %{buildroot}%{_datadir}/license/%{name}
 
 %docs_package
 
 %files
-%manifest %{name}.manifest
-%license COPYING
+%manifest cpio.manifest
+%doc COPYING
+%{_datadir}/license/%{name}
 %{_bindir}/*
 
+