X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=tools%2Fc_rehash.in;h=e65822203dba36bb8fbe68ed01404f45df11830f;hb=141ecc4e55c944a470aeef3b7713296be84da477;hp=6c2ff065d1b54ede33a884458667229d7b9336a1;hpb=ff2f6bb0845ef859954f7c36b2b302c60088c4c7;p=oweals%2Fopenssl.git diff --git a/tools/c_rehash.in b/tools/c_rehash.in index 6c2ff065d1..e65822203d 100644 --- a/tools/c_rehash.in +++ b/tools/c_rehash.in @@ -1,11 +1,20 @@ -#!/usr/local/bin/perl +#!{- $config{hashbangperl} -} + +# {- join("\n# ", @autowarntext) -} +# Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html # Perl c_rehash script, scan all files in a directory # and add symbolic links to their hash values. -my $dir; -my $prefix; +my $dir = {- quotify1($config{openssldir}) -}; +my $prefix = {- quotify1($config{prefix}) -}; +my $errorcount = 0; my $openssl = $ENV{OPENSSL} || "openssl"; my $pwd; my $x509hash = "-subject_hash"; @@ -21,7 +30,7 @@ while ( $ARGV[0] =~ /^-/ ) { if ( $flag eq '-old') { $x509hash = "-subject_hash_old"; $crlhash = "-hash_old"; - } elsif ( $flag eq '-h') { + } elsif ( $flag eq '-h' || $flag eq '-help' ) { help(); } elsif ( $flag eq '-n' ) { $removelinks = 0; @@ -29,15 +38,15 @@ while ( $ARGV[0] =~ /^-/ ) { $verbose++; } else { - print STDERR "Usage error; try -help.\n"; + print STDERR "Usage error; try -h.\n"; exit 1; } } sub help { - print "Usage: c_rehash [-old] [-h] [-v] [dirs...]\n"; + print "Usage: c_rehash [-old] [-h] [-help] [-v] [dirs...]\n"; print " -old use old-style digest\n"; - print " -h print this help text\n"; + print " -h or -help print this help text\n"; print " -v print files removed and linked\n"; exit 0; } @@ -89,16 +98,18 @@ foreach (@dirlist) { hash_dir($_); } else { print "Skipping $_, can't write\n"; + $errorcount++; } } } +exit($errorcount); sub hash_dir { my %hashlist; print "Doing $_[0]\n"; chdir $_[0]; opendir(DIR, "."); - my @flist = readdir(DIR); + my @flist = sort readdir(DIR); closedir DIR; if ( $removelinks ) { # Delete any existing symbolic links