[CentOS] RPMs

Jim Perrin jperrin at gmail.com
Sat Mar 3 16:17:45 UTC 2007

> 2) The rpmbuild -ba zbr.spec indeed installs the software in the
> building stage. That's odd, isn't it ?

You're likely not using the appropriate macros and buildroot

> Following my signature is an openssl.spec file

I would REALLY recommend not updating the openssl package on centos,
as pretty much the ENTIRE ditribution is built on the version we ship.
Updating that may cause your applications to cease functioning.

> Any help would be appreciated.

1. This would be best served on the RPM irc channel, and mailing list I think.
2. Have you looked at the spec files for the source rpms in the distro
to see the differences?

> Summary: OpenSSL
> Name: openssl
> Version: 0.9.8b
> Release: 6
> Source0: %{name}-%{version}.tar.gz
> License: GPL

You have no build requirements, buildroot, and no proper config
statement defined.
The license you list for openssl is not correct, There's no files
section to actually put things on your system.

> Source:
> http://www.mirrorservice.org/sites/ftp.openssl.org/source/openssl-0.9.8b.tar.gz
> Group: Applications/Communications
> %description
> OpenSSL provides encryption for Apache, SMTP, POP3 and IMAP.
> %prep
> %setup -q
> %build
> ./config no-idea shared
> make depend
> make
> %install
> make install

Your install section installs because you're building as root, which
is a bad thing to do. So make install is droping files on your system,
but the rpm itself contains no files because there's no files section.

> echo "\n \n Let's create the CA and the key for Apache/HTTPS: \n \n"
> /usr/local/ssl/bin/openssl genrsa -des3 -out /usr/local/ssl/bin/ca.key 1024
> /usr/local/ssl/bin/openssl req -new -x509 -days 365 -key
> /usr/local/ssl/bin/ca.key -out /usr/local/ssl/bin/ca.crt
> /usr/local/ssl/bin/openssl genrsa -des3 -out
> /usr/local/ssl/bin/server.key 1024
> /usr/local/ssl/bin/openssl req -new -key /usr/local/ssl/bin/server.key
> -out /usr/local/ssl/bin/server.csr
> echo "\n \n Now for POP3/SSL and IMAP/SSL: \n \n"
> /usr/local/ssl/bin/openssl req -new -x509 -days 365 -nodes -out
> /usr/local/ssl/bin/imapd.pem -keyout /usr/local/ssl/bin/imapd.pem || cleanup
> /usr/local/ssl/bin/openssl gendh >> /usr/local/ssl/bin/imapd.pem || cleanout
> /usr/local/ssl/bin/openssl x509 -subject -dates -fingerprint -noout -in
> /usr/local/ssl/bin/imapd.pem || cleanup
> cp /usr/local/ssl/lib/libcrypto.so.0.9.8 /lib

Everythign here is using hard-coded paths, and not the appropriate
macros. I would really recommend reading through the fedora packaging
guidlines and checking out the maximum rpm guides.

During times of universal deceit, telling the truth becomes a revolutionary act.
George Orwell

More information about the CentOS mailing list