I am trying to build Marcela Mašláňov's perl516 and perl-5.16.1 packages
on CentOS 5.8.
I had a couple of problems getting perl516 to build: firstly rpmbuild
requires a Group directive - I specified application/development, and
secondly rpm 4.4.2.3 seems to require BuildRoot. I was wondering whether
it would be possible to detect the RPM version and add those directives
conditionally.
Next I tried to build perl-5.16.1, initially without scl. That failed
immediately as the line
BuildRequires: perl516-build
should be wrapped in a conditional scl macro, i.e.:
%{?scl:BuildRequires: %{scl}-build}
With that in place the build succeeds but rpmbuild finds a shedload of
unpackaged debug files under /usr/lib/debug. For a quick and dirty
solution, I defined debug_package as %{nil} and the package built OK,
except that all the RPMs were built as noarch. I'll investigate the
debug and arch issues later.
When I installed the perl516 package and tried to rebuild perl-5.16.1 as
a non-scl package it now tries to build the scl package. This seems to
be due to the line
%scl perl516
in /etc/rpm/macros.perl516-macros. This also makes it impossible to
build perl514 while perl516-build is installed. In fact I would think it
would make it impossible to build other base SCL packages unless one
specified the "--define 'scl <pkgname>'" on the command line. Is it
necessary to have %scl defined in the macros.perl516-macros file? I
thought that scl was supposed to be defined with --define on the
invocation of rpmbuild - and I presume that all files in /etc/rpm are
loaded by rpmbuild at startup (I need to look through the rpmbuild
sources and possibly run it in the debugger).
With the perl516-build package installed the build trips over on
check-rpaths:
ERROR: 0002: file '/opt/rh/perl516/root/usr/bin/perl5.16.1' contains an
invalid rpath '/opt/rh/perl516/root/usr/lib64/perl/CORE' in
[/opt/rh/perl516/root/usr/lib64/perl5/CORE]
I'll do a bit of digging into these issues, learn up on rpm-building,
and hopefully get the perl-5.16.1 SCL package built on CentOS/RHEL 5.
Then I'll start on SCL-izing 5.8.8 on CentOS 5.8.
Andrew