I was wondering if there was any policy doc on BuildRequires for Red Hat rpms, I've been playing with mach and severn srpms from fedora CVS and due to the very minimal nature of the mach environment I get missing BuildRequires.
I'm aware of the policy for fedora which seems slightly stricter than that for Red Hat rpms.
Is there a document or guide for the minimal build environment for building Red Hat rpms, or should missing BuildRequires go straight to bugzilla.
This would be useful from two perspectives - using mach to build severn/cambridge in an consistent environment, secondly as a start to trying to bootstrap severn from an SRPM/CVS repository it'd be a useful crib sheet.
As an example:
bash requires byacc and texinfo to build successfully in a severn mach environment.
Paul
On Mon, 2003-09-22 at 07:03, Paul Nasrat wrote:
I was wondering if there was any policy doc on BuildRequires for Red Hat rpms, I've been playing with mach and severn srpms from fedora CVS and due to the very minimal nature of the mach environment I get missing BuildRequires.
I'm aware of the policy for fedora which seems slightly stricter than that for Red Hat rpms.
Is there a document or guide for the minimal build environment for building Red Hat rpms, or should missing BuildRequires go straight to bugzilla.
Generally, the policy is that all BuildRequires should be there. So, feel free to Bugzilla anything you find missing. Well, within reason ... maybe not BuildRequires: /bin/sh.
Regards, Owen
On Mon, 22 Sep 2003, Paul Nasrat wrote:
As an example:
bash requires byacc and texinfo to build successfully in a severn mach environment.
The general rule I try to follow is "anything not contained in the Development or Base installer groups", not that it's wrong to BuildRequire one of the packages that _is_ listed in those components.
-- Elliot
http://www.fedora.us/wiki/HOWTOFindMissingBuildRequires
The old Fedora Linux project had this tool and document for detecting missing BuildRequires. We considered only a very short list as exceptions to BuildRequires, but all else should be added IMHO.
On Mon, Sep 22, 2003 at 08:41:21AM -1000, Warren Togami wrote:
http://www.fedora.us/wiki/HOWTOFindMissingBuildRequires
The old Fedora Linux project had this tool and document for detecting missing BuildRequires. We considered only a very short list as exceptions to BuildRequires, but all else should be added IMHO.
I'd say the exceptions list needs to be larger, stuff like coreutils, glibc-devel, glibc-headers, glibc-kernheaders, bzip2 certainly need to be in (ideally as real dependencies of rpm-build package).
Jakub
On Sep 22, 2003, Jakub Jelinek jakub@redhat.com wrote:
glibc-devel, glibc-headers, glibc-kernheaders
Why would you need these to install a package that is say just a set of shell scripts?
On Mon, Sep 22, 2003 at 03:57:53PM -0300, Alexandre Oliva wrote:
On Sep 22, 2003, Jakub Jelinek jakub@redhat.com wrote:
glibc-devel, glibc-headers, glibc-kernheaders
Why would you need these to install a package that is say just a set of shell scripts?
They should be recorded somewhere. There is not much point of installing rpm-build if you don't want to build packages (otherwise you just need rpm). And to build any package, you need the minimal set of packages needed for building...
Jakub
On Sep 22, 2003, Jakub Jelinek jakub@redhat.com wrote:
On Mon, Sep 22, 2003 at 03:57:53PM -0300, Alexandre Oliva wrote:
On Sep 22, 2003, Jakub Jelinek jakub@redhat.com wrote:
glibc-devel, glibc-headers, glibc-kernheaders
Why would you need these to install a package that is say just a set of shell scripts?
Err... Sorry, I meant `to build a package'
There is not much point of installing rpm-build if you don't want to build packages
Right. The point is that building packages doesn't necessarily mean compiling.
On Mon, Sep 22, 2003 at 04:04:19PM -0300, Alexandre Oliva wrote:
Why would you need these to install a package that is say just a set of shell scripts?
Err... Sorry, I meant `to build a package'
There is not much point of installing rpm-build if you don't want to build packages
Right. The point is that building packages doesn't necessarily mean compiling.
Sure, but 95% of packages need compiling. So, either you save disk space for the very rare case somebody will be only building the 5% of packages and have to add all the usual build requirements to the 95% of packages (wasting disk space in those src.rpm's), or you do what I proposed (or have the status-quo, ie. the usual build requirements aren't recorded anywhere and it is unclear what they really are).
Jakub
On 22 Sep 2003, Alexandre Oliva wrote:
There is not much point of installing rpm-build if you don't want to build packages
Right. The point is that building packages doesn't necessarily mean compiling.
Jakub's point may be that there needs to be some way of enforcing the dependencies that constitute a 'minimum build environment' that other packages can assume to be present when building.
-- Elliot Addiction is anything that offers itself as the solution for the problems it causes.
On Sep 22, 2003, Elliot Lee sopwith@redhat.com wrote:
On 22 Sep 2003, Alexandre Oliva wrote:
There is not much point of installing rpm-build if you don't want to build packages
Right. The point is that building packages doesn't necessarily mean compiling.
Jakub's point may be that there needs to be some way of enforcing the dependencies that constitute a 'minimum build environment' that other packages can assume to be present when building.
Well... If glibc-devel is to be present, then I guess so should gcc and binutils. Otherwise I fail to see the point.
Maybe we need a BuildNoPrereq: for the rare exceptions?
On Mon, Sep 22, 2003 at 05:05:25PM -0300, Alexandre Oliva wrote:
On Sep 22, 2003, Elliot Lee sopwith@redhat.com wrote:
Jakub's point may be that there needs to be some way of enforcing the dependencies that constitute a 'minimum build environment' that other
Well... If glibc-devel is to be present, then I guess so should gcc and binutils. Otherwise I fail to see the point.
I believe Jakub was referring to adding to the exceptions from the fedora wiki which could go on to form a "core"[1] or minimum build environment (as they do with fedora-rpmdevtools.
http://www.fedora.us/wiki/HOWTOFindMissingBuildRequires
rpm-build gcc gcc-c++ redhat-rpm-config diffutils make patch tar
Maybe we need a BuildNoPrereq: for the rare exceptions?
Hmm, the only times I can see this being usefull is if you only build packages that are not compiled (pure perl/python/shell) or for trying to selfbootstrap certain packages.
The idea, as I follow it is to have rpm-build or some meta build package cf fedora-rpmdevtools Require the minimal environment. That would at least provide a good starting point for a policy or an automated buildreq generation/supplemental tool. There would be theoretically nothing stopping you from installing @Core @Base and rpm-build with eg python-devel, and your packages would probably have no additional BuildRequires for shell scripts only.
Paul [1] Lets all overload the word core as much as possible :)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mon, 22 Sep 2003 15:00:14 -0400, Jakub Jelinek wrote:
There is not much point of installing rpm-build if you don't want to build packages (otherwise you just need rpm). And to build any package, you need the minimal set of packages needed for building...
Good example is "make" which is an implicit build requirement of almost every package, but which is neither required by rpm-build nor by any other fundamental package:
$ rpm -q --whatrequires make /usr/bin/make fedora-rpmdevtools-0.0.20-0.fdr.1 fedora-rpm-helper-0.02-0.fdr.1 redhat-lsb-1.3-1
$ rpm --redhatrequires make /usr/bin/make efax-0.9-18 kdevelop-2.1.5-6 mod_ssl-2.0.40-21 nss_db-2.2-20 openldap-servers-2.0.27-8 stunnel-4.04-3 ypserv-2.6-2 redhat-lsb-1.3-1
So, basically one would need to put "Buildrequires: make" or similar into every src.rpm. Because on a build machine, you could uninstall the packages listed above easily (even redhat-lsb). fedora-rpmdevtools makes sure, "make" is available on a build host.
It's a similar thing with gcc, gcc-c++. You wouldn't want to make a C/C++ compiler an explicit build requirement in every C/C++ package.
- --
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mon, 22 Sep 2003 14:50:08 -0400, Jakub Jelinek wrote:
On Mon, Sep 22, 2003 at 08:41:21AM -1000, Warren Togami wrote:
http://www.fedora.us/wiki/HOWTOFindMissingBuildRequires
The old Fedora Linux project had this tool and document for detecting missing BuildRequires. We considered only a very short list as exceptions to BuildRequires, but all else should be added IMHO.
I'd say the exceptions list needs to be larger, stuff like coreutils, glibc-devel, glibc-headers, glibc-kernheaders, bzip2 certainly need to be in (ideally as real dependencies of rpm-build package).
The docs are incomplete and lack a short explanation on build requirements which are dependencies of core packages. Packages which are considered fundamental for the Fedora build environment also belong to that list.
The "fedora-rpmdevtools" packages pulls in a few additional packages which in turn pull in even more dependencies.
$ rpm -qR fedora-rpmdevtools bzip2 config(fedora-rpmdevtools) = 0:0.0.20-0.fdr.1 cpio diffutils gcc gcc-c++ gzip make patch python redhat-rpm-config rpm-build rpm-python rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 sed tar
- --
On Mon, 2003-09-22 at 20:50, Jakub Jelinek wrote:
On Mon, Sep 22, 2003 at 08:41:21AM -1000, Warren Togami wrote:
http://www.fedora.us/wiki/HOWTOFindMissingBuildRequires
The old Fedora Linux project had this tool and document for detecting missing BuildRequires. We considered only a very short list as exceptions to BuildRequires, but all else should be added IMHO.
I'd say the exceptions list needs to be larger, stuff like coreutils, glibc-devel, glibc-headers, glibc-kernheaders, bzip2 certainly need to be in (ideally as real dependencies of rpm-build package).
Hmm, I'd rather like C-specific stuff (glibc-devel, glibc-headers, glibc-kernheaders) being dependencies on a "C Development" meta package containing only the dependencies on those packages along with gcc, etc. rpm-build shouldn't depend on more than it really needs to run (coreutils, bzip2, gzip, anything else?).
Nils
Once upon a time, Jakub Jelinek jakub@redhat.com said:
I'd say the exceptions list needs to be larger, stuff like coreutils, glibc-devel, glibc-headers, glibc-kernheaders, bzip2 certainly need to be in (ideally as real dependencies of rpm-build package).
Except in special cases, packages shouldn't explicitly list glibc-devel and such. That makes it real annoying for those of use that use RPM as a cross-platform software management tool. :-)
One question: with Fedora, would anyone be interested in the changes I've had to make to get packages more portable (and, in my case, working on HPAQ Tru64 Unix)? Most of the changes I made were spec file cleanups.
On Mon, 2003-09-22 at 18:11, Chris Adams wrote:
One question: with Fedora, would anyone be interested in the changes I've had to make to get packages more portable (and, in my case, working on HPAQ Tru64 Unix)? Most of the changes I made were spec file cleanups.
Often I've thought it would be really cool to have an up-to-date set of OSS packages for AIX and Solaris; these kinds of clean-ups and someone with the hardware and time to pay attention to them would be really nice. Currently many (most?) people install IBM's RPMs on AIX and Sunfreewareorg's PKGs on Solaris; having a set that was consistent with Fedora Linux would be a great boon. OTOH, there are not doubt issues between installing into /usr and /opt.
Wil
On Mon, Sep 22, 2003 at 08:11:21PM -0500, Chris Adams wrote:
One question: with Fedora, would anyone be interested in the changes I've had to make to get packages more portable (and, in my case, working on HPAQ Tru64 Unix)? Most of the changes I made were spec file cleanups.
I haven't used it myself but this seems to fit closely with the aims of openpkg project:
Although they don't currently list Tru64, I'm sure they'd be more than happy for contributions :)
Paul
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mon, 22 Sep 2003 20:11:21 -0500, Chris Adams wrote:
One question: with Fedora, would anyone be interested in the changes I've had to make to get packages more portable (and, in my case, working on HPAQ Tru64 Unix)? Most of the changes I made were spec file cleanups.
Could you be more specific? What "cleanups" do you mean? RPM macros like %{__make} maybe?
- --
Le mar 23/09/2003 à 10:05, Michael Schwendt a écrit :
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mon, 22 Sep 2003 20:11:21 -0500, Chris Adams wrote:
One question: with Fedora, would anyone be interested in the changes I've had to make to get packages more portable (and, in my case, working on HPAQ Tru64 Unix)? Most of the changes I made were spec file cleanups.
Could you be more specific? What "cleanups" do you mean? RPM macros like %{__make} maybe?
I can't speak for Fedora but if you're interested in spec janitorial stuff we at JPackage (http://jpackage.org/) would welcome you with open hands;)
(BTW while JPackage is not interested in an outright merger like fedora.us - we also have Mandrake members/users - further efforts to make our packages more Fedora-compatible are possible. There is little or no overlap with Rawhide/Fedora.us packaging right now since we only do java stuff)