Some incongruencies that I noted on the manual building and installation
of the packages mentioned on basesystem. This list could be incomplete,
as I am using a fully working system to build the packages. This listing
should not be interpreted strictly as a buglist. It is just a list of
things that
may carry problems/bugs in certain types of installation. Or create
cases for future bugs or bigger incongruencies. Personally I think that
some of them should be corrected now but others may need further
discussion.

A previous note: All builds were made under a system completely made of
cooker packages, running in a 2-x Celleron 450Mhz with
kernel 2.4.0-test6 from original source. The install is manually made on
an absolutely new partition. To start things, the structure of
filesystem is copied to new partition and "rpm --root /mnt/disk
--initdb" is launched. Then, all packages referred on basesystem and
their indirect references, are installed through "rpm --root /mnt/disk
package.rpm". The minimal objective is to boot out of basesystem's
requirements.  The higher objective is to launch a system
possessing the minimal requirements for further rebuilding of all
packages from Mandrake distribution. The problems described here, relate
to those seen on buidling the "minimal system" that strictly fits on
basesystem description.

General problems:
        The order on how packages are presented in "requires" do not seem to
follow any order of dependencies or installation. This can create some
problems in cases when rpm's carry installation scripts.

        Some packages make a "require" for a specific program/lib. In some
cases the names of this program/lib and the package that carries it do
not coincide. 


Packages mentioned in several "requires" of the basesystem:
        cpio, rmt, info-install, bzip2, bash, libtermcap, glibc, gawk,
mkinitrd, popt, pam, ncurses, gpm, slang, groff, libstdc++

Comments:
        bash is not mentioned. For a real damn basic system, bash could be
superfluous. However some packages, like fileutils require it during
installation. Some other packages, like mkbootdisk strictly mention the
line "#!/bin/bash" in their scripts.

        The installation of bash requires readline.

        /bin/sh seems to be "fixed" on bash package while you may have other
shells like ash or sash already installed.

        gzip needs bzip2 for installation. Besides this is not a requirement
but an error that rpm gives... (!?)

        Some other packages seem to give errors on the lack of bzip2 (ex. sed).
This is due to the fact that install/uninstall rpm scripts deal with bz2
archives.

        In diffutils - the install script incorrectly points to diff.info.bz2
as being on /usr/info

        vixie-cron does not build. The problem is due to the fact that
initial buildup installs man pages on $RPM_BUILD_ROOT/usr/man tree. When
the final phase goes rpm searches them on the
$RPM_BUILD_ROOT/usr/share/man.

        Several packages mention an error "objdump: ***** File format not
recognized" while building. This is due to using objdump over script
files what is clearly a nonsense. 

        There is a cross requirement between msec and chkconfig. Nothing
special but who's the first, "the egg or the chicken?" :)

        sh-utils does not build. The config claims that gcc doesn't work (well
how I compiled all above then?)

        sh-utils requires pam. On building pam I noted the following: pam
package is clearly pointing to its own include files located in the
machine's /usr/include. NOTE: this bug is HIGHLY COMMON in Mandrake
src.rpm's. It's highly probable that other packages are suffering this
same problem. However on a first pass, it will be hard to detect such
packages.

        pam requires cracklib, cracklib-dicts, pwdb and glib (???) to install.

        gpm does not build (at least procps asks for it). During build process,
it exist with an error "installing multiple files * but last argument
not a directory" on trying to install some emacs-related stuff on a
non-existent directory.

        ncurses fails to build with the lack of libstdc++-devel. The src.rpm
does not makes any requirements for it.

        There is a cross requirement between ncurses and gpm packages.

        "which" does not build due to spec file pointing man files to /usr/man.

        basesystem requires mention vim. However there is no vim by itself. All
vim
packages are divided in vim-*-(version-build)mdk.i586, where * is some
qualification of the
package (minimal, common, etc.).        

        vim doesn't build. During compilation, several variables fail to be
initialized.

        lilo doesn't build. Compilation breaks with several parse errors while
referring kernel include files (NOTA BENE - I'm using 2.4.0-test6, the
failure may be due to this kernel version)

        hdparm also does not build. The reasons seem the same as lilo. While
parsing kernel includes the compilation fails.

        rpm gives an error on net-tools-1.57-4mdk.src.rpm: "source package
expected, binary found"

        procmail does not build. The spec has some errors on correcting man
pages location and they end in the old traditional /usr/man.

Happy cooking...
Ektanoor

Reply via email to