diff options
Diffstat (limited to 'archivers/gcpio/patches/patch-ah')
-rw-r--r-- | archivers/gcpio/patches/patch-ah | 62 |
1 files changed, 55 insertions, 7 deletions
diff --git a/archivers/gcpio/patches/patch-ah b/archivers/gcpio/patches/patch-ah index cb67fa554f9..2fcc8523bcb 100644 --- a/archivers/gcpio/patches/patch-ah +++ b/archivers/gcpio/patches/patch-ah @@ -1,16 +1,64 @@ -$NetBSD: patch-ah,v 1.1 2005/03/20 19:53:09 salo Exp $ +$NetBSD: patch-ah,v 1.2 2005/11/03 19:38:50 adrianp Exp $ ---- main.c.orig 2001-12-06 05:54:06.000000000 +0100 -+++ main.c 2005-03-20 20:34:33.000000000 +0100 -@@ -512,7 +512,6 @@ - char *argv[]; - { +--- src/main.c.orig 2005-11-03 19:08:15.000000000 +0000 ++++ src/main.c +@@ -41,6 +41,7 @@ + + enum cpio_options { + NO_ABSOLUTE_FILENAMES_OPTION=256, ++ ABSOLUTE_FILENAMES_OPTION, + NO_PRESERVE_OWNER_OPTION, + ONLY_VERIFY_CRC_OPTION, + RENAME_BATCH_FILE_OPTION, +@@ -134,6 +135,8 @@ static struct argp_option options[] = { + N_("In copy-in mode, read additional patterns specifying filenames to extract or list from FILE"), 210}, + {"no-absolute-filenames", NO_ABSOLUTE_FILENAMES_OPTION, 0, 0, + N_("Create all files relative to the current directory"), 210}, ++ {"absolute-filenames", ABSOLUTE_FILENAMES_OPTION, 0, 0, ++ N_("do not strip leading file name components that contain \"..\" and leading slashes from file names"), 210}, + {"only-verify-crc", ONLY_VERIFY_CRC_OPTION, 0, 0, + N_("When reading a CRC format archive in copy-in mode, only verify the CRC's of each file in the archive, don't actually extract the files"), 210}, + {"rename", 'r', 0, 0, +@@ -392,7 +395,11 @@ crc newc odc bin ustar tar (all-caps als + break; + + case NO_ABSOLUTE_FILENAMES_OPTION: /* --no-absolute-filenames */ +- no_abs_paths_flag = true; ++ abs_paths_flag = false; ++ break; ++ ++ case ABSOLUTE_FILENAMES_OPTION: /* --absolute-filenames */ ++ abs_paths_flag = true; + break; + + case NO_PRESERVE_OWNER_OPTION: /* --no-preserve-owner */ +@@ -631,7 +638,7 @@ process_args (int argc, char *argv[]) + _("--append is used but no archive file name is given (use -F or -O options"))); + + CHECK_USAGE(rename_batch_file, "--rename-batch-file", "--create"); +- CHECK_USAGE(no_abs_paths_flag, "--no-absolute-pathnames", "--create"); ++ CHECK_USAGE(abs_paths_flag, "--absolute-pathnames", "--create"); + CHECK_USAGE(input_archive_name, "-I", "--create"); + if (archive_name && output_archive_name) + USAGE_ERROR ((0, 0, _("Both -O and -F are used in copy-out mode"))); +@@ -658,7 +665,7 @@ process_args (int argc, char *argv[]) + CHECK_USAGE(rename_flag, "--rename", "--pass-through"); + CHECK_USAGE(append_flag, "--append", "--pass-through"); + CHECK_USAGE(rename_batch_file, "--rename-batch-file", "--pass-through"); +- CHECK_USAGE(no_abs_paths_flag, "--no-absolute-pathnames", ++ CHECK_USAGE(abs_paths_flag, "--absolute-pathnames", + "--pass-through"); + CHECK_USAGE(to_stdout_option, "--to-stdout", "--pass-through"); + +@@ -740,7 +747,6 @@ main (int argc, char *argv[]) + textdomain (PACKAGE); + program_name = argv[0]; - umask (0); #ifdef __TURBOC__ _fmode = O_BINARY; /* Put stdin and stdout in binary mode. */ -@@ -523,6 +522,7 @@ +@@ -751,6 +757,7 @@ main (int argc, char *argv[]) #endif process_args (argc, argv); |