scl and brp-compress
by Andrew Ford
I have now build perl collections for perl 5.8.0 (RedHat 8) and 5.8.8
(RHEL5) on CentOS 5, but I noticed that the brp-compress script does not
compress man pages in the scl directory hierarchy. What I did to
overcome this is add the following lines to the %install section of my
spec file:
if [ -x /usr/lib/rpm/brp-compress ]; then
sed -e 's!/usr/!%{_prefix}/!g' /usr/lib/rpm/brp-compress
>brp-compress
sh ./brp-compress
fi
Andrew
10 years, 3 months
Building perl-5.16.1 collection on CentOS 5.8
by Andrew Ford
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
10 years, 3 months
scl-utils on EPEL5/6
by Andrew Ford
The scl-utils package on epel5 is still version 20120229-1, and on epel6
it's 20120423-2. Any ideas why they haven't been updated to 20120809?
Andrew
--
Andrew Ford
South Wing Compton House, Compton Green,
Redmarley, Gloucestershire, GL19 3JB, UK
Tel: +44 1531 829900
Mobile: +44 7785 258278
Email: A.Ford(a)ford-mason.co.uk
10 years, 3 months