Re: Building my first RPM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


AIX ships its own openssl package and the package is not in RPM format, thus it
does not have "provides directive" so my rpm can't detect the currently
installed openssl, and at the installation asks for it.

rpm -ivh Python-3.4.2
error: failed dependencies:
        libcrypto.a( is needed by Python-3.4.2-1
        libssl.a( is needed by Python-3.4.2-1

AIX version of openssl has the .a but not .so

Is there a directive or command in .spec file to make python understand these libraries already exist ?


From: Tim Mooney <Tim.Mooney@xxxxxxxx>
To: Blaxton <blaxxton@xxxxxxxxx>
Cc: General discussion about the RPM package manager <rpm-list@xxxxxxxxxxxxx>
Sent: Tuesday, February 24, 2015 1:47 PM
Subject: Re: Building my first RPM

In regard to: Re: Building my first RPM, Blaxton said (at 4:51am on Feb 24,...:

> For now, I am able to create the rpm binary, but need guidance as to how
> to know which fileand suffixes should be copied from RPM_BUILD_ROOT to
> system.

I'm not sure I understand what you mean by "copied from RPM_BUILD_ROOT to
system".  Do you mean "what files should be included in the generated
RPM package"?

In general, if "make install" or its equivalent installs files into
your buildroot, then they should probably be included in the package.
There are certainly exceptions, but if installing the package from source
would install those files, then installing a package from an RPM probably
should too.

For larger packages, the bigger question is often whether files should be
divided into different RPM (sub)packages.  For example, a "-devel" package
that contains header files, the pkg-config files, etc.

> easiest way was choosing all files from RPM_BUILD_ROOT/usr/local/bin/*
> and /lib/* and /include/* and /share/*

That certainly makes sense.

> What is your recommendation to find out the files that need to be copied
> in %files section of .spec file ?

It depends on how much you know about the software you're packaging.

I tend to list files individually for small packages, and only use globs
(e.g. %{_includedir}/*.h) for packages that have a large number of files.
Using globs, especially *, can make it so that you don't notice when a
new version of a package starts including additional files.

Globs like that generally don't work very well when you're going to
split files between multiple sub-packages, too.

Even if you can't follow all their recommendations, reading the Fedora
Packaging Guidelines is going to be good for you -- they're well
thought-out, and will bring up some things that you might not have thought
of when you're just starting out packaging.

Tim Mooney                                            Tim.Mooney@xxxxxxxx
Enterprise Computing & Infrastructure                  701-231-1076 (Voice)
Room 242-J6, Quentin Burdick Building                  701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164

Rpm-list mailing list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux