tar: silence gcc warnings
Version: 2:1.26-22
This commit is contained in:
parent
bd10313616
commit
209ec507af
230
tar-1.26-silence-gcc.patch
Normal file
230
tar-1.26-silence-gcc.patch
Normal file
@ -0,0 +1,230 @@
|
||||
diff --git a/lib/rmt.h b/lib/rmt.h
|
||||
index 2ce9dc5..4580e49 100644
|
||||
--- a/lib/rmt.h
|
||||
+++ b/lib/rmt.h
|
||||
@@ -17,8 +17,9 @@
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
-extern char *rmt_command;
|
||||
-extern char *rmt_dev_name__;
|
||||
+/* upstream fix 0b3d84a0ee */
|
||||
+extern char const *rmt_command;
|
||||
+extern char const *rmt_dev_name__;
|
||||
|
||||
int rmt_open__ (const char *, int, int, const char *);
|
||||
int rmt_close__ (int);
|
||||
diff --git a/lib/rtapelib.c b/lib/rtapelib.c
|
||||
index 3aee428..1cef0fc 100644
|
||||
--- a/lib/rtapelib.c
|
||||
+++ b/lib/rtapelib.c
|
||||
@@ -90,10 +90,10 @@ static int from_remote[MAXUNIT][2] = {{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}};
|
||||
/* The pipes for sending data to remote tape drives. */
|
||||
static int to_remote[MAXUNIT][2] = {{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}};
|
||||
|
||||
-char *rmt_command = DEFAULT_RMT_COMMAND;
|
||||
+char const *rmt_command = DEFAULT_RMT_COMMAND; /* upstream fix 0b3d84a0ee */
|
||||
|
||||
/* Temporary variable used by macros in rmt.h. */
|
||||
-char *rmt_dev_name__;
|
||||
+char const *rmt_dev_name__; /* upstream fix 0b3d84a0ee */
|
||||
|
||||
/* If true, always consider file names to be local, even if they contain
|
||||
colons */
|
||||
@@ -490,15 +490,17 @@ rmt_open__ (const char *file_name, int open_mode, int bias,
|
||||
{
|
||||
/* Child. */
|
||||
|
||||
- close (STDIN_FILENO);
|
||||
- dup (to_remote[remote_pipe_number][PREAD]);
|
||||
- close (to_remote[remote_pipe_number][PREAD]);
|
||||
- close (to_remote[remote_pipe_number][PWRITE]);
|
||||
-
|
||||
- close (STDOUT_FILENO);
|
||||
- dup (from_remote[remote_pipe_number][PWRITE]);
|
||||
- close (from_remote[remote_pipe_number][PREAD]);
|
||||
- close (from_remote[remote_pipe_number][PWRITE]);
|
||||
+ /* upstream fix 0b3d84a0ee */
|
||||
+ if (dup2 (to_remote[remote_pipe_number][PREAD], STDIN_FILENO) < 0
|
||||
+ || (to_remote[remote_pipe_number][PREAD] != STDIN_FILENO
|
||||
+ && close (to_remote[remote_pipe_number][PREAD]) != 0)
|
||||
+ || (to_remote[remote_pipe_number][PWRITE] != STDIN_FILENO
|
||||
+ && close (to_remote[remote_pipe_number][PWRITE]) != 0)
|
||||
+ || dup2 (from_remote[remote_pipe_number][PWRITE], STDOUT_FILENO) < 0
|
||||
+ || close (from_remote[remote_pipe_number][PREAD]) != 0
|
||||
+ || close (from_remote[remote_pipe_number][PWRITE]) != 0)
|
||||
+ error (EXIT_ON_EXEC_ERROR, errno,
|
||||
+ _("Cannot redirect files for remote shell"));
|
||||
|
||||
sys_reset_uid_gid ();
|
||||
|
||||
diff --git a/lib/system.h b/lib/system.h
|
||||
index 2deb585..599d4ba 100644
|
||||
--- a/lib/system.h
|
||||
+++ b/lib/system.h
|
||||
@@ -471,8 +471,13 @@ char *getenv ();
|
||||
# define SET_BINARY_MODE(arc)
|
||||
# define ERRNO_IS_EACCES 0
|
||||
# define TTY_NAME "/dev/tty"
|
||||
-# define sys_reset_uid_gid() \
|
||||
- do { setuid (getuid ()); setgid (getgid ()); } while (0)
|
||||
+
|
||||
+/* upstream fix 0b3d84a0ee */
|
||||
+# define sys_reset_uid_gid() \
|
||||
+ do { \
|
||||
+ if (! (setuid (getuid ()) == 0 && setgid (getgid ()) == 0)) \
|
||||
+ abort (); \
|
||||
+ } while (0)
|
||||
#endif
|
||||
|
||||
#if XENIX
|
||||
diff --git a/lib/wordsplit.c b/lib/wordsplit.c
|
||||
index bd5d59d..5f555ea 100644
|
||||
--- a/lib/wordsplit.c
|
||||
+++ b/lib/wordsplit.c
|
||||
@@ -796,6 +796,8 @@ expvar (struct wordsplit *wsp, const char *str, size_t len,
|
||||
value = "";
|
||||
}
|
||||
/* FIXME: handle defstr */
|
||||
+ (void) defstr; /* upstream commit 17f99bc6f1 */
|
||||
+
|
||||
if (value)
|
||||
{
|
||||
if (flg & _WSNF_QUOTE)
|
||||
diff --git a/src/compare.c b/src/compare.c
|
||||
index 273269a..796d7aa 100644
|
||||
--- a/src/compare.c
|
||||
+++ b/src/compare.c
|
||||
@@ -362,7 +362,7 @@ static void
|
||||
diff_dumpdir (void)
|
||||
{
|
||||
const char *dumpdir_buffer;
|
||||
- dev_t dev = 0;
|
||||
+ /* upstream fix 5bb04335079 */
|
||||
struct stat stat_data;
|
||||
|
||||
if (deref_stat (current_stat_info.file_name, &stat_data) != 0)
|
||||
@@ -372,8 +372,7 @@ diff_dumpdir (void)
|
||||
else
|
||||
stat_error (current_stat_info.file_name);
|
||||
}
|
||||
- else
|
||||
- dev = stat_data.st_dev;
|
||||
+ /* upstream fix 5bb04335079 */
|
||||
|
||||
dumpdir_buffer = directory_contents (scan_directory (¤t_stat_info));
|
||||
|
||||
diff --git a/src/system.c b/src/system.c
|
||||
index a27a7de..2049240 100644
|
||||
--- a/src/system.c
|
||||
+++ b/src/system.c
|
||||
@@ -25,7 +25,7 @@
|
||||
#include <signal.h>
|
||||
#include <wordsplit.h>
|
||||
|
||||
-static void
|
||||
+static void __attribute__ ((__noreturn__)) /* upstream (similar) fix in 17f99bc6f1405 */
|
||||
xexec (const char *cmd)
|
||||
{
|
||||
struct wordsplit ws;
|
||||
@@ -745,8 +745,7 @@ int
|
||||
sys_exec_command (char *file_name, int typechar, struct tar_stat_info *st)
|
||||
{
|
||||
int p[2];
|
||||
- char *argv[4];
|
||||
-
|
||||
+
|
||||
xpipe (p);
|
||||
pipe_handler = signal (SIGPIPE, SIG_IGN);
|
||||
global_pid = xfork ();
|
||||
@@ -806,7 +805,6 @@ int
|
||||
sys_exec_info_script (const char **archive_name, int volume_number)
|
||||
{
|
||||
pid_t pid;
|
||||
- char *argv[4];
|
||||
char uintbuf[UINTMAX_STRSIZE_BOUND];
|
||||
int p[2];
|
||||
static RETSIGTYPE (*saved_handler) (int sig);
|
||||
@@ -881,7 +879,7 @@ sys_exec_checkpoint_script (const char *script_name,
|
||||
int checkpoint_number)
|
||||
{
|
||||
pid_t pid;
|
||||
- char *argv[4];
|
||||
+ /* upstream commit 17f99bc6f */
|
||||
char uintbuf[UINTMAX_STRSIZE_BOUND];
|
||||
|
||||
pid = xfork ();
|
||||
@@ -912,10 +910,7 @@ sys_exec_checkpoint_script (const char *script_name,
|
||||
setenv ("TAR_FORMAT",
|
||||
archive_format_string (current_format == DEFAULT_FORMAT ?
|
||||
archive_format : current_format), 1);
|
||||
- argv[0] = "/bin/sh";
|
||||
- argv[1] = "-c";
|
||||
- argv[2] = (char *) script_name;
|
||||
- argv[3] = NULL;
|
||||
+ /* upstream commit 17f99bc6f */
|
||||
|
||||
priv_set_restore_linkdir ();
|
||||
xexec (script_name);
|
||||
diff --git a/src/update.c b/src/update.c
|
||||
index 4739e0d..3b28734 100644
|
||||
--- a/src/update.c
|
||||
+++ b/src/update.c
|
||||
@@ -145,7 +145,7 @@ update_archive (void)
|
||||
if (S_ISDIR (s.st_mode))
|
||||
{
|
||||
char *p, *dirp;
|
||||
- DIR *stream;
|
||||
+ DIR *stream = NULL; /* upstream commit 5bb043350790 */
|
||||
int fd = openat (chdir_fd, name->name,
|
||||
open_read_flags | O_DIRECTORY);
|
||||
if (fd < 0)
|
||||
diff --git a/tests/genfile.c b/tests/genfile.c
|
||||
index 8541be6..fa480ef 100644
|
||||
--- a/tests/genfile.c
|
||||
+++ b/tests/genfile.c
|
||||
@@ -485,9 +485,11 @@ generate_files_from_list ()
|
||||
static void
|
||||
mkhole (int fd, off_t displ)
|
||||
{
|
||||
- if (lseek (fd, displ, SEEK_CUR) == -1)
|
||||
+ off_t offset = lseek (fd, displ, SEEK_CUR);
|
||||
+ if (offset < 0)
|
||||
error (EXIT_FAILURE, errno, "lseek");
|
||||
- ftruncate (fd, lseek (fd, 0, SEEK_CUR));
|
||||
+ if (ftruncate (fd, offset) != 0)
|
||||
+ error (EXIT_FAILURE, errno, "ftruncate");
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -685,13 +687,18 @@ exec_checkpoint (struct action *p)
|
||||
error (0, errno, _("cannot open `%s'"), p->name);
|
||||
break;
|
||||
}
|
||||
- ftruncate (fd, p->size);
|
||||
+ if (ftruncate (fd, p->size) != 0)
|
||||
+ {
|
||||
+ error (0, errno, _("cannot truncate `%s'"), p->name);
|
||||
+ break;
|
||||
+ }
|
||||
close (fd);
|
||||
}
|
||||
break;
|
||||
|
||||
case OPT_EXEC:
|
||||
- system (p->name);
|
||||
+ if (system (p->name) != 0)
|
||||
+ error (0, 0, _("command failed: %s"), p->name);
|
||||
break;
|
||||
|
||||
case OPT_UNLINK:
|
||||
@@ -761,7 +768,8 @@ exec_command (void)
|
||||
signal (SIGCHLD, SIG_DFL);
|
||||
#endif
|
||||
|
||||
- pipe (fd);
|
||||
+ if (pipe (fd) != 0)
|
||||
+ error (EXIT_FAILURE, errno, "pipe");
|
||||
|
||||
pid = fork ();
|
||||
if (pid == -1)
|
7
tar.spec
7
tar.spec
@ -98,6 +98,11 @@ Patch14: tar-1.26-command-args.patch
|
||||
# ~> #926610 (downstream)
|
||||
Patch15: tar-1.26-arm-config-sub-guess.patch
|
||||
|
||||
# Silence gcc warnings
|
||||
# ~> upstream tar: 17f99bc6f, 5bb0433
|
||||
# ~> upstream paxutils: 0b3d84a0
|
||||
Patch999: tar-1.26-silence-gcc.patch
|
||||
|
||||
# run "make check" by default
|
||||
%bcond_without check
|
||||
|
||||
@ -146,6 +151,7 @@ the rmt package.
|
||||
%patch13 -p1 -b .extract-single-volume
|
||||
%patch14 -p1 -b .command-args
|
||||
%patch15 -p1 -b .arm-config-guess-sub
|
||||
%patch999 -p1 -b .silence-gcc
|
||||
|
||||
autoreconf -v
|
||||
|
||||
@ -205,6 +211,7 @@ fi
|
||||
* Tue Mar 26 2013 Pavel Raiskup <praiskup@redhat.com> - 2:1.26-22
|
||||
- enable build for arm64 (#926610)
|
||||
- fix the NAME part in manual page (copied from texinfo)
|
||||
- silence gcc warnings (lint fixes without risk from upstream) for RPMDiff
|
||||
|
||||
* Tue Mar 19 2013 Pavel Raiskup <praiskup@redhat.com> - 2:1.26-21
|
||||
- allow extracting single volume from multi-volume archive (#919897)
|
||||
|
Loading…
Reference in New Issue
Block a user