+------------------------------------------------------------------------------+ | EnGarde Building Mini-HOWTO February 23, 2002 | | Ryan W. Maple Version 1.1 | +------------------------------------------------------------------------------+ Introduction ------------ This document provides steps a user can perform to rebuild the source RPMS for EnGarde Secure Linux 1.0.1 (Finestra). This is not meant for the faint of heart. It is assumed that the reader has built packages before and is familiar with the normal UNIX-like bulid process. Although a user can rebuild the source and do a "make install", it is highly recommended that the user follows the instructions in this document and builds an RPM for the sake of package management sanity. Be aware that if you do a "make install" future updates for EnGarde may collide or overwrite the files which it installs. Users are also encouraged to install third-party software. A very good place to find RPMs is at Rpmfind.net (see "Resources" below). If you cannot get the binary RPM to install (normally because of unmet, unecessary dependandies), you mean need to download the source RPM and follow the instructions in this document to compile it against all the libraries EnGarde includes. The proper forum to ask questions is one of the "EnGarde Mailing Lists" (see "Resources" below). If you have a problem building or installing an RPM, please send an email to that list so one of the EnGarde developers can help. Required Packages ----------------- The following is an exhaustive list of packages you will need to build the source RPMS. Please note that some of these packages are normal Red Hat packages but they will work just fine. These are the same packages EnGarde was build with. All of these packages can be found at: http://ftp.engardelinux.org/pub/engarde/devel ftp://ftp.engardelinux.org/pub/engarde/devel Package Version Release ------------------------------------------- MySQL-devel 3.23.36 1.0.19 apache-devel 1.3.14 1.0.24 autoconf 2.13 5 automake 1.4 6 binutils 2.9.5.0.22 6 bison 1.28 2 bzip2-devel 0.9.5d 1.0.2 cpp 1.1.2 30 dev86 0.15.0 2 dialog 0.6 16 e2fsprogs-devel 1.18 1.0.3 ed 0.2 13 egcs 1.1.2 30 egcs-c++ 1.1.2 30 egcs-g77 1.1.2 30 egcs-objc 1.1.2 30 flex 2.5.4a 9 gd-devel 1.3 1.0.1 gdbm-devel 1.8.0 3 gettext 0.10.35 17 glib-devel 1.2.6 1.0.4 glibc-devel 2.1.3 21 kernel-headers 2.2.19 1.0.9 libol 0.2.20 1.0.2 libol-devel 0.2.20 1.0.2 libpng 1.0.5 3 libpng-devel 1.0.5 3 libstdc++ 2.9.0 30 libtermcap-devel 2.0.8 1.0.3 libtool 1.3.4 3 m4 1.4 12 make 3.78.1 4 ncurses-devel 5.2 1.0.4 newt-devel 0.50.8 2 openssl-devel 0.9.6 1.0.11 patch 2.5 10 slang 1.2.2 5 slang-devel 1.2.2 5 tcsh 6.09 4 tetex 1.0.6 11 tetex-dvips 1.0.6 11 tetex-fonts 1.0.6 11 tetex-latex 1.0.6 11 Before installing these packages you must disable LIDS (unless you are booted into a standard kernel): # lidsadm -S -- -LIDS_GLOBAL To install these packages, download them all into a directory and execute the command: # rpm --excludedocs -Uvh *.rpm Setting Up your Environment --------------------------- There is a harmless bug in the kernel-headers/kernel-source packages where the /usr/include/asm link is broken. To fix this you must: # cd /usr/src/linux/include # ln -s asm-i386 asm Source RPMS ----------- You are now ready to install the source RPM. To install a source RPM simply execute the command: # rpm -Uvh .src.rpm This will put the sources (tarballs, patches, etc.) in: /usr/src/engarde/SOURCES And the spec file you will need to compile it with in: /usr/src/engarde/SPECS To re-build the RPM, execute the command (from the SPECS directory): # rpm -ba .spec If you want to build the package for a different architecture, you would use the '--target=' option. So to build the package for the i586 architecture, you would execute the command: # rpm --target=i586 -ba .spec NOTE: EnGarde, be default, builds packages for the i686 architecture. If you want your packages to be built for a different architecture, such as i386, you must use the '--target' option. If the RPM successfully builds, you should see something like this towards the end of the output: Wrote: /usr/src/engarde/SRPMS/initscripts-6.6-1.0.31.src.rpm Wrote: /usr/src/engarde/RPMS/i386/initscripts-6.6-1.0.31.i386.rpm If you do not see the "Wrote:" lines then an error occured. Look through the output and see what went wrong, fix it, and try again. If the package was build successfully you can find it in: /usr/src/engarde/RPMS/ Resources --------- EnGarde Mailing Lists: http://www.engardelinux.org/support.html#lists Rpmfind.net: http://www.rpmfind.net/ Maximum RPM: http://www.rpmdp.org/rpmbook/ RPM HOWTO: http://www.rpm.org/RPM-HOWTO/index.html Red Hat's RPM Mailing List: https://listman.redhat.com/mailman/listinfo/rpm-list