]> git.donarmstrong.com Git - ca-certificates.git/blobdiff - sbin/update-ca-certificates
Broken symlinks on upgrade due to plain c_rehash call #643667
[ca-certificates.git] / sbin / update-ca-certificates
index a34ef75b0ce8a15ee81f61c3773587dca523d9fa..53759501cfcf738992e10b2ad075962cc50e2b6a 100755 (executable)
@@ -17,7 +17,8 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1301,
+# USA.
 #
 
 verbose=0
@@ -126,8 +127,7 @@ then
   done
 fi
 
-chmod 0644 "$TEMPBUNDLE"
-mv -f "$TEMPBUNDLE" "$CERTBUNDLE"
+rm -f "$CERTBUNDLE"
 
 ADDED_CNT=$(wc -l < "$ADDED")
 REMOVED_CNT=$(wc -l < "$REMOVED")
@@ -137,19 +137,22 @@ then
   # only run if set of files has changed
   if [ "$verbose" = 0 ]
   then
-    c_rehash . > /dev/null 2>&1
+    c_rehash . > /dev/null
   else
     c_rehash .
   fi
 fi
 
+chmod 0644 "$TEMPBUNDLE"
+mv -f "$TEMPBUNDLE" "$CERTBUNDLE"
+
 echo "$ADDED_CNT added, $REMOVED_CNT removed; done."
 
 HOOKSDIR=/etc/ca-certificates/update.d
 echo -n "Running hooks in $HOOKSDIR...."
 VERBOSE_ARG=
 [ "$verbose" = 0 ] || VERBOSE_ARG=--verbose
-eval run-parts $VERB_ARG --test -- $HOOKSDIR | while read hook
+eval run-parts $VERBOSE_ARG --test -- $HOOKSDIR | while read hook
 do
   ( cat $ADDED
     cat $REMOVED ) | $hook || echo E: $hook exited with code $?.