- Timestamp:
- 2018-09-17T16:09:44+12:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/cpan/compile-zerossl.sh
r32461 r32462 1 # A basic cascade-make to install the Crypt::LE perl package required for ZeroSSL, used to get an https certificate on Mac 1 ################################################### 2 # A basic cascade-make to install the Crypt::LE perl package required for ZeroSSL, to be used to get an https certificate on Mac 3 # 4 # Crypt::LE depends on the following packages: 5 # - Crypt::OpenSSL::Bignum, which needs openssl/err.h 6 # for which we need to set C_INCLUDE_PATH=$GSDL3SRCHOME/bin/darwin/openssl/include 7 # see https://www.perlmonks.org/?node_id=1181472 8 # "If includes arent in default compiler findable directories, let the user add any extra directories, like he is supposed to 9 # http://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html like C_INCLUDE_PATH/LIBRARY_PATH... " 10 # - JSON::MaybeXS, which depends on 11 # - JSON::PP 12 # - Time::Piece 13 # - HTTP::Tiny 14 # - Module::Load 15 # - Log::Log4perl 16 # 17 # 18 # Compiling AND INSTALLING of all packages takes place in the temporary cpan/tmp folder. A select subset of the compiled/installed 19 # products are then copied into their final destinations: 20 # - For regular packages, need to put the relevant products (the package folder inside the lib folder) into cpan, maintaining any 21 # existing folder structure. 22 # - However, for all packages that contain .bundle (mac, or .so for linux) and .xs or .bs bootstrap files, need to put the relevant 23 # products (both the "auto" and package folder inside the lib folder) into cpan/perl-<version> (perl-5.18). 24 # In this case, both Crypt::OpenSSL and Time::Piece once compiled up require this second treatment. 25 # 26 # Compiling as well as RUNNING the final Crypt::LE's le.pl executable requires PERL5LIB to have both the cpan and its perl-5.18 27 # subdirectory included in env var PERL5LIB. 28 # 29 ################################################### 2 30 3 31 if [ "x$1" = "x--help" ] || [ "x$1" = "x-h" ]; then … … 34 62 35 63 WGET_FLAGS=--no-check-certificate 36 T MPDIR=$CPAN_DIR/tmp64 TEMP_DIR=$CPAN_DIR/tmp 37 65 38 66 OLD_C_INCLUDE_PATH=$C_INCLUDE_PATH … … 44 72 mv JSON/PP.old JSON/PP 45 73 mv JSON/PP.pm_old JSON/PP.pm 46 rm -rf $T MPDIR74 rm -rf $TEMP_DIR 47 75 echo "Done cleaning Crypt::LE related packages" 48 76 exit 0 49 77 fi 50 78 51 mkdir -p $T MPDIR52 # We'll download, unpack and compile (Makefile.PL, make and make install) packages into T MPDIR79 mkdir -p $TEMP_DIR 80 # We'll download, unpack and compile (Makefile.PL, make and make install) packages into TEMP_DIR 53 81 # before copying the necessary components to their final locations 54 cd $T MPDIR82 cd $TEMP_DIR 55 83 56 84 … … 67 95 export C_INCLUDE_PATH=$GSDL3SRCHOME/bin/darwin/openssl/include 68 96 cd $CRYPT_OPENSSL_BIGNUM_VER 69 perl Makefile.PL PREFIX=$T MPDIR/$CRYPT_OPENSSL_BIGNUM70 make 71 make install 72 #cp -r $T MPDIR/$CRYPT_OPENSSL_BIGNUM/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/Crypt/OpenSSL $CPAN_DIR/Crypt/.73 cp -r $T MPDIR/Crypt-OpenSSL-Bignum/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/Crypt $CPAN_DIR/perl-5.18/.74 cp -r $T MPDIR/Crypt-OpenSSL-Bignum/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/auto/Crypt $CPAN_DIR/perl-5.18/auto/.97 perl Makefile.PL PREFIX=$TEMP_DIR/$CRYPT_OPENSSL_BIGNUM 98 make 99 make install 100 #cp -r $TEMP_DIR/$CRYPT_OPENSSL_BIGNUM/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/Crypt/OpenSSL $CPAN_DIR/Crypt/. 101 cp -r $TEMP_DIR/Crypt-OpenSSL-Bignum/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/Crypt $CPAN_DIR/perl-5.18/. 102 cp -r $TEMP_DIR/Crypt-OpenSSL-Bignum/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/auto/Crypt $CPAN_DIR/perl-5.18/auto/. 75 103 76 104 C_INCLUDE_PATH= 77 cd $T MPDIR105 cd $TEMP_DIR 78 106 else 79 107 echo "*** $CPAN_DIR/Crypt/OpenSSL/Bignum already exists, not installing" … … 95 123 96 124 cd $JSON_PP_VER 97 perl Makefile.PL PREFIX=$T MPDIR/$JSON_PP98 make 99 make install 100 cp -r $T MPDIR/$JSON_PP/lib/perl5/site_perl/JSON/* JSON $CPAN_DIR/JSON/.101 102 cd $T MPDIR125 perl Makefile.PL PREFIX=$TEMP_DIR/$JSON_PP 126 make 127 make install 128 cp -r $TEMP_DIR/$JSON_PP/lib/perl5/site_perl/JSON/* JSON $CPAN_DIR/JSON/. 129 130 cd $TEMP_DIR 103 131 else 104 132 echo "*** The new $CPAN_DIR/JSON/PP.pm already exists, not installing" … … 116 144 117 145 cd $JSON_MAYBEXS_VER 118 perl Makefile.PL PREFIX=$T MPDIR/$JSON_MAYBEXS119 make 120 make install 121 cp $T MPDIR/$JSON_MAYBEXS/lib/perl5/site_perl/JSON/MaybeXS.pm $CPAN_DIR/JSON/.122 123 cd $T MPDIR146 perl Makefile.PL PREFIX=$TEMP_DIR/$JSON_MAYBEXS 147 make 148 make install 149 cp $TEMP_DIR/$JSON_MAYBEXS/lib/perl5/site_perl/JSON/MaybeXS.pm $CPAN_DIR/JSON/. 150 151 cd $TEMP_DIR 124 152 else 125 153 echo "*** $CPAN_DIR/JSON/MaybeXS.pm already exists, not installing" … … 137 165 138 166 cd $LOG4PERL_VER 139 perl Makefile.PL PREFIX=$T MPDIR/$LOG4PERL140 make 141 make install 142 cp -r $T MPDIR/$LOG4PERL/lib/perl5/site_perl/Log $CPAN_DIR/.143 144 cd $T MPDIR167 perl Makefile.PL PREFIX=$TEMP_DIR/$LOG4PERL 168 make 169 make install 170 cp -r $TEMP_DIR/$LOG4PERL/lib/perl5/site_perl/Log $CPAN_DIR/. 171 172 cd $TEMP_DIR 145 173 else 146 174 echo "*** $CPAN_DIR/Log/Log4Perl already exists, not installing" … … 157 185 158 186 cd $HTTP_TINY_VER 159 perl Makefile.PL PREFIX=$T MPDIR/$HTTP_TINY160 make 161 make install 162 163 cp -r $T MPDIR/$HTTP_TINY/lib/perl5/site_perl/HTTP/* $CPAN_DIR/HTTP/.164 165 cd $T MPDIR187 perl Makefile.PL PREFIX=$TEMP_DIR/$HTTP_TINY 188 make 189 make install 190 191 cp -r $TEMP_DIR/$HTTP_TINY/lib/perl5/site_perl/HTTP/* $CPAN_DIR/HTTP/. 192 193 cd $TEMP_DIR 166 194 else 167 195 echo "*** $CPAN_DIR/$HTTP_TINY already exists, not installing" … … 179 207 180 208 cd $MODULE_LOAD_VER 181 perl Makefile.PL PREFIX=$T MPDIR/$MODULE_LOAD182 make 183 make install 184 cp -r $T MPDIR/$MODULE_LOAD/lib/perl5/site_perl/Module $CPAN_DIR/.185 186 cd $T MPDIR209 perl Makefile.PL PREFIX=$TEMP_DIR/$MODULE_LOAD 210 make 211 make install 212 cp -r $TEMP_DIR/$MODULE_LOAD/lib/perl5/site_perl/Module $CPAN_DIR/. 213 214 cd $TEMP_DIR 187 215 else 188 216 echo "*** $CPAN_DIR/$MODULE_LOAD already exists, not installing" … … 200 228 201 229 cd $TIME_PIECE_VER 202 perl Makefile.PL PREFIX=$T MPDIR/$TIME_PIECE203 make 204 make install 205 206 #cp -r $T MPDIR/$TIME_PIECE/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/Time $CPAN_DIR/.207 cp -r $T MPDIR/$TIME_PIECE/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/Time $CPAN_DIR/perl-5.18208 cp -r $T MPDIR/$TIME_PIECE/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/auto/Time $CPAN_DIR/perl-5.18/auto/.209 210 cd $T MPDIR230 perl Makefile.PL PREFIX=$TEMP_DIR/$TIME_PIECE 231 make 232 make install 233 234 #cp -r $TEMP_DIR/$TIME_PIECE/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/Time $CPAN_DIR/. 235 cp -r $TEMP_DIR/$TIME_PIECE/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/Time $CPAN_DIR/perl-5.18 236 cp -r $TEMP_DIR/$TIME_PIECE/lib/perl5/site_perl/5.18.2/darwin-thread-multi-2level/auto/Time $CPAN_DIR/perl-5.18/auto/. 237 238 cd $TEMP_DIR 211 239 else 212 240 echo "*** $CPAN_DIR/$TIME_PIECE already exists, not installing" … … 226 254 227 255 cd $CRYPT_LE_VER 228 perl Makefile.PL PREFIX=$T MPDIR/$CRYPT_LE229 make 230 make install 231 232 cp -r $T MPDIR/$CRYPT_LE/lib/perl5/site_perl/Crypt/* $CPAN_DIR/Crypt/.256 perl Makefile.PL PREFIX=$TEMP_DIR/$CRYPT_LE 257 make 258 make install 259 260 cp -r $TEMP_DIR/$CRYPT_LE/lib/perl5/site_perl/Crypt/* $CPAN_DIR/Crypt/. 233 261 # the most important step: we need the le.pl binary 234 cp -r $T MPDIR/$CRYPT_LE/bin $CPAN_DIR/Crypt/LE/.262 cp -r $TEMP_DIR/$CRYPT_LE/bin $CPAN_DIR/Crypt/LE/. 235 263 236 264 cd $CPAN_DIR … … 248 276 rm -rf tmp 249 277 else 250 echo " Not deleting the $T MPDIR"278 echo " Not deleting the $TEMP_DIR" 251 279 fi 252 280
Note:
See TracChangeset
for help on using the changeset viewer.