On Wed, 2008-06-04 at 09:57 +0100, Neil Darlow wrote:
Hi,
Jan de Groot wrote:
For the base/base-devel discussion: when building packages, base-devel and base should be installed. Looking at debian-alike distributions, I don't see packages makedepending on g++ either when c++ code needs to be compiled.
The gcc dependency within base-devel would cover the use of g++.
Perhaps I "muddied" the waters by suggesting that a user could choose to not install gawk.
Maybe the real question is: What is the purpose of base-devel?
1) To specify the standalone packages required to build base packages or
2) To specify a recommended set of packages required for package building in general
If the answer is (1) and something in base requires gawk to build then I suggest gawk should be a dependency of base-devel.
If the answer is (2) then I guess I can live with the implied requirement that gawk is installed as part of base _always_.
I suppose I'm being a bit pedantic here but, from my engineering background, I don't really like assumptions and would prefer explicit requirement.
I don't have the exact quote to hand but it has been said that "90% of programming errors arise from false assumptions". I guess that's why formal design methodologies evolved - but that's another story ;-)
The purpose of the base-devel group is to have a group of packages that are required to use most functionality of makepkg. This includes a compiler, assembler, patch tool, etc. The base group itself is quite special. Ever tried building glibc from scratch? You'll need a compiler and a base system installed to get glibc built. When we do glibc, compiler, binutils or kernel-headers updates, we always rebuild glibc, gcc and binutils 2 times to make sure they are built correctly and are tied together. This procedure is commented in the PKGBUILD, but nothing prevents you from taking this step only once and uploading the resulted package straight to the repositories.