From e8252be89d90f48549c48c30ecc3dcada4cf4fc3 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 30 Mar 2019 20:54:35 +0100 Subject: [PATCH 01/15] Add perl-5.28.1 Created with cp perl-5.26.2-1.build.sh perl-5.28.1-0.build.sh and fixing version and build number. --- perl-5.28.1-0.build.sh | 576 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 576 insertions(+) create mode 100755 perl-5.28.1-0.build.sh diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh new file mode 100755 index 0000000..30f1372 --- /dev/null +++ b/perl-5.28.1-0.build.sh @@ -0,0 +1,576 @@ +#! /bin/sh +set -xe + +PKG=perl +VERSION=5.28.1 +BUILD=0 + +PREFIX=/pkg/$PKG-$VERSION-$BUILD +# PREFIX=/dev/shm/$PKG-$VERSION-$BUILD + +if false; then + # force complete rebuild, but keep downloads + cd $PREFIX + # sanity check before we go berserk + test -e build/perl-$VERSION.tar.gz || exit 1 + find . -maxdepth 1 -not -name . -not -name build -exec rm -rf {} \; + find build -maxdepth 1 -not -name build -not -name "*.tar*" -exec rm -rf {} \; +fi + +mkdir -p $PREFIX +cat >$PREFIX/profile <<-EOF + PATH=$PREFIX/bin:\$PATH +EOF +. $PREFIX/profile + +# Some cpan mopdule tests fail when build directory is on +# nfs, because they try to remove directories with unlinked +# but opened files in it. +# Additionally we want a clean envirnoment and a local cpan scratch +# +HOME=/dev/shm/$PKG-$VERSION-$BUILD.build.home.tmp +mkdir -p $HOME + +exec &2 + exit 1 +fi + +# If you hit errors and want to rerun from where you failed, +# use "if false","fi" to avoid rebuilding everything before +# the error. +# +# A good point to place the "if false" is here. +# +# Just uncomment and move the "fi" line to where +# you want to restart. +# +#if false; then ######################################################### DEBUG +#fi ######################################################### DEBUG + +mkdir -p $PREFIX/build +cd $PREFIX/build + +# The problem with a git checkout is, that the perl build system does many things +# differentily when is sees .git - e.g. run additional developer checks. +#test -d perl || git clone https://perl5.git.perl.org/perl.git +#cd perl +#git checkout "v$VERSION" ; git reset --hard + +test -e perl-$VERSION.tar.gz || wget http://www.cpan.org/src/5.0/perl-$VERSION.tar.gz +test -d perl-$VERSION || tar xf perl-$VERSION.tar.gz +cd perl-$VERSION + +# -d : use defaults for all answers. +# -e : go on without questioning past the production of config.sh. +# -s : silent mode, only echoes questions and essential information. +# -Dusedevel : allow devel (uneven minor) versions. Prevents bin/perl->bin/perlVERSION symlink +# -Duseshrplib : build shared perl library (required when perl is to be included in a shared library) +# -DEBUGGING : add debugging code (perl -D) +# +./Configure -des -Duseshrplib -Dprefix=$PREFIX + +make -j$(nproc) + +# Note: If you get a failure in porting/utils test here, it might be, that we are +# running cpan somewhere else which leads to an extra and unexpected "\n" being +# emitted by CPAN.pm BEGIN and a failure of the test (which does "perl -c CPAN.pm") +# +make test +make install + +cd $PREFIX; + +test -e $HOME/.cpan/CPAN/MyConfig.pm && rm $HOME/.cpan/CPAN/MyConfig.pm +cpanload(); + CPAN::Shell->o('conf','recommends_policy',0); + CPAN::Shell->o('conf','commit'); +_EOF_ + +cpan -u # update everything we already have + +# After the update we have a new ExtUtils::MakeMaker. +# Patch this version to avoid stomping on a perl bug +# We've got this when building net-snmp (down below). +# Errors: +# "panic: attempt to copy freed scalar" +# "Bizarre copy of HASH in list assignment# +# this is from perl bug: +# https://rt.perl.org/Public/Bug/Display.html?id=77706 +# triggered by ExtUtils::MakeMaker. +# This patch prevents this +# + +(cd lib/site_perl/$VERSION/ExtUtils; patch -N -p1 < /src/mariux/patches/MakeMaker-0001-MakeMaker.pm-Avoid-triggering-perl-bug.patch) || true + +# These two with -T (without test), because the tests are interactive and access /dev/tty +# Do these first, because they are required by Bundle::CPAN +# +cpan -T Term::ReadLine::Perl +cpan -T Term::ReadLine::Gnu + +# Now the rest of Bundle::CPAN first, so that we use latest code for the following +# installations +# +cpan Bundle::CPAN + +# Bug in HTTP-Message-6.17.tar.gz: +# +# https://github.com/libwww-perl/HTTP-Message/issues/107 +# https://github.com/libwww-perl/HTTP-Message/pull/108 +# Until fixed use 6.16 +# +cpan O/OA/OALDERS/HTTP-Message-6.16.tar.gz + +# mod_perl (Apache::*, Bundle::Apache, mod_perl, modPerl_hooks) is broken. +# Usually it wants Apache httpd source to compile and keeps asking for it forever if it +# doesn't find it. +# we could install it without Access to sources +# perl -MCPAN <<'_EOF_' +# CPAN::HandleConfig->load; +# $CPAN::Config->{'makepl_arg'}='NO_HTTPD=1'; +# CPAN::Shell->install('Apache'); +# _EOF_ +# but its broken anyway (needs a patch to compile against +# current perl) and the version 1.* branch has not been updated +# for a long time. leave it out and everything which depends on it +#cpan Bundle::Apache + +# Tests for GD fail +# The seventh image in den GD.t test looks slightly +# different. Maybe small difference in TrueType font. +# +# Do it first, otherwise we are pulled by Chart::Base +# +cpan -T GD + +# Now modules (from autobundle of /usr/local/ installation and manual cleanup and some deduplication) +# +cpan AE +cpan Algorithm::Diff +cpan Algorithm::DiffOld +cpan AnyEvent +cpan AppConfig +cpan Archive::Extract +cpan Archive::Zip +cpan Attribute::Params::Validate +cpan Authen::SASL +cpan B::Keywords +cpan BerkeleyDB +cpan Bit::Vector +cpan CGI +cpan CGI::Fast +cpan CPAN::Admin +cpan CPANPLUS +cpan Cache::Memcached +cpan Capture::Tiny +cpan Carp::Clan +cpan Chart::Base +cpan Class::Accessor +cpan Class::Data::Inheritable +cpan Class::ISA +cpan Class::Inspector +cpan Class::Load +cpan Class::Singleton +cpan Class::Tiny +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Class::Trigger +cpan Clone +cpan Config::General +cpan Config::Tiny +cpan Crypt::OpenSSL::RSA +cpan Crypt::OpenSSL::Random +cpan Crypt::RC4 +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Crypt::SSLeay +cpan DBD::SQLite +cpan DBD::mysql +cpan DBI +cpan File::Flock # required by Daemon::Generic +cpan Daemon::Generic +cpan Data::Grove +cpan Data::ObjectDriver +cpan Data::OptList +cpan Data::Stag +cpan Date::Calendar +cpan Date::Parse +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Test::utf8 # required by Test::File::ShareDir::Dist +cpan Test::File::ShareDir::Dist # required by DateTime::Locale +cpan DateTime::Locale # required by DateTime +cpan DateTime +cpan DateTime::Locale +cpan DateTime::TimeZone +cpan Devel::CheckLib +cpan Devel::GlobalDestruction +cpan Devel::InnerPackage +cpan Devel::SelfStubber +cpan Devel::StackTrace +cpan Devel::StackTrace::AsHTML +cpan Devel::Symdump +cpan Device::SerialPort +cpan Digest::HMAC +cpan Digest::Perl::MD5 +cpan Digest::SHA1 +cpan Dist::CheckConflicts +cpan Email::Abstract +cpan Email::Address +cpan Email::Date::Format +cpan Email::FolderType +cpan Email::LocalDelivery +cpan Email::MIME +cpan Email::MIME::Attachment::Stripper +cpan Email::MIME::ContentType +cpan Email::MIME::Encodings +cpan Email::MessageID +cpan Email::Outlook::Message +cpan Email::Reply +cpan Email::Send +cpan Email::Simple +cpan Encode::Detect +cpan Encode::Locale +cpan Eval::LineNumbers +cpan Event +cpan Exception::Class +cpan ExtUtils::PkgConfig +cpan FCGI +cpan File::CheckTree +cpan File::Copy::Recursive +cpan -f IO::Event # for File::Flock +cpan File::Flock +cpan File::FnMatch +cpan File::HomeDir +cpan File::Listing +cpan File::Path::Expand +cpan File::Remove +cpan File::ShareDir +cpan File::Slurp +cpan File::Which +cpan Filesys::Notify::Simple +cpan Filter::Util::Exec +cpan Font::AFM +cpan Font::TTF +cpan GD::Graph +cpan GD::Graph::histogram +cpan GD::SVG +cpan GD::Text +cpan Glib +cpan Graph +cpan Graphics::ColorNames +cpan Graphics::ColorObject +cpan HTML::Tree +cpan HTML::Parser +cpan HTML::Form +cpan HTML::Formatter +cpan HTML::Scrubber +cpan HTML::TableParser +cpan HTML::Tagset +cpan HTML::TreeBuilder +cpan HTTP::Body +cpan HTTP::Cookies +cpan HTTP::DAV # note: tests fail if cpan build dir is on nfs +cpan HTTP::Daemon +cpan HTTP::Date +cpan HTTP::Negotiate +cpan HTTP::Server::Simple +cpan Hash::MultiValue +cpan Hook::LexWrap +cpan IO::All +cpan IO::CaptureOutput +cpan IO::Multiplex +cpan IO::Pty +cpan IO::Socket::SSL +cpan IO::String +cpan IO::Stringy +cpan IPC::Run +cpan IPC::Run3 +cpan Inline +cpan Inline::C +cpan JSON +cpan JSON::PP::Compat5006 +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Class::Accessor::Lite # required by JSON::RPC +cpan JSON::RPC +cpan JSON::XS +cpan LWP +cpan Lingua::EN::Inflect +cpan Linux::Inotify2 +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Linux::USBKeyboard +cpan List::MoreUtils +cpan Log::Message +cpan Log::Log4perl +cpan MIME::Tools +cpan MRO::Compat +cpan Mail::Box +cpan Mail::Box::IMAP4 +cpan Mail::Box::POP3 +cpan Mail::DKIM +cpan Mail::Util +cpan Mail::IMAPClient +cpan Mail::Identity +cpan Mail::Message +cpan Mail::Transport +cpan Math::Bezier +cpan Math::Calc::Units +cpan Math::Interpolate +cpan Math::IntervalSearch +cpan Math::Random::ISAAC +cpan Math::Random::ISAAC::PP +cpan Math::Round +cpan Math::VecStat +cpan Module::Build +cpan Module::Implementation +cpan Module::Pluggable +cpan Module::Runtime +cpan Mojo +cpan Mozilla::CA +cpan Net::DNS +cpan Net::HTTP +cpan Net::IMAP::Client +cpan Net::IMAP::Simple +cpan Net::SNMP +cpan Net::SSL +cpan Net::SSLeay +cpan Net::Server +cpan NetAddr::IP +cpan OLE::Storage_Lite +cpan Object::Accessor +cpan Object::Realize::Later +cpan PDF::API2 +cpan PDL +cpan PPITerm::UI +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan PPI::Document # required by PPIx::Regexp +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Task::Weaken # required by PPIx::Regexp +cpan PPIx::Regexp +cpan Package::Constants +cpan Package::DeprecationManager +cpan Package::Stash +cpan Package::Stash::XS +cpan Params::Util +cpan Params::Validate +cpan Parse::RecDescent +cpan PatchReader +cpan Path::FindDev +cpan Path::FindDev::Object +cpan Path::IsDev +cpan Path::Tiny +cpan Pegex +cpan Perl::Critic +cpan Perl::Tidy +cpan Plack +cpan Pod::Coverage +cpan Pod::LaTeX +cpan Pod::Plainer +cpan Pod::Spell +cpan Probe::Perl +cpan Readonly +cpan Regexp::Common +cpan Return::Value +cpan Role::Tiny +cpan Router::Simple +cpan SVG +cpan Set::IntSpan +cpan Shell +cpan Spreadsheet::ParseExcel +cpan Starlink::AST +cpan Statistics::Descriptive +cpan Statistics::Distributions +cpan Stream::Buffered +cpan String::CRC32 +cpan String::Format +cpan Sub::Exporter +cpan Sub::Exporter::Progressive +cpan Sub::Install +cpan Sub::Uplevel +cpan Switch +cpan Task::Weaken +cpan Template +cpan Template::Plugin::GD +cpan Term::UI +cpan Test::Deep +cpan Test::Differences +cpan Test::Exception +cpan Test::Fatal +cpan Test::Inter +cpan Test::Most +cpan Test::NoWarnings +cpan Test::Number::Delta +cpan Test::Object +cpan Test::Output +cpan Test::Pod +cpan Test::Pod::Coverage +cpan Test::Requires +cpan Test::Script +cpan Test::SharedFork +cpan Test::SubCalls +cpan Test::TCP +cpan -f Test::Taint # test sometimes fail, because Test::More sets untainted environment variable TEST_ACTIVE +cpan Test::Warn +cpan Test::YAML +cpan Text::CSV +cpan Text::Diff +cpan Text::Format +cpan Text::Soundex +cpan TheSchwartz +cpan Tie::DBI +cpan Tie::RDBM +cpan Tie::Watch +cpan Time::Date +cpan Time::Period +cpan Tk +cpan Tree::DAG_Node +cpan Try::Tiny +cpan URI +cpan Unix::Syslog +cpan User::Identity +cpan Version::Requirements +cpan WWW::Dict::Leo::Org +cpan WWW::Mechanize +cpan WWW::RobotRules +cpan XML::DOM +cpan XML::LibXML +cpan XML::LibXSLT +cpan XML::NamespaceSupport +cpan XML::Parser +cpan XML::Parser::Lite +cpan XML::Quote +cpan XML::RegExp +cpan XML::SAX +cpan XML::SAX::Base +cpan XML::SAX::Expat +cpan XML::Simple +cpan XML::Twig +cpan XML::XPath +cpan YAML +cpan YAML::LibYAML + +cpan common::sense +cpan inc::latest +cpan install +cpan local::lib + +cpan Apache::SOAP +cpan Date::Manip +( + cd $PREFIX/build + test -e Donald-1.05.tar.gz || wget https://github.molgen.mpg.de/donald/Donald/archive/1.05.tar.gz -O Donald-1.05.tar.gz + test -d Donald-1.05 || tar xf Donald-1.05.tar.gz + cd Donald-1.05 + cpan . +) +cpan PDL::Stats +( + cd $PREFIX/build + test -e Pcap-0.02.tar.gz || cp /home/buczek/build/Pcap/Pcap-0.02.tar.gz . + test -d Pcap-0.02 || tar xf Pcap-0.02.tar.gz + cd Pcap-0.02 + cpan . +) + +( + cd $PREFIX/build + test -e rrdtool-1.6.0.tar.gz || wget https://oss.oetiker.ch/rrdtool/pub/rrdtool-1.6.0.tar.gz + test -d rrdtool-1.6.0 || tar xf rrdtool-1.6.0.tar.gz + cd rrdtool-1.6.0 + ./configure --prefix $PREFIX + make -j $(nproc) + cd bindings/perl-shared/ + cpan . + cd ../perl-piped + cpan . +) + +# http://net-snmp.sourceforge.net/ (Net-SNMP : SNMP.pm, NetSNMP::*) +# should match exact version of net-snmp packages +# install everything here to avoid dependency. +# +# cpan has 5.0404 of Net-SNMP so use latest version from its home. +# +# If you get errors +# "panic: attempt to copy freed scalar" +# "Bizarre copy of HASH in list assignment# +# this is from perl bug: +# https://rt.perl.org/Public/Bug/Display.html?id=77706 +# triggered by ExtUtils::MakeMaker. The patch +# /src/mariux/patches/0001-Carp.pm-continue-with-screwed-up-perl-stack.patch +# at the top of this file is there to prevent this. +# +( + cd $PREFIX/build + test -e net-snmp-5.7.3.tar.gz || wget https://downloads.sourceforge.net/project/net-snmp/net-snmp/5.7.3/net-snmp-5.7.3.tar.gz || cp /package/pkg/perl-5.26.1-3/build/net-snmp-5.7.3.tar.gz . + test -d net-snmp-5.7.3 || tar xvf net-snmp-5.7.3.tar.gz + cd net-snmp-5.7.3 + patch -N -p1 < /src/mariux/patches/net-snmp-0001-Fix-incompatible-definitions-of-U64-type.patch || true + ./configure --prefix $PREFIX + # make -j sometimes fails "ranlib: .libs/libnetsnmpmibs.a: Malformed archive" + make + make install +) + +# Do bioperl last, because it doesn't declare all dependencies correctly +# +cpan Bio::Perl +# cpan -T Bio::Biblio # "ERROR 11 Unable to connect to database [medline" instead of xml file from net +cpan Bio::Coordinate +#cpan Bio::Graphics::Browser2 # GBrowse - requires Bio::DB::Sam +#cpan Bio::DB::Sam # Bio-SamTools 'Please enter the location of the bam.h and compiled libbam.a files' + +cpan -f XML::DOM::XPath # test fails , install anyway for Bio::FeatureIO + +cpan Bio::FeatureIO +cpan Bio::Tools::EUtilities +#cpan Bio::Tools::Run::StandAloneBlast # several tests fail - tools not available in required version +#cpan Bio::Network::IO # tests fail (whatever) + +#still missing (found by: /home/buczek/libcheck/perlcompare.pl) +# +#Alien::SVN # Alien-SVN: wants SVN install, assumed obsolete +#Apache::XMLRPC::Lite # SOAP-Lite-1.01 : obsolete +#B::Lint* # B-Lint-1.20-0 : I dont think we need this +#CGI::Apache # mod_perl - requires Apache source and asks for it endlessly +#UDDI::Lite # 17 years old junk +#XMLRPC* # XMLRPC-Lite: dont think we still need that + + +# Devel::IPerl -> Markdown::Pod -> Markdent +# Markdown::Pod (0.006) does not work with Markdent 0.27 or 0.28 because of this change: +# https://github.com/houseabsolute/Markdent/commit/b570af7820aa2358263b5eaf403ec96674edfe58 +# +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan ZMQ::Constants # for Devel::IPerl +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan ZMQ::LibZMQ3 # for Devel::IPerl +cpan DROLSKY/Markdent-0.26.tar.gz # required by Devel::IPerl - Markdown::Pod -> Markdent. + +cpan ZMUGHAL/Devel-IPerl-0.008.tar.gz # Devel::IPerl 0.009 requires ZMUGHAL/Net-Async-ZMQ which blocks during test +#cpan Devel::IPerl + +cpan Text::NSP # galonska 29.01.2018 -> helpdesk + +cpan Excel::Writer::XLSX # klages 20.03.2018, helpdesk + +# defeat "Can't locate Makefile.PL in @INC", when Build.PL is used +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Convert::Morse # serious fun, kreitler + +cpan Math::Amoeba # Multidimensional Function Minimisation (oldie but goldie:), kreitler + +cpan Crypt::OpenSSL::PBKDF2 # some more crypto stuff, kreitler +cpan Crypt::OpenSSL::AES +cpan Crypt::Blowfish +cpan Crypt::Blowfish_PP +cpan Crypt::CAST5 +cpan Crypt::DES +cpan Crypt::TripleDES +cpan Crypt::TripleDES::CBC +cpan Crypt::IDEA +cpan Crypt::Rijndael +cpan Crypt::CBC +cpan Crypt::MCrypt + +cpan OpenOffice::OODoc # The Open OpenDocument Connector + +# exit 1 # the final stop before closing +exit From 0a7c811680c95e741194abd4ce277f00374de67c Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 30 Mar 2019 20:56:06 +0100 Subject: [PATCH 02/15] perl-5.28: Add Digest::MD4 Add Digest::MD4 which is required to compute NTLM hash. --- perl-5.28.1-0.build.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index 30f1372..bb895db 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -572,5 +572,7 @@ cpan Crypt::MCrypt cpan OpenOffice::OODoc # The Open OpenDocument Connector +cpan Digest::MD4 + # exit 1 # the final stop before closing exit From 0ad66d45e6802668f545cb29730be5a5169dd7f0 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 31 Mar 2019 10:00:54 +0200 Subject: [PATCH 03/15] perl: Convert to current template --- perl-5.28.1-0.build.sh | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index bb895db..b009ada 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -1,12 +1,22 @@ -#! /bin/sh -set -xe +#! /bin/bash PKG=perl VERSION=5.28.1 BUILD=0 PREFIX=/pkg/$PKG-$VERSION-$BUILD -# PREFIX=/dev/shm/$PKG-$VERSION-$BUILD +if [ -n "$TESTING" ]; then PREFIX=/dev/shm/$PKG-$VERSION-$BUILD ; fi + +set -xe +umask 022 + +BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.build.tmp +test -d $BUILD_TMPDIR && rm -rf $BUILD_TMPDIR +mkdir -p $BUILD_TMPDIR/home +export TMPDIR=$BUILD_TMPDIR +export HOME=$BUILD_TMPDIR/home + +exec $PREFIX/profile <<-EOF PATH=$PREFIX/bin:\$PATH + if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi EOF . $PREFIX/profile -# Some cpan mopdule tests fail when build directory is on -# nfs, because they try to remove directories with unlinked -# but opened files in it. -# Additionally we want a clean envirnoment and a local cpan scratch -# -HOME=/dev/shm/$PKG-$VERSION-$BUILD.build.home.tmp -mkdir -p $HOME - -exec Date: Sun, 31 Mar 2019 11:27:38 +0200 Subject: [PATCH 04/15] Use environment to request relict cleanup --- perl-5.28.1-0.build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index b009ada..0fb6c63 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -18,7 +18,7 @@ export HOME=$BUILD_TMPDIR/home exec Date: Sun, 31 Mar 2019 22:18:09 +0200 Subject: [PATCH 05/15] perl: Disable tests on Crypt::SSLeay Tests of Crypt:SSleay hangs at t/local/03_use.t ....................... ok # OpenSSL engines dir: 'ENGINESDIR: "/usr/lib/engines-1.1"' t/local/04_basic.t ..................... ok t/local/05_passwd_cb.t ................. ok t/local/06_tcpecho.t ................... ok The installer says: *** THIS IS NOT AN ERROR, JUST A MESSAGE FOR YOUR INFORMATION *** Do you really need Crypt::SSLeay? Starting with version 6.02 of LWP, https support was unbundled into LWP::Protocol::https. This module specifies as one of its prerequisites IO::Socket::SSL which is automatically used by LWP::UserAgent unless this preference is overridden separately. IO::Socket::SSL is a more complete implementation, and, crucially, it allows hostname verification. Crypt::SSLeay does not support this. At this point, Crypt::SSLeay is maintained to support existing software that already depends on it. However, it is possible that your software does not really depend on Crypt::SSLeay, only on the ability of LWP::UserAgent class to communicate with sites over SSL/TLS. If are using version LWP 6.02 or later, and therefore have installed LWP::Protocol::https and its dependencies, and do not explicitly use Net::SSL before loading LWP::UserAgent, or override the default socket class, you are probably using IO::Socket::SSL and do not really need Crypt::SSLeay. Before installing Crypt::SSLeay, you may want to try specifying a dependency on LWP::Protocol::https. We still need this module (I think for Net::IMAP::Client) , but I don't want to debug this unmaintained code. Disable tests for now. --- perl-5.28.1-0.build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index 0fb6c63..ac905c1 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -194,7 +194,7 @@ cpan Config::Tiny cpan Crypt::OpenSSL::RSA cpan Crypt::OpenSSL::Random cpan Crypt::RC4 -PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Crypt::SSLeay +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan -T Crypt::SSLeay cpan DBD::SQLite cpan DBD::mysql cpan DBI From c8242576fc25b280c1755ad1887bd445be7136ce Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 31 Mar 2019 13:54:37 +0200 Subject: [PATCH 06/15] perl: Add modules for Graphichs::ColorObject Graphichs::ColorObject seems to have undeclared dependencies on three other modules. Add these. --- perl-5.28.1-0.build.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index ac905c1..3a05a18 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -268,6 +268,9 @@ cpan GD::Text cpan Glib cpan Graph cpan Graphics::ColorNames +cpan Graphics::ColorNames::HTML +cpan Graphics::ColorNames::Windows +cpan Graphics::ColorNames::Netscape cpan Graphics::ColorObject cpan HTML::Tree cpan HTML::Parser From 23ff0422ffb945883fe545671bf67f5665f4a826 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 1 Apr 2019 07:25:55 +0200 Subject: [PATCH 07/15] perl: Add Log::Log4perl Many modules suggest to install Log::Log3perl for their tests, so do it. --- perl-5.28.1-0.build.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index 3a05a18..9dda482 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -158,6 +158,8 @@ cpan O/OA/OALDERS/HTTP-Message-6.16.tar.gz # cpan -T GD +cpan Log::Log4perl # many module tests request this. + # Now modules (from autobundle of /usr/local/ installation and manual cleanup and some deduplication) # cpan AE From 5c14194ccabe84882e7810c9a60123f5ca120da4 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 1 Apr 2019 08:29:37 +0200 Subject: [PATCH 08/15] perl: Disable test for HTTP::Headers::Fast HTTP::Headers::Fast t/lazy_load_for_storable.t want to verify that Storable is not loaded right away, but it is pulled in from Test::More Disable tests. --- perl-5.28.1-0.build.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index 9dda482..0523300 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -302,6 +302,11 @@ cpan IPC::Run cpan IPC::Run3 cpan Inline cpan Inline::C + +# HTTP::Headers::Fast t/lazy_load_for_storable.t want to verify that +# Storable is not loaded right away, but it is pulled in from Test::More +# +cpan -T HTTP::Headers::Fast; # required by JSON::RPC cpan JSON cpan JSON::PP::Compat5006 PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Class::Accessor::Lite # required by JSON::RPC From 4c72d95856c4161961f6e1877d15bea9d803a2db Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 1 Apr 2019 12:34:14 +0200 Subject: [PATCH 09/15] perl: Remove Apache:SOAP Apache::SOAP now seems to depend on broken mod_perl. I doubt, anybody uses it, so remove. --- perl-5.28.1-0.build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index 0523300..8fdbdd0 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -469,7 +469,6 @@ cpan inc::latest cpan install cpan local::lib -cpan Apache::SOAP cpan Date::Manip ( cd $PREFIX/build @@ -550,6 +549,7 @@ cpan Bio::Tools::EUtilities #CGI::Apache # mod_perl - requires Apache source and asks for it endlessly #UDDI::Lite # 17 years old junk #XMLRPC* # XMLRPC-Lite: dont think we still need that +#Apache::SOAP # depends on Apache # Devel::IPerl -> Markdown::Pod -> Markdent From 0435157f0e77d05c1783119dd7bade6d235bbc4d Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 1 Apr 2019 12:40:02 +0200 Subject: [PATCH 10/15] perl: Remove HTTP-Message workaround Bug is fixed now. Use latest CPAN version. --- perl-5.28.1-0.build.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index 8fdbdd0..2be0d0e 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -128,14 +128,6 @@ cpan -T Term::ReadLine::Gnu # cpan Bundle::CPAN -# Bug in HTTP-Message-6.17.tar.gz: -# -# https://github.com/libwww-perl/HTTP-Message/issues/107 -# https://github.com/libwww-perl/HTTP-Message/pull/108 -# Until fixed use 6.16 -# -cpan O/OA/OALDERS/HTTP-Message-6.16.tar.gz - # mod_perl (Apache::*, Bundle::Apache, mod_perl, modPerl_hooks) is broken. # Usually it wants Apache httpd source to compile and keeps asking for it forever if it # doesn't find it. From 341c22ef987a7e8ea44efeab91041c3215f43273 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 1 Apr 2019 16:23:33 +0200 Subject: [PATCH 11/15] perl: Do not use parallel make for PDL --- perl-5.28.1-0.build.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index 2be0d0e..884e689 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -349,7 +349,12 @@ cpan OLE::Storage_Lite cpan Object::Accessor cpan Object::Realize::Later cpan PDF::API2 -cpan PDL + +# +# seems to fail (sometimes) with parallel builds during install: +# can't write to symdb /dev/shm/perl-5.28.1-0/lib/site_perl/5.28.1/x86_64-linux/PDL/pdldoc.db at blib/lib/PDL/Doc.pm line 497. +# +MAKEFLAGS= cpan PDL cpan PPITerm::UI PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan PPI::Document # required by PPIx::Regexp PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Task::Weaken # required by PPIx::Regexp From 4dcac0639fef0da270cdee696159ea9f805ef42b Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 1 Apr 2019 21:16:57 +0200 Subject: [PATCH 12/15] perl: Update net-snmp to version net-snmp-5.8 --- perl-5.28.1-0.build.sh | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index 884e689..1fbd324 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -496,26 +496,11 @@ cpan PDL::Stats cpan . ) -# http://net-snmp.sourceforge.net/ (Net-SNMP : SNMP.pm, NetSNMP::*) -# should match exact version of net-snmp packages -# install everything here to avoid dependency. -# -# cpan has 5.0404 of Net-SNMP so use latest version from its home. -# -# If you get errors -# "panic: attempt to copy freed scalar" -# "Bizarre copy of HASH in list assignment# -# this is from perl bug: -# https://rt.perl.org/Public/Bug/Display.html?id=77706 -# triggered by ExtUtils::MakeMaker. The patch -# /src/mariux/patches/0001-Carp.pm-continue-with-screwed-up-perl-stack.patch -# at the top of this file is there to prevent this. -# ( cd $PREFIX/build - test -e net-snmp-5.7.3.tar.gz || wget https://downloads.sourceforge.net/project/net-snmp/net-snmp/5.7.3/net-snmp-5.7.3.tar.gz || cp /package/pkg/perl-5.26.1-3/build/net-snmp-5.7.3.tar.gz . - test -d net-snmp-5.7.3 || tar xvf net-snmp-5.7.3.tar.gz - cd net-snmp-5.7.3 + test -e net-snmp-5.8.tar.gz || wget https://downloads.sourceforge.net/project/net-snmp/net-snmp/5.8/net-snmp-5.8.tar.gz + test -d net-snmp-5.8 || tar xvf net-snmp-5.8.tar.gz + cd net-snmp-5.8 patch -N -p1 < /src/mariux/patches/net-snmp-0001-Fix-incompatible-definitions-of-U64-type.patch || true ./configure --prefix $PREFIX # make -j sometimes fails "ranlib: .libs/libnetsnmpmibs.a: Malformed archive" From f73269c428789dbb15dcbc4ac0388b5aaa9a2e9e Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 2 Apr 2019 08:28:52 +0200 Subject: [PATCH 13/15] perl: Disable tests for memcached --- perl-5.28.1-0.build.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index 1fbd324..2e2de32 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -170,7 +170,10 @@ cpan CGI cpan CGI::Fast cpan CPAN::Admin cpan CPANPLUS -cpan Cache::Memcached + +# Cache::Memcached has some strange timing tests which fail from time to time +# +cpan -T Cache::Memcached cpan Capture::Tiny cpan Carp::Clan cpan Chart::Base From 8fe6a1a5e2cd01248c743956fb3196b6af05611f Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 2 Apr 2019 15:37:01 +0200 Subject: [PATCH 14/15] perl: Put Data::Grove to end The module has some undeclared dependencies. Put it at the bottom of the script. --- perl-5.28.1-0.build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index 2e2de32..956136c 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -197,7 +197,6 @@ cpan DBD::mysql cpan DBI cpan File::Flock # required by Daemon::Generic cpan Daemon::Generic -cpan Data::Grove cpan Data::ObjectDriver cpan Data::OptList cpan Data::Stag @@ -573,6 +572,7 @@ cpan Crypt::MCrypt cpan OpenOffice::OODoc # The Open OpenDocument Connector cpan Digest::MD4 +cpan Data::Grove # from xml-perl. Has some dependency issues, put at end # exit 1 # the final stop before closing exit From 7cff30de25fdc612f62ef8df7a2dc739a50eed7f Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 3 Apr 2019 10:38:29 +0200 Subject: [PATCH 15/15] perl: Move Tie::Watch behind Tk. Tie::Watch depends on Tk. Move it behind Tk, so that Tk is not pulled implicitly. This makes debugging a little bit easier. --- perl-5.28.1-0.build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perl-5.28.1-0.build.sh b/perl-5.28.1-0.build.sh index 956136c..d9e966e 100755 --- a/perl-5.28.1-0.build.sh +++ b/perl-5.28.1-0.build.sh @@ -433,10 +433,10 @@ cpan Text::Soundex cpan TheSchwartz cpan Tie::DBI cpan Tie::RDBM -cpan Tie::Watch cpan Time::Date cpan Time::Period cpan Tk +cpan Tie::Watch cpan Tree::DAG_Node cpan Try::Tiny cpan URI