2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2024-11-21 17:11:45 +00:00

Add build instruction for Net-SSLeay-1.55 (perl-Net_SSLeay.pm) on aix to support openssl 1.x

Former-commit-id: 10367a2b14c03f53cee4ae17a5603dfe02c5ce2f
This commit is contained in:
daniceexi 2013-11-19 02:27:08 -05:00
parent c4c32b8886
commit f5b76c4694
3 changed files with 192 additions and 0 deletions

View File

@ -0,0 +1,16 @@
Build Notes
#This version of rpm is used for AIX71L and higher which is using openssl 1.x
Need cc_r compiler installed on AIX build system.
Use Net-SSLeay-1.55.tar.gz in this directory
Use Net-SSLeay-1.55-3.spec in this directory. It is changed from 7.1/Net_SSLeay.pm.spec
cp Net-SSLeay-1.55.tar.gz /opt/freeware/src/packages/SOURCES
cp Net-SSLeay-1.55-3.spec /opt/freeware/src/packages/SPECS
Run "rpm -bb Net-SSLeay-1.55-3.spec".
- which creates: perl-Net_SSLeay.pm-1.55-3.aix7.1.ppc.rpm

View File

@ -0,0 +1,176 @@
#
# - Net_SSLeay.pm -
# This spec file was automatically generated by cpan2rpm [ver: 2.028]
# The following arguments were used:
# Net_SSLeay.pm-1.30.tar.gz -U --tempdir=/tmp/test1
# For more information on cpan2rpm please visit: http://perl.arix.com/
#
%define pkgname Net-SSLeay
%define filelist %{pkgname}-%{version}-filelist
%define NVR %{pkgname}-%{version}-%{release}
%define maketest 1
name: perl-Net_SSLeay.pm
summary: Net_SSLeay.pm - Perl extension for using OpenSSL
version: 1.55
release: 3
vendor: by Sampo Kellomki <sampo@symlabs.com>
packager: Arix International <cpan2rpm@arix.com>
license: Artistic
group: Applications/CPAN
url: http://www.cpan.org
buildroot: %{_tmppath}/%{name}-%{version}-%(id -u -n)
buildarch: ppc
prefix: %(echo %{_prefix})
source: Net-SSLeay-1.55.tar.gz
%description
There is a related module called Net::SSLeay::Handle included in this
distribution that you might want to use instead. It has its own pod
documentation.
This module offers some high level convinience functions for accessing
web pages on SSL servers (for symmetry, same API is offered for
accessing http servers, too), a sslcat() function for writing your own
clients, and finally access to the SSL api of SSLeay/OpenSSL package
so you can write servers or clients for more complicated applications.
For high level functions it is most convinient to import them to your
main namespace as indicated in the synopsis.
Case 1 demonstrates typical invocation of get_https() to fetch an HTML
page from secure server. The first argument provides host name or ip
in dotted decimal notation of the remote server to contact. Second
argument is the TCP port at the remote end (your own port is picked
arbitrarily from high numbered ports as usual for TCP). The third
argument is the URL of the page without the host name part. If in
doubt consult HTTP specifications at <http://www.w3c.org>
Case 2 demonstrates full fledged use of get_https(). As can be seen,
get_https() parses the response and response headers and returns them as
a list, which can be captured in a hash for later reference. Also a
fourth argument to get_https() is used to insert some additional headers
in the request. make_headers() is a function that will convert a list or
hash to such headers. By default get_https() supplies Host (make virtual
hosting easy) and Accept (reportedly needed by IIS) headers.
Case 2b demonstrates how to get password protected page. Refer to
HTTP protocol specifications for further details (e.g. RFC2617).
Case 3 invokes post_https() to submit a HTML/CGI form to secure
server. First four arguments are equal to get_https() (note that empty
string ('') is passed as header argument). The fifth argument is the
contents of the form formatted according to CGI specification. In this
case the helper function make_https() is used to do the formatting,
but you could pass any string. The post_https() automatically adds
Content-Type and Content-Length headers to the request.
Case 4 shows the fundamental sslcat() function (inspired in spirit by
netcat utility :-). Its your swiss army knife that allows you to
easily contact servers, send some data, and then get the response. You
are responsible for formatting the data and parsing the response -
sslcat() is just a transport.
Case 5 is a full invocation of sslcat() which allows return of errors
as well as the server (peer) certificate.
The $trace global variable can be used to control the verbosity of high
level functions. Level 0 guarantees silence, level 1 (the default)
only emits error messages.
#
# This package was generated automatically with the cpan2rpm
# utility. To get this software or for more information
# please visit: http://perl.arix.com/
#
%prep
%setup -q -n %{pkgname}-%{version}
chmod -R u+w %{_builddir}/%{pkgname}-%{version}
%build
grep -rsl '^#!.*perl' . |
# grep -v '.bak$' |xargs --no-run-if-empty \
grep -v '.bak$' |xargs \
%__perl -MExtUtils::MakeMaker -e 'MY->fixin(@ARGV)'
CFLAGS="$RPM_OPT_FLAGS"
%{__perl} Makefile.PL `%{__perl} -MExtUtils::MakeMaker -e ' print qq|PREFIX=%{buildroot}%{_prefix}| if \$ExtUtils::MakeMaker::VERSION =~ /5\.9[1-6]|6\.0[0-5]/ '`
%{__make}
#%if %maketest
#%{__make} test
#%endif
%install
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
%{makeinstall} `%{__perl} -MExtUtils::MakeMaker -e ' print \$ExtUtils::MakeMaker::VERSION <= 6.05 ? qq|PREFIX=%{buildroot}%{_prefix}| : qq|DESTDIR=%{buildroot}| '`
cmd=/usr/share/spec-helper/compress_files
[ -x $cmd ] || cmd=/usr/lib/rpm/brp-compress
[ -x $cmd ] && $cmd
# SuSE Linux
# if [ -e /etc/SuSE-release -o -e /etc/UnitedLinux-release ]
# then
# %{__mkdir_p} %{buildroot}/var/adm/perl-modules
# %{__cat} `find %{buildroot} -name "perllocal.pod"` \
# | %{__sed} -e s+%{buildroot}++g \
# > %{buildroot}/var/adm/perl-modules/%{name}
# fi
# remove special files
find %{buildroot} -name "perllocal.pod" \
-o -name ".packlist" \
-o -name "*.bs" \
|xargs -i rm -f {}
# no empty directories
# find %{buildroot}%{_prefix} \
# -type d -depth \
# -exec rmdir {} \; 2>/dev/null
%{__perl} -MFile::Find -le '
find({ wanted => \&wanted, no_chdir => 1}, "%{buildroot}");
print "%doc Net-SSLeay-Handle-0.50 README.Win32 Changes examples README";
for my $x (sort @dirs, @files) {
push @ret, $x unless indirs($x);
}
print join "\n", sort @ret;
sub wanted {
return if /auto$/;
local $_ = $File::Find::name;
my $f = $_; s|^\Q%{buildroot}\E||;
return unless length;
return $files[@files] = $_ if -f $f;
$d = $_;
/\Q$d\E/ && return for reverse sort @INC;
$d =~ /\Q$_\E/ && return
for qw|/etc %_prefix/man %_prefix/bin %_prefix/share|;
$dirs[@dirs] = $_;
}
sub indirs {
my $x = shift;
$x =~ /^\Q$_\E\// && $x ne $_ && return 1 for @dirs;
}
' > %filelist
[ -z %filelist ] && {
echo "ERROR: empty %files listing"
exit -1
}
%clean
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
%files -f %filelist
%defattr(-,root,root)
%changelog
* Thu Jun 17 2010 root@c114m4h1p04.ppd.pok.ibm.com
- Initial build.

Binary file not shown.