Browse Source

debian: Quiesce tar warnings in cron job by redirecting stderr to /dev/null

It seems that --warning=none does not completely quiesce GNU tar
(see #749307), so unfortunately we have to end up using more drastic
measures, by ignoring all of stderr for now.

Closes: #748544
Guillem Jover 10 years ago
parent
commit
7ed4d81300
2 changed files with 6 additions and 2 deletions
  1. 2 0
      debian/changelog
  2. 4 2
      debian/dpkg.cron.daily

+ 2 - 0
debian/changelog

@@ -46,6 +46,8 @@ dpkg (1.17.10) UNRELEASED; urgency=low
       Dpkg::Deps::AND and Dpkg::Deps::OR.
   * Do not mangle quilt series files with a missing newline on the last line.
     Closes: #584233
+  * Quiesce tar warnings in cron job by redirecting stderr to /dev/null, as
+    it seems --warning=none does not work correctly. Closes: #748544
 
   [ Updated programs translations ]
   * Catalan (Guillem Jover).

+ 4 - 2
debian/dpkg.cron.daily

@@ -36,10 +36,12 @@ if cd /var/backups ; then
         gzip -9 $dbfile
     done
 
+    # XXX: Ideally we'd use --warning=none instead of discarding stderr, but
+    # as of GNU tar 1.27.1, it does not seem to work reliably (see #749307).
     if ! test -e ${dbalt}.tar.0 ||
-       ! tar -df ${dbalt}.tar.0 --warning=none -C $dbdir $dbalt >/dev/null ;
+       ! tar -df ${dbalt}.tar.0 -C $dbdir $dbalt >/dev/null 2>&1 ;
     then
-        tar -cf ${dbalt}.tar --warning=none -C $dbdir $dbalt
+        tar -cf ${dbalt}.tar -C $dbdir $dbalt >/dev/null 2>&1
         savelog -c 7 ${dbalt}.tar >/dev/null
     fi
 fi