From: gobo72 Date: Tue, 8 Mar 2011 02:15:45 +0000 (+0000) Subject: Merge branche make X-Git-Url: http://gitweb.hugovil.com/?a=commitdiff_plain;h=f920c7ef750f2163b9e407cc453b192ede2c185a;hp=907fcfdccdd0ddd33accef87490f9e0b750797ad;p=hvlinux.git Merge branche make --- diff --git a/NOTES b/NOTES index dcdec56..511979e 100644 --- a/NOTES +++ b/NOTES @@ -29,15 +29,3 @@ Reduces-size hvlinux perlbug,grolj4,perldoc,a2p,addtinfo,addr2line,cytune,enc2xs,eqn,eqn2graph, infotocap,neonconfig -Remove /usr/lib//*.{a,la} - - - - - ------------- -Après le stage 1: - 1. Monter /mnt/hvrepos (ajouter à /etc/fstab) - 2. Copier les sources de hvlinux - 3. Avant de lancer le stage2, modifier la variable LFS="" dans -sysinfos - diff --git a/config/dependencies b/config/dependencies new file mode 100644 index 0000000..b207109 --- /dev/null +++ b/config/dependencies @@ -0,0 +1,114 @@ +#!/bin/sh + +${INTLTOOL}: ${PERL_MOD_XML_PARSER} +${GTKMM}: ${PANGOMM} +${INKSCAPE}: ${POPPLER} ${BOOST} ${INTLTOOL} ${GTKMM} +${TETEX_SRC}: ${ED} +${PHP}: ${CURL} + +# Audio utilities +${AUDACITY}: ${LIBID3TAG} wxgtk +# Rhythmbox-0.11.6 needs latest totem +${RHYTHMBOX}: ${LIBID3TAG} +# Easytag requiert id3lib pour les MP3 +${EASYTAG}: id3lib OR ${LIBID3TAG} +${AUDACIOUS}: taglib, libmowgli, mcs +${GRIP}: id3lib +${PULSEAUDIO}: liboil, gdbm + +${GOFFICE}: ${LIBGSF} ${PCRE} ${PANGO} +${GNUMERIC}: ${GOFFICE} +${ABIWORD}: ${WV} ${GOFFICE} +${GIT}: cpio + +${GIMP}: ${BABL} ${INTTOOL} ${PYGTK} + +${GNASH}: ${AGG} + +${FIREFOX}: ${SQLITE} + +${PROCMAIL}: ${SENDMAIL} +${FETCHMAIL}: ${OPENSSL} ${PROCMAIL} + +${FUSE}: ${UDEV} + +${JASPER}: ${LIBJPEG} ${XORG} ${MESALIB} +${GHOSTSCRIPT}: ${LIBJPEG} ${LIBPNG} ${JASPER} ${GTK} ${XORG} + +${POPPLER}: ${FONTCONFIG} ${LIBJPEG} ${CAIRO} ${GLIB} ${LIBOPENJPEG} +${EVINCE}: ${POPPLER} ${LIBGNOMEUI} ${GNOME_ICON_THEME} ${GNOME_DOC_UTILS} ${TETEX_SRC} ${GHOSTSCRIPT} ${T1LIB} ${LIBSPECTRE} + +${DBUS}: ${EXPAT} ${LIBXML2} ${XORG_LIBS} +${GLIB}: ${PCRE} +${DBUS_GLIB}: ${DBUS} ${GLIB} ${EXPAT} +${EGGDBUS}: ${DBUS_GLIB} +${GOBJECT_INSTROSPECTION}: ${GLIB} ${LIBFFI} +${POLKIT}: ${GOBJECT_INSTROSPECTION} ${EGGDBUS} + +${HELP2MAN}: ${PERL} +${BITBAKE}: ${HELP2MAN} + +${LIBTIFF}: ${XORG} + +${GIFLIB}: ${XORG} +${LCMS}: ${LIBTIFF} ${LIBJPEG} ${PYTHON} + +${LIBMNG}: ${LCMS} ${LIBJPEG} + +${FONTCONFIG}: ${FREETYPE} ${EXPAT} + +${LIBRSVG}: ${GTK} ${LIBXML2} ${LIBCROCO} ${LIBGSF} + +${GTK_ENGINES}: ${PERL_MOD_XML_PARSER} + +${IMLIB2}: ${FREETYPE} ${LIBJPEG} ${LIBPNG} ${LIBTIFF} ${XORG} ${GIFLIB} ${LIBID3TAG} + +${CAIRO}: ${LIBPNG} ${PIXMAN} +${CAIROMM}: ${CAIRO} + +${LIBDVDREAD}: ${LIBDVDCSS} +${DVDFS}: ${FUSE} ${LIBDVDREAD} + +${DVDRWTOOLS}: ${CDRTOOLS} + +${T1LIB}: ${XORG} +${TETEX}: ${ED} ${LIBPNG} ${T1LIB} ${XORG} ${GD} + +${GIT}: ${OPENSSL} ${EXPAT} ${ZLIB} ${PERL} ${CURL} + +${NMAP}: ${OPENSSL} ${PCRE} ${LIBPCAP} + +${GETDATE}: ${FCRON} + +${SGML_DTD3}: ${SGML_COMMON} +${SGML_DTD4}: ${SGML_COMMON} ${UNZIP} +${OPENSP}: ${SGML_COMMON} +${OPENJADE}: ${OPENSP} +${DOCBOOK_DSSSL}: ${OPENJADE} +${DOCBOOK_UTILS}: ${DOCBOOK_DSSSL} ${SGML_SPM} +${LIBXML2}: ${PYTHON} +${DOCBOOK_XML}: ${LIBXML2} +${DOCBOOK_XSL}: ${LIBXML2} +${LIBXSLT}: ${LIBXML2} +${XMLTO}: ${LIBXSLT} ${DOCBOOK_XML} ${DOCBOOK_XSL} + +${EMACS}: ${GTK} + +webalizer: gd-2.0.33 + +${LILYPOND}: fontforge mftrace t1utils autotrace + +${TANGO}: ${PERL_MOD_XML_SIMPLE} ${PERL_MOD_PARSE_REDESCENT} + +${LIBGPG_ERROR}: +${LIBGCRYPT}: ${LIBGPG_ERROR} +${LIBTASN1}: +${GUILE}: +${GNUTLS}: ${LIBGCRYPT} ${LIBTASN1} ${GUILE} + +${LIBIDL}: ${GLIB} +${ORBIT2}: ${LIBIDL} ${OPENSSL} +${GCONF}: ${ORBIT2} ${POLKIT} ${GTK} +${LIBPROXY}: ${GCONF} +${GNOME_KEYRING}: ${GCONF} ${LIBTASN1} ${LIBGCRYPT} +${LIBSOUP}: ${GNUTLS} ${GNOME_KEYRING} ${LIBPROXY} ${SQLITE} ${LIBXML2} diff --git a/config/packages-list b/config/packages-list new file mode 100644 index 0000000..cbd0625 --- /dev/null +++ b/config/packages-list @@ -0,0 +1,471 @@ +#!/bin/sh + +# This file contains the name and version of all packages, +# as well the corresponding patches, if needed. + +ABIWORD="abiword-2.6.4" +AGG="agg-2.5" +ALSA_DRIVER="alsa-driver-1.0.21" +ALSA_LIB="alsa-lib-1.0.21" +ALSA_PLUGINS="alsa-plugins-1.0.21" +ALSA_UTILS="alsa-utils-1.0.21" +ALSA_OSS="alsa-oss-1.0.21" + +APR="apr-1.3.9" +APR_UTIL="apr-util-1.3.9" +AVR_GDB="gdb-6.4" +AVRDUDE="avrdude-5.1" +ATK="atk-1.28.0" +AUDIOFILE="audiofile-0.2.6" +AUTOCONF="autoconf-2.67" +AUTOMAKE="automake-1.11.1" + +BABL="babl-0.1.2" +BASH="bash-4.1" +BC="bc-1.06" +BISON="bison-2.4.2" +BIND="bind-9.6.1-P3" +BINUTILS="binutils-2.20.1" +ARM_BINUTILS=${BINUTILS} +AVR_BINUTILS=${BINUTILS} +BRIDGE_UTILS="bridge-utils-1.4" +BZIP2="bzip2-1.0.5" + +CAIRO="cairo-1.8.10" +CAIROMM="cairomm-1.8.4" +CDRTOOLS="cdrtools-2.01" +CDRDAO="cdrdao-1.2.2" +CKERMIT="ckermit-8.0.211" +CLAMAV="clamav-0.93.3" +CLOOG_PPL="cloog-ppl-0.15.10" +CONSOLEKIT="ConsoleKit-0.4.1" +COREUTILS="coreutils-8.5" +CPIO="cpio-2.11" +CUPS="cups-1.4.2" +CUPS_PDF="cups-pdf-2.5.0" +CURL="curl-7.19.7" +CVS="cvs-1.11.23" + +DBUS="dbus-1.2.24" +DBUS_GLIB="dbus-glib-0.88" +DDCLIENT="ddclient-3.6.7" +DEJAGNU="dejagnu-1.4.4" +DESKTOP_FILE_UTILS="desktop-file-utils-0.15" +DHCP="dhcp-3.0.6" +DIFFUTILS="diffutils-3.0" +DOCBOOK_DSSSL_VER="1.79" +DOCBOOK_DSSSL="docbook-dsssl-${DOCBOOK_DSSSL_VER}" +DOCBOOK_UTILS="docbook-utils-0.6.14" +DOCBOOK_XML_VER="4.5" +DOCBOOK_XML_VER_PREV="4.1.2 4.2 4.3 4.4" +DOCBOOK_XML="docbook-xml-${DOCBOOK_XML_VER}" +DOCBOOK_XSL_VER="1.75.2" +DOCBOOK_XSL="docbook-xsl-${DOCBOOK_XSL_VER}" +DOSFSTOOLS="dosfstools-3.0.9" +DVDFS="dvdfs-0.2" +DVDRWTOOLS="dvd+rw-tools-7.1" + +E2FSPROGS="e2fsprogs-1.41.12" +EASYTAG="easytag-2.1" +ED="ed-1.4" +EGGDBUS="eggdbus-0.6" +EGLIBC="eglibc-2.12-20100725-r11059" +EGLIBC_PORTS="eglibc-ports-2.12-20100725-r11059" +UCLIBC="uClibc-0.9.30.1" +EMACS="emacs-23.1" +ESOUND="esound-0.2.37" +EXPAT="expat-2.0.1" + +FCRON="fcron-3.0.6" +FETCHMAIL="fetchmail-6.3.12" +FFMPEG="ffmpeg-svn-20539" +FIREFOX="firefox-3.6.source" +FILE_PKG="file-5.04" +FINDUTILS="findutils-4.4.2" +FLAC="flac-1.2.1" +FLEX="flex-2.5.35" +FONTCONFIG="fontconfig-2.7.3" +FREETYPE="freetype-2.3.11" +FRIBIDI="fribidi-0.10.9" +FUSE="fuse-2.8.3" + +GAWK="gawk-3.1.8" +GC="gc6.8" +GCC="gcc-4.5.2" +# Specify bug-fixing patches manually +#GCC_PATCHES="branch_update-1" +GDB="gdb-6.4" +GDBM="gdbm-1.8.3" +GIT="git-1.6.6.1" +GIT_MANPAGES="git-manpages-1.6.6.1" +GEDA_SYMBOLS="geda-symbols-1.2.0" +GEDA_GSCHEM="geda-gschem-1.2.0" +GEDA_GNETLIST="geda-gnetlist-1.2.0" +GEDA_SYMCHECK="geda-gsymcheck-1.2.0" +GEDA_GATTRIB="geda-gattrib-1.2.0" +GEGL="gegl-0.1.2" +GETDATE="getdate_rfc868-1.2" +GETTEXT="gettext-0.18.1.1" +GHOSTSCRIPT="ghostscript-8.71" +GHOSTSCRIPT_FONTS_STD="ghostscript-fonts-std-8.11" +GHOSTSCRIPT_FONTS_OTHER="ghostscript-fonts-other-6.0" +GNASH=" gnash-0.8.5" +GIMP="gimp-2.6.8" +GUTENPRINT="gutenprint-5.2.5" +GLIB="glib-2.24.2" +GLIBMM="glibmm-2.22.1" +GLITZ="glitz-0.5.6" +GPERF="gperf-3.0.4" + +# GNOME2 core packages +GNOME2_VER="gnome-2.28.1" +GNOME2_PREFIX="/opt/${GNOME2_VER}" +ORBIT2="ORBit2-2.14.17" +LIBBONOBO="libbonobo-2.24.2" +GCONF="GConf-2.28.0" +GNOME_MIME_DATA="gnome-mime-data-2.18.0" +GNOME_VFS="gnome-vfs-2.24.2" +GNOME_VFS_MONIKERS="gnome-vfs-monikers-2.15.3" +LIBGNOME="libgnome-2.28.0" +LIBGNOMECANVAS="libgnomecanvas-2.26.0" +LIBBONOBOUI="libbonoboui-2.24.2" +GNOME_KEYRING="gnome-keyring-2.28.1" +ICON_NAMING_UTILS="icon-naming-utils-0.8.90" +GNOME_ICON_THEME="gnome-icon-theme-2.28.0" +LIBGNOMEUI="libgnomeui-2.24.2" +LIBGAIL_GNOME="libgail-gnome-1.18.0" + +# Desktop +GNOME_THEMES="gnome-themes-2.28.1" +SCROLLKEEPER="scrollkeeper-0.3.14" +GNOME_DOC_UTILS="gnome-doc-utils-0.18.0" +GNOME_DESKTOP="gnome-desktop-2.28.0" +GNOME_BACKGROUNDS="gnome-backgrounds-2.28.0" +GNOME_MENUS="gnome-menus-2.28.0.1" +GNOME_PANEL="gnome-panel-2.28.0" +VTE="vte-0.22.2" +GNOME_TERMINAL="gnome-terminal-2.28.1" +LIBGTOP="libgtop-2.28.0" +LIBGNOMEKBD="libgnomekbd-2.28.0" +EEL="eel-2.18.3" +NAUTILUS="nautilus-2.28.1" +GNOME_CONTROL_CENTER="gnome-control-center-2.28.1" +GNOME_APPLETS="gnome-applets-2.28.0" +GNOME_SESSION="gnome-session-2.28.0" +GNOME_USER_DOCS="gnome-user-docs-2.28.0" + +# GNOME2 Additional Packages - Libraries +LIBGNOMECUPS="libgnomecups-0.2.2" +LIBGNOMEPRINT="libgnomeprint-2.18.0" +LIBGNOMEPRINTUI="libgnomeprintui-2.18.0" +GTKHTML="gtkhtml-3.16.2" +EVOLUTION_DATA_SERVER="evolution-data-server-1.12.2" +EVOLUTION_EXCHANGE="evolution-exchange-2.12.2" +EVOLUTION="evolution-2.12.2" +GTKSOURCEVIEW="gtksourceview-1.8.5" +SYSTEM_TOOLS_BACKENDS="system-tools-backends-1.4.2" +GNOME_AUDIO="gnome-audio-2.0.0" +GIFLIB="giflib-4.1.6" +# GNOME2 Additional Packages - Utilities +GEDIT="gedit-2.18.2" +EOG="eog-2.18.2" +EVINCE="evince-2.28.2" +FILE_ROLLER="file-roller-2.18.4" +GCONF_EDITOR="gconf-editor-2.18.0" +GNOME_UTILS="gnome-utils-2.18.1" +GNOME_SYSTEM_MONITOR="gnome-system-monitor-2.18.2" +NAUTILUS_CD_BURNER="nautilus-cd-burner-2.18.2" +GNOME_MEDIA="gnome-media-2.18.0" +GNOME_NETSTATUS="gnome-netstatus-2.12.1" +GCALCTOOL="gcalctool-5.9.14" +GUCHARMAP="gucharmap-1.10.0" +ZENITY="zenity-2.28.0" +GNOME_KEYRING_MANAGER="gnome-keyring-manager-2.18.0" +GNOME_VOLUME_MANAGER="gnome-volume-manager-2.17.0" +GNOME_SOUND_JUICER="sound-juicer-2.16.4" +GNOME_TOTEM="totem-2.28.1" +GDM="gdm-2.28.1" +GMP="gmp-5.0.1" +GNOME_MOUNT="gnome-mount-0.6" +GNUTLS="gnutls-2.8.5" +GOBJECT_INSTROSPECTION="gobject-introspection-0.6.14" +GOFFICE="goffice-0.2.2" +GNUMERIC="gnumeric-1.6.3" +GNUPG="gnupg-1.4.9" +GREP="grep-2.6.3" +GRIP="grip-3.3.1" +GROFF="groff-1.20.1" +GRUB="grub-1.98" +GSL="gsl-1.13" +GSTREAMER="gstreamer-0.10.20" +GST_PLUGINS_BASE="gst-plugins-base-0.10.20" +GST_PLUGINS_GOOD="gst-plugins-good-0.10.10" +GST_PLUGINS_BAD="gst-plugins-bad-0.10.8" +GST_PLUGINS_UGLY="gst-plugins-ugly-0.10.10" +GST_FFMPEG="gst-ffmpeg-0.10.6" +GTK="gtk+-2.18.7" +GTK_DOC="gtk-doc-1.12" +GTK_ENGINES="gtk-engines-2.18.5" +GTKMM="gtkmm-2.18.2" +GUILE="guile-1.8.7" +GZIP="gzip-1.4" + +HAL="hal-0.5.14" +HAL_INFO="hal-info-20091130" +HELP2MAN="help2man-1.37.1" +HICOLOR_ICON_THEME="hicolor-icon-theme-0.11" +HTTPD="httpd-2.2.8" # Apache +HVCLOCK="hvclock-1.0.0" + +IANA="iana-etc-2.30" +IMAGE_MAGICK="ImageMagick-6.6.0-0" +IMLIB2="imlib-1.4.2" +INDENT="indent-2.2.10" +INETUTILS="inetutils-1.7" +INKSCAPE="inkscape-0.47" +INTLTOOL="intltool-0.40.6" +IPROUTE2="iproute2-2.6.35" +IPTABLES="iptables-1.4.7" +ISO_CODES="iso-codes-3.11" + +JACK="jack-audio-connection-kit-0.118.0" +JADETEX="jadetex-3.13" +JASPER="jasper-1.900.1" +JAVA="jre-1.6.0_05" + +KBD="kbd-1.15.2" +KERBEROS5="krb5-1.4.1" +KERNEL="linux-2.6.37.1" +KVM="kvm-84" + +LAME="lame-398-2" +LCMS="lcms-1.18a" +LESS="less-436" +LESSTIF="lesstif-0.95.2" +LFS_BOOTSCRIPTS="lfs-bootscripts-20070813" +LIBA52="a52dec-0.7.4" +LIBART="libart_lgpl-2.3.20" +BOOST="boost_1_42_0" +LIBCROCO="libcroco-0.6.2" +LIBDVDCSS="libdvdcss-1.2.10" +LIBDVDREAD="libdvdread-0.9.7" +LIBEXIF="libexif-0.6.17" +LIBFAAD2="faad2-2.7" +LIBFAAC="faac-1.28" +LIBFFI="libffi-3.0.8" +LIBGAMIN="gamin-0.1.9" +LIBGCRYPT="libgcrypt-1.4.5" +LIBGEDA="libgeda-1.2.0" +LIBGLADE="libglade-2.6.4" +LIBGPG_ERROR="libgpg-error-1.7" +LIBGSF="libgsf-1.14.7" +LIBID3TAG="libid3tag-0.15.1b" +LIBIDL="libIDL-0.8.13" +LIBJPEG="libjpeg-7" +LIBMAD="libmad-0.15.1b" +LIBMNG="libmng-1.0.10" +LIBMUSICBRAINZ="libmusicbrainz-2.1.5" +LIBNOTIFY="libnotify-0.4.4" +LIBOGG="libogg-1.1.4" +LIBOIL="liboil-0.3.17" +LIBOPENJPEG="libopenjpeg-1.2" +LIBPCAP="libpcap-1.0.0" +LIBPNG="libpng-1.2.44" +LIBPROXY="libproxy-0.2.3" +LIBPTHREAD_STUBS="libpthread-stubs-0.3" +LIBRSVG="librsvg-2.26.0" +LIBSAMPLERATE="libsamplerate-0.1.7" +LIBSIGCPP="libsigc++-2.2.4.2" +LIBSNDFILE="libsndfile-1.0.21" +LIBSOUP="libsoup-2.28.2" +LIBSPF2="libspf2-1.2.5" +LIBTASN1="libtasn1-2.3" +LIBTHEORA="libtheora-1.1.1" +LIBTOOL="libtool-2.2.10" +LIBVORBIS="libvorbis-1.2.3" +VORBIS_TOOLS="vorbis-tools-1.2.0" +LIBUSB="libusb-1.0.2" +LIBUSB_COMPAT="libusb-compat-0.1.3" +LIBWNCK="libwnck-2.28.0" +LIBXKLAVIER="libxklavier-5.0" +LIBXML2="libxml2-2.7.7" +LIBXSLT="libxslt-1.1.26" +LILYPOND="lilypond-2.12.3" +LTSP_UTILS="ltsp-utils-0.25-0" +LYNX="lynx2.8.7rel.2" + +MAILMAN="mailman-2.1.8" +MAKE_PACKAGE="make-3.82" +MAN_DB="man-db-2.5.6" +MANPAGES="man-pages-3.30" +METACITY="metacity-2.18.5" +MFOUR="m4-1.4.15" +MILTER_GREYLIST="milter-greylist-4.0" +MILTER_SPF="smf-spf-2.0.1" +MODULE_INIT_TOOLS="module-init-tools-3.12" +MPC="mpc-0.8.2" +MPFR="mpfr-3.0.0" +MUTT="mutt-1.5.20" +MYSQL="mysql-5.1.42" + +NANO="nano-2.2.1" +NCURSES="ncurses-5.7" +NEON="neon-0.29.1" +NEWLIB="newlib-1.16.0" +NFS_UTILS="nfs-utils-1.2.3" +NMAP="nmap-4.20" +NSS="nss-3.12-with-nspr-4.7" + +OPENJADE="openjade-1.3.2" +OPENLDAP="openldap-2.3.38" +OPENSP="OpenSP-1.5.2" +OPENSSH="openssh-5.6p1" +OPENSSL="openssl-1.0.0b" +OPENSSL_ROOT_CERTS="BLFS-ca-bundle-3.12.8.0" + +PAM="Linux-PAM-1.1.3" +PANGO="pango-1.26.2" +PANGOMM="pangomm-2.26.0" +PARTED="parted-1.9.0" +PATCH_PACKAGE="patch-2.6" +PCIUTILS="pciutils-3.1.4" +PCMANFM="pcmanfm-0.5" +PCRE="pcre-8.00" +PERL="perl-5.12.2" +PERL_MOD_PDL="PDL-2.4.6" +PERL_MOD_PARSE_REDESCENT="Parse-RecDescent-1.965001" +PERL_MOD_XML_WRITER="XML-Writer-0.606" +PERL_MOD_XML_PARSER="XML-Parser-2.36" +PERL_MOD_XML_SIMPLE="XML-Simple-2.18" +PERL_MOD_HTML_TAGSET="HTML-Tagset-3.20" +PERL_MOD_HTML_PARSER="HTML-Parser-3.64" +PERL_MOD_APACHE_LOGGED_AUTH_DBI="Apache-LoggedAuthDBI-0.12" +PERL_MOD_DIGEST_SHA1="Digest-SHA1-2.12" +PERL_MOD_LWP="libwww-perl-5.834" +PERL_MOD_URI="URI-1.52" +PERL_MOD_NET_DNS="Net-DNS-0.66" +PHP="php-5.2.6" +PIXMAN="pixman-0.17.8" +POLKIT="polkit-0.96" +POLICYKIT="PolicyKit-0.9" +POPPLER="poppler-0.12.4" +PKG_CONFIG="pkg-config-0.23" +POPT="popt-1.15" +PORTAUDIO="portaudio-v19_20071207" +PORTMAP="portmap-6.0" +PPL="ppl-0.10.2" +PROCMAIL="procmail-3.22" +PROCPS="procps-3.2.8" +PSMISC="psmisc-22.12" +PULSEAUDIO="pulseaudio-0.9.21" +PYCAIRO="pycairo-1.8.8" +PYGOBJECT="pygobject-2.20.0" +PYGTK="pygtk-2.16.0" +PYTHON="Python-2.6.4" + +READLINE="readline-6.1" +REISERFSPROGS="reiserfsprogs-3.6.21" +RHYTHMBOX="rhythmbox-0.10.1" +RSYNC="rsync-3.0.7" + +SAMBA="samba-3.0.21c" +SANE_BACKENDS="sane-backends-1.0.19" +XSANE="xsane-0.996" +SASL2="cyrus-sasl-2.1.21" +SED="sed-4.2.1" +SENDMAIL="sendmail-8.13.6" +SENDMAIL_GID="bin" +SGML_COMMON="sgml-common-0.6.3" +SGML_DTD3_VER="3.1" +SGML_DTD3="sgml-dtd-${SGML_DTD3_VER}" +SGML_DTD4_VER="4.5" +SGML_DTD4="sgml-dtd-${SGML_DTD4_VER}" +SGML_SPM="SGMLSpm-1.03ii" +SHADOW="shadow-4.1.4.2" +SHARED_MIME_INFO="shared-mime-info-0.60" +SPAMASSASSIN="Mail-SpamAssassin-3.2.3" +SPEEX="speex-1.2rc1" +SPLINT="splint-3.1.1" +SPLIX="splix-2.0.0" +SQLITE="sqlite-3.6.22" +SQUIRRELMAIL="squirrelmail-1.5.1" +STARTUP_NOTIFICATION="startup-notification-0.9" +STRACE="strace-4.5.19" +SUBVERSION="subversion-1.6.6" +SYLPHEED="sylpheed-2.7.1" +SUDO="sudo-1.7.2p2" +SYSKLOGD="sysklogd-1.5" +SYSVINIT="sysvinit-2.86" + +T1LIB="t1lib-5.1.2" +TALLOC="talloc-2.0.1" +TANGO_ICON_THEME="tango-icon-theme-0.8.90" +TANGO_ICON_THEME_EXTRAS="tango-icon-theme-extras-0.1.0" +TAR_PACKAGE="tar-1.23" +TCPDUMP="tcpdump-4.0.0" +TCL="tcl8.5.8-src" +TCPWRAPPERS="tcp_wrappers_7.6" +TETEX_SRC="tetex-src-3.0" +TETEX_TEXMF="tetex-texmf-3.0" +TETEX_TEXMFSRC="tetex-texmfsrc-3.0" +TETEX_CM_SUPER="tetex-cm-super" +TEXINFO="texinfo-4.13a" +TFTP_HPA="tftp-hpa-0.49" +TIFF="tiff-3.9.4" +TK="tk8.5.8-src" +TRANSMISSION="transmission-1.34" + +UDEV="udev-160" +UDEV_CONFIG="udev-config-20100128" +UML_UTILITIES="uml_utilities_20070815" +UNRAR="unrar-3.7.8" +UNZIP="unzip-5.52" +UPSTART="upstart-0.6.3" +USBUTILS="usbutils-0.86" +UTIL_LINUX_NG="util-linux-ng-2.18" +UW_IMAP="imap-2004g" + +VORBIS_TOOLS="vorbis-tools-1.1.1" + +WGET="wget-1.11.4" +WHICH="which-2.20" +WINDOWMAKER="WindowMaker-0.92.0" +WINDOWMAKER_EXTRA="WindowMaker-extra-0.1" +WMNOTIFY="wmnotify-0.3.2" +WV="wv-1.2.4" + +XORG_VER="7.6-1" +XORG_APP=app-${XORG_VER} +XORG_DRIVER=driver-${XORG_VER} +XORG_VIDEO_NOUVEAU="xf86-video-nouveau-git-20110306" +XORG_FONT=font-${XORG_VER} +XORG_LIB=lib-${XORG_VER} +XORG_PROTO=proto-${XORG_VER} +XORG_UTIL=util-${XORG_VER} +LIBXAU=libXau-1.0.6 +LIBXDMCP=libXdmcp-1.1.0 +XBITMAPS=xbitmaps-1.1.1 +##LIBDRM=libdrm-2.4.23 +LIBDRM="libdrm-git-20110306" +MESALIB=MesaLib-7.9 +XCURSOR_THEMES=xcursor-themes-1.0.3 +XKEYBOARD_CONFIG=xkeyboard-config-2.0 +LUIT=luit-1.1.0 +XORG_SERVER=xorg-server-1.9.3 +XDM=xdm-1.1.10 +XCB_PROTO="xcb-proto-1.6" +XCB_UTIL="xcb-util-0.3.6" +LIBXCB="libxcb-1.7" + +XINETD="xinetd-2.3.14" +XMLTO="xmlto-0.0.23" +XMLTOMAN="xmltoman-0.4" +XTERM="xterm-267" +XVIDCORE="xvidcore-1.2.2" +XZ_UTILS="xz-4.999.9beta" + +YELP="yelp-2.28.0" + +ZIP="zip-3.0" + +ZLIB="zlib-1.2.5" diff --git a/config/sysinfos.amd64 b/config/sysinfos.amd64 new file mode 100644 index 0000000..754f304 --- /dev/null +++ b/config/sysinfos.amd64 @@ -0,0 +1,95 @@ +#!/bin/bash + +# This file contains the informations specific to the target system +# onto which Linux-HV will be installed + +# This is the number of make jobs that can be executed +# simultaneously. Normally, a value of 2 per processor +# gives good results. +MAKEJOBS=1 + +# Installation type: server, ltsp-server or workstation. +INST_TYPE="workstation" + +# New user to create +REGUSER="hugo" + +# Destination path where to install new Linux-HV system. This is usually where +# you have mounted your new LFS partition, but it can also be any directory. +# This is relevant only for stage 0 and 1. +LFS="/mnt/hvlinux" + +# Destination partition where to install new Linux-HV system +LFS_PARTITION="/dev/sdb7" + +# Boot partition (if applicable) +BOOT_PARTITION="/dev/sdb1" + +# Swap partition (if applicable) +SWAP_PARTITION="/dev/sdb2" + +# Define this when cross-compiling to the desired target +# architecture. Default is x86 32-bits architecture (i686). +# arm926t - ARM 926T little endian +# x86 (i686) +# x86_64 (AMD Athlon 64) +HVL_TARGET="x86_64" + +# Used for setting machine-specific option in CFLAGS and CPPFLAGS +MARCH_FLAGS="-march=k8" + +# Keyboard mapping (example: us) +KEYBOARD="us" + +# Sound card support: yes or no +SOUND_CARD="yes" + +# Removable media drives +CDROM="/dev/sr0" + +# Set to yes to have SANE support +SANE_SUPPORT="yes" +# If your scanner is located onto a remote computer, define the following +# variable to the IP address of that remote computer. +SANE_SERVER="" + +# Define this if you want to use a remote CUPS print server +#CUPS_SERVER="server.hugovil.com" + +TIMEZONE="America/Montreal" + +# General network settings +INTERFACES="eth0" +MACHINE_NAME="chambers64" +DOMAIN="mongol.com" +LAN_NETWORK_MASK="192.168.1.0/24" # Utilise par sane in stage3 +# Define to yes if you have a dynamic address and you use a dynamic dns +# service. +USE_DYNAMIC_DNS="no" + +# Network interface card eth0 settings (ROUTEUR/INTERNET) +BOOTPROTO[0]="dhcp" +IP_ADDRESS[0]="" +PREFIX_LENGTH[0]="" +# GATEWAY is not required if using DHCP +GATEWAY[0]="" + +# DNS servers addresses (not required if using DHCP) +NAMESERVER[0]="" + +# Define this if you want the mail addressed to the root user automatically +# be forwarded to someone else +MAIL_ADMIN="hugo" + +# Define to unix (mbox) or mbx +MAILBOX_FORMAT=unix + +# Alternate port for Sendmail (comment this line to use the standard port 25) +SENDMAIL_PORT="25" + +# Alternate port for Apache (comment this line to use the standard port 80) +HTTPD_PORT="80" +APACHE_USER="www" + +# Samba support +USE_SAMBA="no" diff --git a/config/sysinfos.atom b/config/sysinfos.atom new file mode 100644 index 0000000..7060b4a --- /dev/null +++ b/config/sysinfos.atom @@ -0,0 +1,95 @@ +#!/bin/bash + +# This file contains the informations specific to the target system +# onto which Linux-HV will be installed + +# This is the number of make jobs that can be executed +# simultaneously. Normally, a value of 2 per processor +# gives good results. +MAKEJOBS=1 + +# Installation type: server, ltsp-server or workstation. +INST_TYPE="workstation" + +# New user to create +REGUSER="hugo" + +# Destination path where to install new Linux-HV system. This is usually where +# you have mounted your new LFS partition, but it can also be any directory. +# This is relevant only for stage 0 and 1. +LFS="/mnt/stockage/hvlinux-hp-mini" + +# Destination partition where to install new Linux-HV system +LFS_PARTITION="/dev/sda3" + +# Boot partition (if applicable) +BOOT_PARTITION="/dev/sda1" + +# Swap partition (if applicable) +#SWAP_PARTITION="/dev/sdb2" + +# Define this when cross-compiling to the desired target +# architecture. Default is x86 32-bits architecture (i686). +# arm926t - ARM 926T little endian +# x86 (i686) +# x86_64 (AMD Athlon 64) +HVL_TARGET="x86" + +# Used for setting machine-specific option in CFLAGS and CPPFLAGS +MARCH_FLAGS="-march=atom -mssse3 -mfpmath=sse -fomit-frame-pointer" + +# Keyboard mapping (example: us) +KEYBOARD="us" + +# Sound card support: yes or no +SOUND_CARD="yes" + +# Removable media drives. Comment if your system doesn't have one. +#CDROM="/dev/sr0" + +# Set to yes to have SANE support +SANE_SUPPORT="yes" +# If your scanner is located onto a remote computer, define the following +# variable to the IP address of that remote computer. +SANE_SERVER="" + +# Define this if you want to use a remote CUPS print server +#CUPS_SERVER="server.hugovil.com" + +TIMEZONE="America/Montreal" + +# General network settings +INTERFACES="eth0" +MACHINE_NAME="gresimuth" +DOMAIN="mongol.com" +LAN_NETWORK_MASK="192.168.1.0/24" # Utilise par sane in stage3 +# Define to yes if you have a dynamic address and you use a dynamic dns +# service. +USE_DYNAMIC_DNS="no" + +# Network interface card eth0 settings (ROUTEUR/INTERNET) +BOOTPROTO[0]="dhcp" +IP_ADDRESS[0]="" +PREFIX_LENGTH[0]="" +# GATEWAY is not required if using DHCP +GATEWAY[0]="" + +# DNS servers addresses (not required if using DHCP) +NAMESERVER[0]="" + +# Define this if you want the mail addressed to the root user automatically +# be forwarded to someone else +MAIL_ADMIN="hugo" + +# Define to unix (mbox) or mbx +MAILBOX_FORMAT=unix + +# Alternate port for Sendmail (comment this line to use the standard port 25) +SENDMAIL_PORT="25" + +# Alternate port for Apache (comment this line to use the standard port 80) +HTTPD_PORT="80" +APACHE_USER="www" + +# Samba support +USE_SAMBA="no" diff --git a/config/sysinfos.server b/config/sysinfos.server new file mode 100644 index 0000000..bc696f6 --- /dev/null +++ b/config/sysinfos.server @@ -0,0 +1,96 @@ +#!/bin/bash + +# This file contains the informations specific to the target system +# onto which Linux-HV will be installed + +# This is the number of make jobs that can be executed +# simultaneously. Normally, a value of 2 per processor +# gives good results. +MAKEJOBS=1 + +# Installation type: server, ltsp-server or workstation. +INST_TYPE="server" + +# New user to create +REGUSER="" + +# Destination path where to install new Linux-HV system. This is usually where +# you have mounted your new LFS partition, but it can also be any directory. +# This is relevant only for stage 0 and 1. +LFS="/mnt/hvlinux" + +# Destination partition where to install new Linux-HV system +LFS_PARTITION="/dev/hda10" + +# Boot partition (if applicable) +BOOT_PARTITION="/dev/hda1" + +# Swap partition (if applicable) +SWAP_PARTITION="/dev/hda5" + +# Define this when cross-compiling to the desired target +# architecture. Default is x86 32-bits architecture (i686). +# arm926t - ARM 926T little endian +# x86 (i686) +# x86_64 (AMD Athlon 64) +HVL_TARGET="x86_64" + +# Used for setting machine-specific option in CFLAGS and CPPFLAGS +MARCH_FLAGS="-march=k8" + +# Keyboard mapping (example: us) +KEYBOARD="us" + +# Sound card support: yes or no +SOUND_CARD="no" + +# Removable media drives +CDROM="/dev/hdc" +DVD="/dev/hdc" + +# Define this if you want to use a remote CUPS print server +#CUPS_SERVER="server.hugovil.com" + +TIMEZONE="America/Montreal" + +# General network settings +INTERFACES="eth0 eth1" +MACHINE_NAME="server" +DOMAIN="hugovil.com" +LAN_NETWORK_MASK="192.168.0.0/24" +# Define to yes if you have a dynamic address and you use a dynamic dns +# service. +USE_DYNAMIC_DNS="yes" + +# Network interface card #1 settings (INTERNET) +BOOTPROTO[0]="dhcp" +IP_ADDRESS[0]="" +# GATEWAY is not required if using DHCP +GATEWAY[0]="" + +# Network interface card #2 settings (LAN) +BOOTPROTO[1]="static" +IP_ADDRESS[1]="192.168.0.1" +PREFIX_LENGTH[1]=24 + +# DNS servers addresses (not required if using DHCP) +#NAMESERVER[0]="24.200.243.250" +#NAMESERVER[1]="24.201.245.106" +#NAMESERVER[2]="24.200.243.242" + +# Define this if you want the mail addressed to the root user automatically +# be forwarded to someone else +MAIL_ADMIN="hugo" + +# Define to unix (mbox) or mbx +MAILBOX_FORMAT=unix + +# Alternate port for Sendmail (comment this line to use the standard port 25) +SENDMAIL_PORT="25" + +# Alternate port for Apache (comment this line to use the standard port 80) +HTTPD_PORT="80" +APACHE_USER="www" + +# Samba support +USE_SAMBA="no" diff --git a/config/sysinfos.workstn b/config/sysinfos.workstn new file mode 100644 index 0000000..f178f65 --- /dev/null +++ b/config/sysinfos.workstn @@ -0,0 +1,89 @@ +#!/bin/bash + +# This file contains the informations specific to the target system +# onto which Linux-HV will be installed + +# This is the number of make jobs that can be executed +# simultaneously. Normally, a value of 2 per processor +# gives good results. +MAKEJOBS=1 + +# Installation type: server, ltsp-server or workstation. +INST_TYPE="workstation" + +# New user to create +REGUSER="" + +# Destination path where to install new Linux-HV system. This is usually where +# you have mounted your new LFS partition, but it can also be any directory. +# This is relevant only for stage 0 and 1. +LFS="/mnt/hvlinux" + +# Destination partition where to install new Linux-HV system +LFS_PARTITION="/dev/hda10" + +# Boot partition (if applicable) +BOOT_PARTITION="/dev/hda1" + +# Swap partition (if applicable) +SWAP_PARTITION="/dev/hda5" + +# Define this when cross-compiling to the desired target +# architecture. Default is x86 32-bits architecture (i686). +# arm926t - ARM 926T little endian +# x86 (i686) +# x86_64 (AMD Athlon 64) +HVL_TARGET="x86_64" + +# Used for setting machine-specific option in CFLAGS and CPPFLAGS +MARCH_FLAGS="-march=k8" + +# Keyboard mapping (example: us) +KEYBOARD="us" + +# Sound card support: yes or no +SOUND_CARD="yes" + +# Removable media drives +CDROM="/dev/hdc" +DVD="/dev/hdc" + +#-------------------- +# SCANNER definitions +#-------------------- +# Set to yes to have SANE support +SANE_SUPPORT="no" +# Define to the driver name corresponding to your scanner, if you have one +# (see SANE documentation for drivers name). Comment out if you will be using +# a scanner on a remote computer. +SANE_DRIVER="" +# If your scanner is located onto a remote computer, define the following +# variable to the IP address of that remote computer. +SANE_SERVER="" + +# Define this if you want to use a remote CUPS print server +CUPS_SERVER="server.hugovil.com" + +# Samba support +USE_SAMBA="no" + +TIMEZONE="America/Montreal" + +# General network settings +INTERFACES="eth0" +MACHINE_NAME="workstation" +DOMAIN="hugovil.com" +LAN_NETWORK_MASK="192.168.0.0/24" +# Define to yes if you have a dynamic address and you use a dynamic dns +# service. +#USE_DYNAMIC_DNS="yes" + +# Network interface card #1 settings (LAN) +BOOTPROTO[0]="static" +IP_ADDRESS[0]="192.168.0.2" +PREFIX_LENGTH[0]="24" +# GATEWAY is not required if using DHCP +GATEWAY[0]="192.168.0.1" + +# DNS server addresses (not required if using DHCP) +NAMESERVER[0]="192.168.0.1" diff --git a/dependencies b/dependencies deleted file mode 100644 index b207109..0000000 --- a/dependencies +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/sh - -${INTLTOOL}: ${PERL_MOD_XML_PARSER} -${GTKMM}: ${PANGOMM} -${INKSCAPE}: ${POPPLER} ${BOOST} ${INTLTOOL} ${GTKMM} -${TETEX_SRC}: ${ED} -${PHP}: ${CURL} - -# Audio utilities -${AUDACITY}: ${LIBID3TAG} wxgtk -# Rhythmbox-0.11.6 needs latest totem -${RHYTHMBOX}: ${LIBID3TAG} -# Easytag requiert id3lib pour les MP3 -${EASYTAG}: id3lib OR ${LIBID3TAG} -${AUDACIOUS}: taglib, libmowgli, mcs -${GRIP}: id3lib -${PULSEAUDIO}: liboil, gdbm - -${GOFFICE}: ${LIBGSF} ${PCRE} ${PANGO} -${GNUMERIC}: ${GOFFICE} -${ABIWORD}: ${WV} ${GOFFICE} -${GIT}: cpio - -${GIMP}: ${BABL} ${INTTOOL} ${PYGTK} - -${GNASH}: ${AGG} - -${FIREFOX}: ${SQLITE} - -${PROCMAIL}: ${SENDMAIL} -${FETCHMAIL}: ${OPENSSL} ${PROCMAIL} - -${FUSE}: ${UDEV} - -${JASPER}: ${LIBJPEG} ${XORG} ${MESALIB} -${GHOSTSCRIPT}: ${LIBJPEG} ${LIBPNG} ${JASPER} ${GTK} ${XORG} - -${POPPLER}: ${FONTCONFIG} ${LIBJPEG} ${CAIRO} ${GLIB} ${LIBOPENJPEG} -${EVINCE}: ${POPPLER} ${LIBGNOMEUI} ${GNOME_ICON_THEME} ${GNOME_DOC_UTILS} ${TETEX_SRC} ${GHOSTSCRIPT} ${T1LIB} ${LIBSPECTRE} - -${DBUS}: ${EXPAT} ${LIBXML2} ${XORG_LIBS} -${GLIB}: ${PCRE} -${DBUS_GLIB}: ${DBUS} ${GLIB} ${EXPAT} -${EGGDBUS}: ${DBUS_GLIB} -${GOBJECT_INSTROSPECTION}: ${GLIB} ${LIBFFI} -${POLKIT}: ${GOBJECT_INSTROSPECTION} ${EGGDBUS} - -${HELP2MAN}: ${PERL} -${BITBAKE}: ${HELP2MAN} - -${LIBTIFF}: ${XORG} - -${GIFLIB}: ${XORG} -${LCMS}: ${LIBTIFF} ${LIBJPEG} ${PYTHON} - -${LIBMNG}: ${LCMS} ${LIBJPEG} - -${FONTCONFIG}: ${FREETYPE} ${EXPAT} - -${LIBRSVG}: ${GTK} ${LIBXML2} ${LIBCROCO} ${LIBGSF} - -${GTK_ENGINES}: ${PERL_MOD_XML_PARSER} - -${IMLIB2}: ${FREETYPE} ${LIBJPEG} ${LIBPNG} ${LIBTIFF} ${XORG} ${GIFLIB} ${LIBID3TAG} - -${CAIRO}: ${LIBPNG} ${PIXMAN} -${CAIROMM}: ${CAIRO} - -${LIBDVDREAD}: ${LIBDVDCSS} -${DVDFS}: ${FUSE} ${LIBDVDREAD} - -${DVDRWTOOLS}: ${CDRTOOLS} - -${T1LIB}: ${XORG} -${TETEX}: ${ED} ${LIBPNG} ${T1LIB} ${XORG} ${GD} - -${GIT}: ${OPENSSL} ${EXPAT} ${ZLIB} ${PERL} ${CURL} - -${NMAP}: ${OPENSSL} ${PCRE} ${LIBPCAP} - -${GETDATE}: ${FCRON} - -${SGML_DTD3}: ${SGML_COMMON} -${SGML_DTD4}: ${SGML_COMMON} ${UNZIP} -${OPENSP}: ${SGML_COMMON} -${OPENJADE}: ${OPENSP} -${DOCBOOK_DSSSL}: ${OPENJADE} -${DOCBOOK_UTILS}: ${DOCBOOK_DSSSL} ${SGML_SPM} -${LIBXML2}: ${PYTHON} -${DOCBOOK_XML}: ${LIBXML2} -${DOCBOOK_XSL}: ${LIBXML2} -${LIBXSLT}: ${LIBXML2} -${XMLTO}: ${LIBXSLT} ${DOCBOOK_XML} ${DOCBOOK_XSL} - -${EMACS}: ${GTK} - -webalizer: gd-2.0.33 - -${LILYPOND}: fontforge mftrace t1utils autotrace - -${TANGO}: ${PERL_MOD_XML_SIMPLE} ${PERL_MOD_PARSE_REDESCENT} - -${LIBGPG_ERROR}: -${LIBGCRYPT}: ${LIBGPG_ERROR} -${LIBTASN1}: -${GUILE}: -${GNUTLS}: ${LIBGCRYPT} ${LIBTASN1} ${GUILE} - -${LIBIDL}: ${GLIB} -${ORBIT2}: ${LIBIDL} ${OPENSSL} -${GCONF}: ${ORBIT2} ${POLKIT} ${GTK} -${LIBPROXY}: ${GCONF} -${GNOME_KEYRING}: ${GCONF} ${LIBTASN1} ${LIBGCRYPT} -${LIBSOUP}: ${GNUTLS} ${GNOME_KEYRING} ${LIBPROXY} ${SQLITE} ${LIBXML2} diff --git a/functions b/functions index 17dcbdb..89230b9 100644 --- a/functions +++ b/functions @@ -496,23 +496,14 @@ hv_groupadd() { arguments=${*} - set +e - + # The last argument is the group name while [ $# -ne 0 ]; do - last_argument=${*} + groupname=${*} shift done - groupadd ${arguments} - error=$? - - set -e - - if [ ${error} -eq 0 -o ${error} -eq 9 ]; then - # 9 means the group already exists - return ${EXIT_SUCCESS} - else - exit ${EXIT_FAILURE} + if ! cat /etc/group | egrep "^${groupname}:" 1> /dev/null 2>&1; then + groupadd ${arguments} fi } @@ -522,7 +513,7 @@ hv_useradd() { arguments="${*}" - # The last argument is the username + # The last argument is the user name while [ $# -ne 0 ]; do username=${*} shift @@ -753,9 +744,9 @@ ipkg_display_build_infos() # -l Unique identification label in 'install.log' # (default is package name and version) # -m Installation mode: -# ac Standard autoconf package, build in separate dir -# acnb Standard autoconf package, building in source dir -# nb No autoconf (configure) +# ac Standard autoconf package, build in separate dir (default) +# acnb Standard autoconf package, build in source dir +# noac No autoconf (configure) # gnome # xorg # pm @@ -847,7 +838,7 @@ ipkg() exec > ${PACKAGE_LOG} 2>&1 # Sourcing standard ac script. - source ${SCRDIR}/../functions-ac + source ${SCRDIR}/../functions-ipkg source ${SCRDIR}/${DEFAULT_IPKG_SCRIPT} ipkg_script ${ALT_SCRIPT_NAME} diff --git a/functions-ac b/functions-ac deleted file mode 100644 index f8669af..0000000 --- a/functions-ac +++ /dev/null @@ -1,170 +0,0 @@ -#!/bin/bash - -function_exists() -{ - local FUNCTION_NAME=$1 - - [ -z "$FUNCTION_NAME" ] && return 1 - - declare -F "$FUNCTION_NAME" > /dev/null 2>&1 - - return $? -} - -unset -f hvconfig_pre -unset -f hvconfig_cache -unset -f hvconfig_post -unset -f hvbuild_post - -ipkg_decompress_package() -{ - echo "Decompressing package" - decompress_package ${PACKAGE} - - local DECOMPRESSED_DIRNAME=$(static_decompressed_dirname ${PACKAGE}) - - # Rename the decompressed package as per the package name if necessary - if [ "x${DECOMPRESSED_DIRNAME}" != "x${PACKAGE}" ]; then - mv -v ${LFS_TMP}/${DECOMPRESSED_DIRNAME} ${LFS_TMP}/${PACKAGE} - fi - - # Displaying package source size in log file - echo " Source size:" $(du -h -s ${LFS_TMP}/${PACKAGE} | awk '{ print $1 }') 1>> ${LFS_LOG_FILE} - - # Removing old build directory (if any) - if [ -d ${LFS_TMP}/${PACKAGE}-build ]; then - echo "Removing old build directory" - rm -rf ${LFS_TMP}/${PACKAGE}-build - fi - - # Creating build directory - mkdir -v ${LFS_TMP}/${PACKAGE}-build -} - -# Default configure function -hvconfig() -{ - if [ "x${IPKG_MODE}" = "xacnb" -o "x${IPKG_MODE}" = "xpm" ]; then - # Broken autoconf package that must build in source dir, or Perl module. - cd ${LFS_TMP}/${PACKAGE} - else - # Standard autoconf mode - cd ${LFS_TMP}/${PACKAGE}-build - fi - - if [ "x${IPKG_MODE}" = "xpm" ]; then - # Configure Perl module. - # The option "-n" is used to avoid having to answer a question and - # accept the default configuration. - perl Makefile.PL -n ${CONFIGURE_OPTS} - else - # Standard configure script - ${LFS_TMP}/${PACKAGE}/configure ${CONFIGURE_OPTS} - fi -} - -# Default build function -hvbuild() -{ - if [ "x${IPKG_MODE}" = "xacnb" -o \ - "x${IPKG_MODE}" = "xnoac" -o \ - "x${IPKG_MODE}" = "xpm" ]; then - # Broken autoconf package that must build in source dir, or Perl module. - cd ${LFS_TMP}/${PACKAGE} - fi - - ${HVMAKE} - ${HVMAKE} install -} - -# Default patch applying function -hvpatch() -{ - # Applying patches (if any) - apply_patches ${PACKAGE} -} - -ipkg_finish() -{ - # Make sure to return to scripts directory - cd ${SCRDIR} - - # Displaying package build size in log file - BUILD_SIZE=$(du -h -s -c ${LFS_TMP}/${PACKAGE} ${LFS_TMP}/${PACKAGE}-build | grep total | awk '{ print $1 }') - echo " Build size : ${BUILD_SIZE}" 1>> ${LFS_LOG_FILE} - - # Some scripts need to preserve the source or build directory. They can - # do so by renaming them. - if [ -d ${LFS_TMP}/${PACKAGE} ]; then - # Removing source directory - echo "Removing source directory" - rm -rf ${LFS_TMP}/${PACKAGE} - fi - if [ -d ${LFS_TMP}/${PACKAGE}-build ]; then - # Removing build directory - echo "Removing build directory" - rm -rf ${LFS_TMP}/${PACKAGE}-build - fi -} - -# This is the main function doing all the work -# Arg #1: alternate script name (optional) -ipkg_script() -{ - if [ $# -eq 1 ]; then - # Use supplied script name - PACKAGE_DEF=${SCRDIR}/pkg/${1} - else - # Use default script name - PACKAGE_DEF=${SCRDIR}/pkg/$(get_pkg_name ${PACKAGE}) - - fi - - ipkg_decompress_package - - if [ -f ${PACKAGE_DEF} ]; then - echo "Load custom package functions and definitions from ${PACKAGE_DEF}" - source ${PACKAGE_DEF} - fi - - hvpatch - - # Execute pre-configure function if applicable - if function_exists hvconfig_pre ; then - echo "Running configure pre-script" - hvconfig_pre - fi - - # Execute config-cache function if applicable - if function_exists hvconfig_cache ; then - echo "Running configure cache script" - hvconfig_cache - CONFIGURE_OPTS="\ - ${CONFIGURE_OPTS} \ - --cache-file=${LFS_TMP}/${PACKAGE}-build/config.cache" - fi - - ipkg_display_build_infos - - if [ "x${IPKG_MODE}" = "xnoac" ]; then - echo "Not calling configure because ${PACKAGE} has no configure script" - else - hvconfig - fi - - # Execute post-configure function if applicable - if function_exists hvconfig_post ; then - echo "Running configure post-script" - hvconfig_post - fi - - hvbuild - - # Execute post-build function if applicable - if function_exists hvbuild_post ; then - echo "Running build post-script" - hvbuild_post - fi - - ipkg_finish -} diff --git a/functions-fpkg b/functions-fpkg new file mode 100644 index 0000000..a72b304 --- /dev/null +++ b/functions-fpkg @@ -0,0 +1,556 @@ +#!/bin/bash + +LFS_PKG_BASE="$(dirname $(pwd))/packages" +LFS_PKG_DIR="${LFS_PKG_BASE}/${LFS_STAGE}" +LFS_LOG_DIR="${LFS}/var/log/hvlinux-install/${LFS_STAGE}" +LFS_LOG_FILE="${LFS_LOG_DIR}/pkg-update.log" +WGET_LOG_FILE="${LFS_LOG_DIR}/pkg-wget.log" + +# URL +LFS_BASE_URL="http://www.linuxfromscratch.org" +CLFS_BASE_URL="http://svn.cross-lfs.org/svn/repos/cross-lfs/trunk" +HV_BASE_URL="http://www.hugovil.com/hvlinux-repository" + +LFS_PATCHES_URL="${LFS_BASE_URL}/patches/lfs/development" +BLFS_PATCHES_URL="${LFS_BASE_URL}/patches/blfs/svn" +CLFS_PATCHES_URL="http://patches.cross-lfs.org/dev" +HV_PATCHES_URL="${HV_BASE_URL}/patches" + +LFS_PACKAGES_URL="ftp://ftp.osuosl.org/pub/lfs/lfs-packages/conglomeration" +HV_PACKAGES_URL="${HV_BASE_URL}/packages" +SOURCEFORGE_URL="http://cdnetworks-us-1.dl.sourceforge.net" +GNOME_URL="http://ftp.gnome.org/pub/gnome/sources" +GNU_URL="http://ftp.gnu.org/pub/gnu" +TETEX_URL="http://www.tug.org/ftp/tex-archive/systems/unix/teTeX" +BLFS_XORG_URL="http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg" +XORG_URL="http://xorg.freedesktop.org/releases/individual" + +WGETCMD="wget --directory-prefix=${LFS_PKG_DIR} --timeout=15 --tries=3 -nc --continue --no-check-certificate --no-verbose --output-file=${WGET_LOG_FILE}" + +LFS_PATCHES_LIST=${LFS_PKG_DIR}/patches-list-lfs.html +BLFS_PATCHES_LIST=${LFS_PKG_DIR}/patches-list-blfs.html +CLFS_PATCHES_LIST=${LFS_PKG_DIR}/patches-list-clfs.html +HV_PATCHES_LIST=${LFS_PKG_DIR}/patches-list-hv.html + +# Arg. #1: URL for patches repository. +# Arg. #2: Destination filename. +static_fetch_patches_list() +{ + PATCHES_URL=${1} + PATCHES_LIST_FILENAME=${2} + + ${WGETCMD} "${PATCHES_URL}/" && + + # Append log to global log file + cat ${WGET_LOG_FILE} >> ${LFS_LOG_FILE} && + + mv ${LFS_PKG_DIR}/index.html ${PATCHES_LIST_FILENAME} +} + +# Arg. #1: URL for patches repository. The trailing +# slash is absolutely necessary for this to work. +update_packages_init() +{ + # Execute a return statement instead of exit, to be able to continue with + # downloading other packages + export RCMD_NO_EXIT=1 + + # First create log directory if it does not exists. + if [ ! -d ${LFS_LOG_DIR} ]; then + install -m755 -d ${LFS_LOG_DIR} || exit 1 + fi + + # Then create destination directory if it does not exists. + if [ ! -d ${LFS_PKG_DIR} ]; then + install -v -m755 -d ${LFS_PKG_DIR} 1> ${LFS_LOG_FILE} 2>&1 || exit 1 + fi + + if [ -n "${USE_LFS_PATCHES}" ]; then + # Getting list of all patches from LFS server. + rcmd "Fetching LFS patches list" static_fetch_patches_list ${LFS_PATCHES_URL} ${LFS_PATCHES_LIST} + fi + + if [ -n "${USE_BLFS_PATCHES}" ]; then + # Getting list of all patches from BLFS server. + rcmd "Fetching BLFS patches list" static_fetch_patches_list ${BLFS_PATCHES_URL} ${BLFS_PATCHES_LIST} + fi + + if [ -n "${USE_CLFS_PATCHES}" ]; then + # Getting list of all patches from CLFS server. + rcmd "Fetching CLFS patches list" static_fetch_patches_list ${CLFS_PATCHES_URL} ${CLFS_PATCHES_LIST} + fi + + if [ -n "${USE_HV_PATCHES}" ]; then + # Getting list of all patches from hugovil.com server. + rcmd "Fetching hugovil.com patches list" static_fetch_patches_list ${HV_PATCHES_URL} ${HV_PATCHES_LIST} + fi +} + +# Get patch package if it is not in the repository +# Arg. #1: Package name and version +# Arg. #2: Patches list file (HTML) +# Arg. #3: Patches URL +static_checkpatch() +{ + local PACK=${1} + local PATCHES_LIST=${2} + local PATCHES_URL=${3} + + # Remplace les "+" par "%2B" + local PACK_URL=$(echo $PACK | sed s!\+!%2B!g) + + local PATCHES_FOUND=$(cat ${PATCHES_LIST} | grep "${PACK_URL}-" | sed "s/.*\(${PACK_URL}-.*\.patch\).*/\1/") + if [ -n "${PATCHES_FOUND}" ]; then + for p in ${PATCHES_FOUND}; do + # Remplace les "%2B" par "+" + PATCH_NAME=$(echo ${p} | sed s!%2B!\+!g) + + if [ ! -f ${LFS_PKG_DIR}/${PATCH_NAME} ]; then + rcmd "Fetching ${PATCH_NAME} from ${PATCHES_URL}" ${WGETCMD} ${PATCHES_URL}/${p} + fi + done + fi +} + +# Get patch package if it is not in the repository +# Arg. #1: Package name and version +static_getpatch() +{ + PACK=${1} + + # Checking for correct number of arguments + if [ $# -ne 1 ]; then + echo "${FUNCNAME}(), wrong number of arguments: ${*}" + return 1 + fi + + if [ -n "${USE_LFS_PATCHES}" ]; then + # Checking if patch is available from LFS. + static_checkpatch ${PACK} ${LFS_PATCHES_LIST} ${LFS_PATCHES_URL} + fi + + if [ -n "${USE_BLFS_PATCHES}" ]; then + # Checking if patch is available from BLFS. + static_checkpatch ${PACK} ${BLFS_PATCHES_LIST} ${BLFS_PATCHES_URL} + fi + + if [ -n "${USE_CLFS_PATCHES}" ]; then + # Checking if patch is available from CLFS. + static_checkpatch ${PACK} ${CLFS_PATCHES_LIST} ${CLFS_PATCHES_URL} + fi + + if [ -n "${USE_HV_PATCHES}" ]; then + # Checking if patch is available from hugovil.com. + static_checkpatch ${PACK} ${HV_PATCHES_LIST} ${HV_PATCHES_URL} + fi +} + +# Convert multiple compressed gzip files to bzip2. +# Usage: gztobz2 [FILES] +gztobz2() +{ + if [ $# = 0 ]; then + echo "$0: -- Convert multiple compressed gzip files to bzip2." + echo "Usage: $0: [FILES]" + return 1 + fi + + while [ $# -ne 0 ]; do + local ORIG_GZIPPED_FILENAME=${1} + + # Checking if input file exist. + if [ ! -f $1 ]; then + echo "$0: File ${ORIG_GZIPPED_FILENAME} not found." + return 1 + fi + + # Checking if input file is a valid gzipped file. + gzip -t ${ORIG_GZIPPED_FILENAME} + if [ $? -ne 0 ] ; then + echo "$0: File ${ORIG_GZIPPED_FILENAME} is not a valid gzip file." + return 1 + fi + + # Obtaining uncompressed name of file + local FILENAME=$(gunzip -l ${ORIG_GZIPPED_FILENAME} | sed '1d' | sed 's/\(.*\)% \(.*\)/\2/') + + # Decompressing file to standard output and piping result to bzip2 + gunzip ${ORIG_GZIPPED_FILENAME} --stdout | bzip2 --best > ${FILENAME}.bz2 + if [ $? -ne 0 ] ; then + echo "$0: Error converting file ${ORIG_GZIPPED_FILENAME} to bzip2." + return 1 + fi + + # Keeping the original file's timestamp + touch --reference=${ORIG_GZIPPED_FILENAME} ${FILENAME}.bz2 + + # Deleting original gzipped file + if [ -f ${FILENAME}.bz2 ]; then + rm ${ORIG_GZIPPED_FILENAME} + fi + + shift + done +} + +detect_file_not_found() +{ + # HTTP: will return error code 404. + # FTP: will say "File not found" + if grep "404" ${WGET_LOG_FILE} 1> /dev/null 2>&1; then + echo "404 NOTFOUND" + return 0 + elif grep "No such file" ${WGET_LOG_FILE} 1> /dev/null 2>&1; then + echo "No such file" + return 0 + else + return 1 + fi +} + +# Get package if it is not in the repository +# Arg. #1: Package name and version +# Arg. #2: URL +# Arg. #3: Optional extension +static_getpkg() +{ + local PACK=${1} + local URL=${2} + local MY_ARCH_EXT=${3} + + # Checking for correct number of arguments + if [ $# -ne 2 -a $# -ne 3 ]; then + echo "${FUNCNAME}(), wrong number of arguments: ${*}" + return 1 + fi + + if [ -z "${MY_ARCH_EXT}" ]; then + # List of default archive extensions to try + MY_ARCH_EXT="tar.bz2 tar.gz tgz tar.Z" + fi + + for arch_ext in ${MY_ARCH_EXT}; do + # Don't take any chance: remove any partially downloaded file. + # If we arrive here, it means the final destination file was not found + # so we can safely remove any file prior to trying to download it. + rm -f ${LFS_PKG_DIR}/${PACK}.${arch_ext} + + rcmd "Fetching ${PACK}.${arch_ext}" ${WGETCMD} ${URL}/${PACK}.${arch_ext} + wget_status=$? + + # Append log to global log file + cat ${WGET_LOG_FILE} >> ${LFS_LOG_FILE} + + # Failure: if it was a connection timeout, don't try for other file + # extensions. + if grep "failed: Connection timed out" ${WGET_LOG_FILE} 1> /dev/null 2>&1; then + echo "Error, wget reported: Connection timed out" + return 1 + fi + + if detect_file_not_found; then + # Try next archive extension if web server reported that file is not + # found. + continue; + fi + + if [ ${wget_status} -ne 0 ]; then + echo "Error fetching package ${PACK}.${arch_ext}" + return 1 + fi + + # If we are here, it means the file was successfully downloaded. + if [ "x${arch_ext}" = "xtar.gz" -o "x${arch_ext}" = "xtgz" \ + -o "x${arch_ext}" = "xtar.Z" ]; then + gztobz2 ${LFS_PKG_DIR}/${PACK}.${arch_ext} + fi + return $? + done + + # Failure or file not found + return 1 +} + +# Get package if it is not in the repository +# Arg. #1: Package name and version +# Arg. #2: URL +# Options: +# -e File extension (default is tar.bz2) +# -d Fetch directory (default is LFS_PKG_DIR) +# -f Filename on server (default is PACKAGE) +# -h Display this help and returns +# -s Subdirectory on server +fpkg() +{ + local FILE_EXT="" + local DEST_DIR="" + local SRC_FILENAME="" + local SRC_DIR="" + + while getopts "e:d:f:hs:" flag ;do + case ${flag} in + e) + # File extension + FILE_EXT=${OPTARG} + ;; + d) + # Fetch directory (where to put file) + DEST_DIR=${OPTARG} + ;; + f) + # Filename if different than package name + SRC_FILENAME=${OPTARG} + ;; + s) + SRC_DIR=${OPTARG} + ;; + ?) + echo "${FUNCNAME}(): Invalid option: ${OPTARG}." + return 1 + ;; + esac + done + shift `expr "${OPTIND}" - 1` + + unset OPTSTRING + unset OPTIND + unset OPTARG + + # Checking for correct number of arguments + if [ $# -ne 2 ]; then + echo "${FUNCNAME}(), wrong number of arguments: ${*}" + return 1 + fi + + local PACK=${1} + local URL=${2} + + if [ -z "${SRC_FILENAME}" ]; then + # Default source filename = name of package + SRC_FILENAME=${PACK} + fi + + if [ -z "${FILE_EXT}" -o \ + "x${FILE_EXT}" = "xtar.gz" -o \ + "x${FILE_EXT}" = "xtgz" -o \ + "x${FILE_EXT}" = "xtar.Z" -o \ + "x${FILE_EXT}" = "xtar.bz2" \ + ]; then + FINAL_EXT=tar.bz2 + else + FINAL_EXT=${FILE_EXT} + fi + + if [ -z "${DEST_DIR}" ]; then + # Default destination directory + DEST_DIR=${LFS_PKG_DIR} + fi + + mkdir -v -p ${DEST_DIR} >> ${LFS_LOG_FILE} 2>&1 + + if [ -z "${SRC_DIR}" ]; then + # Default source subdirectory on server + SRC_DIR="" + else + URL=${URL}/${SRC_DIR} + fi + + DEST_FILE=${DEST_DIR}/${PACK}.${FINAL_EXT} + + if [ ! -f ${DEST_FILE} ]; then + set +e + static_getpkg ${SRC_FILENAME} ${URL} ${FILE_EXT} + set -e + + # Move file if source filename is not equal to package name and/or destination + # directory is not the default: + DOWNLOADED_FILE=${LFS_PKG_DIR}/${SRC_FILENAME}.${FINAL_EXT} + + if [ "${DEST_FILE}" != "${DOWNLOADED_FILE}" ]; then + mv ${DOWNLOADED_FILE} ${DEST_FILE} + fi + fi + + # Test integrity of archive if requested + if [ -f ${DEST_FILE} -a -n "${TEST_INTEGRITY}" -a "x${FINAL_EXT}" = "xtar.bz2" ]; then + rcmd "Testing integrity of ${PACK}.${FINAL_EXT}" bzip2 -t ${DEST_FILE} + fi + + # Check for available patches with PACKAGE (TARGET) name. + static_getpatch ${PACK} + + if [ ${SRC_FILENAME} != ${PACK} ]; then + # Check for available patches with SRC_FILENAME name. + static_getpatch ${SRC_FILENAME} + + # Rename any patch fetched (in fpkg call) and replace SOURCE by TARGET + # in patch name. + if ls ${LFS_PKG_DIR}/${SRC_FILENAME}-*.patch 1> /dev/null 2>&1; then + echo "CMD=${SRC_FILENAME} ${PACK} ${LFS_PKG_DIR}/${SRC_FILENAME}-*.patch" + rename ${SRC_FILENAME} ${PACK} ${LFS_PKG_DIR}/${SRC_FILENAME}-*.patch + fi + fi +} + +# Get package if it is not in the repository +# Arg. #1: Package name and version +# Arg. #2: Directory name (optional) +fpkg_gnu() +{ + local PACK=${1} + + if [ $# -eq 2 ]; then + NAME=${2} + else + NAME=$(get_pkg_name ${PACK}) + fi + + # Checking for correct number of arguments + if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${FUNCNAME}(), wrong number of arguments: ${*}" + return 1 + fi + + fpkg ${PACK} "${GNU_URL}/${NAME}" +} + +# Fetch Gnome package (if it is not in the repository). +# Arg. #1: Package name and version +# Arg. #2: Directory name (optional) +fpkg_gnome() +{ + PACK=${1} + + if [ $# -eq 2 ]; then + NAME=${2} + else + NAME=$(get_pkg_name ${PACK}) + fi + + # Checking for correct number of arguments + if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${FUNCNAME}(), wrong number of arguments: ${*}" + return 1 + fi + + fpkg ${PACK} "${GNOME_URL}/${NAME}/$(get_pkg_ver_base ${PACK})" +} + +# Get package if it is not in the repository +# Arg. #1: Package name and version +# Arg. #2: Directory name (optional) +fpkg_sf() +{ + PACK=${1} + + if [ $# -eq 2 ]; then + NAME=${2} + else + NAME=$(get_pkg_name ${PACK}) + fi + + # Checking for correct number of arguments + if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${FUNCNAME}(), wrong number of arguments: ${*}" + return 1 + fi + + fpkg ${PACK} ${SOURCEFORGE_URL}/${NAME} +} + +# Get package if it is not in the repository +# Arg. #1: Package name and version +# Arg. #2: Directory name (optional) +fpkg_hv() +{ + PACK=${1} + + # Checking for correct number of arguments + if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${FUNCNAME}(), wrong number of arguments: ${*}" + return 1 + fi + + if [ $# -eq 2 ]; then + fpkg ${PACK} "${HV_PACKAGES_URL}/${2}" + else + fpkg ${PACK} ${HV_PACKAGES_URL} + fi +} + +# Get package if it is not in the repository +# Arg. #1: Package name and version +# Arg. #2: Directory name (optional) +fpkg_lfs() +{ + PACK=${1} + + # Checking for correct number of arguments + if [ $# -lt 1 -o $# -gt 2 ]; then + echo "${FUNCNAME}(), wrong number of arguments: ${*}" + return 1 + fi + + if [ $# -eq 2 ]; then + fpkg ${PACK} "${LFS_PACKAGES_URL}/${2}" + else + fpkg ${PACK} ${LFS_PACKAGES_URL} + fi +} + +# Get package if it is not in the repository +# Arg. #1: Package name and version +# Arg. #2: Subdirectory name (module name) +fpkg_xorg() +{ + local PACK=${1} + local SUBDIR=${2} + + # Checking for correct number of arguments + if [ $# -ne 2 ]; then + echo "${FUNCNAME}(), wrong number of arguments: ${*}" + return 1 + fi + + fpkg -d ${LFS_PKG_DIR}/${SUBDIR} -s ${SUBDIR} ${PACK} ${XORG_URL} +} + +# Create a symbolic link to a package that is located in another stage +# repository (to not have the same file twice). +# Arg. #1: Source stage number (1, 2, 3, etc) +# Arg. #2: Package name +lpkg() +{ + SRCSTAGE="stage${1}" + FILE="${2}.tar.bz2" + PACKAGE_NAME="${2}" + + # Checking for correct number of arguments + if [ $# -ne 2 ]; then + echo "${FUNCNAME}(), wrong number of arguments: ${*}" + return 1 + fi + + if [ ! -h ${LFS_PKG_DIR}/${FILE} ]; then + # Issue a warning if source file doesn't exist. + if [ ! -f ${LFS_PKG_BASE}/${SRCSTAGE}/${FILE} ]; then + source_link_status=" (missing source file)" + else + source_link_status="" + fi + + # Create link if it doesn't exist + rcmd "Linking ${PACKAGE_NAME}${source_link_status}" ln -s ../${SRCSTAGE}/${FILE} ${LFS_PKG_DIR}/${FILE} + fi + + # Create link for patches corresponding to that package: + if ls ${LFS_PKG_BASE}/${SRCSTAGE}/${PACKAGE_NAME}-*.patch 1> /dev/null 2>&1; then + for patch in ${LFS_PKG_BASE}/${SRCSTAGE}/${PACKAGE_NAME}-*.patch; do + PATCHFILE=$(basename ${patch}) + if [ ! -h ${LFS_PKG_DIR}/${PATCHFILE} ]; then + # Create link if it doesn't exist + rcmd "Linking ${PATCHFILE}" ln -s ../${SRCSTAGE}/${PATCHFILE} ${LFS_PKG_DIR}/${PATCHFILE} + fi + done + fi +} diff --git a/functions-ipkg b/functions-ipkg new file mode 100644 index 0000000..23a1e1a --- /dev/null +++ b/functions-ipkg @@ -0,0 +1,185 @@ +#!/bin/bash + +function_exists() +{ + local FUNCTION_NAME=$1 + + [ -z "$FUNCTION_NAME" ] && return 1 + + declare -F "$FUNCTION_NAME" > /dev/null 2>&1 + + return $? +} + +unset -f hvpatch_pre +unset -f hvconfig_pre +unset -f hvconfig_cache +unset -f hvconfig_post +unset -f hvbuild_post + +ipkg_decompress_package() +{ + echo "Decompressing package" + decompress_package ${PACKAGE} + + local DECOMPRESSED_DIRNAME=$(static_decompressed_dirname ${PACKAGE}) + + # Rename the decompressed package as per the package name if necessary + if [ "x${DECOMPRESSED_DIRNAME}" != "x${PACKAGE}" ]; then + mv -v ${LFS_TMP}/${DECOMPRESSED_DIRNAME} ${LFS_TMP}/${PACKAGE} + fi + + # Displaying package source size in log file + echo " Source size:" $(du -h -s ${LFS_TMP}/${PACKAGE} | awk '{ print $1 }') 1>> ${LFS_LOG_FILE} + + # Removing old build directory (if any) + if [ -d ${LFS_TMP}/${PACKAGE}-build ]; then + echo "Removing old build directory" + rm -rf ${LFS_TMP}/${PACKAGE}-build + fi + + # Creating build directory + mkdir -v ${LFS_TMP}/${PACKAGE}-build +} + +# Default configure function +hvconfig() +{ + if [ "x${IPKG_MODE}" = "xacnb" -o "x${IPKG_MODE}" = "xpm" ]; then + # Broken autoconf package that must build in source dir, or Perl module. + cd ${LFS_TMP}/${PACKAGE} + else + # Standard autoconf mode + cd ${LFS_TMP}/${PACKAGE}-build + fi + + if [ "x${IPKG_MODE}" = "xpm" ]; then + # Configure Perl module. + # The option "-n" is used to avoid having to answer a question and + # accept the default configuration. + perl Makefile.PL -n ${CONFIGURE_OPTS} + else + # Standard configure script + ${LFS_TMP}/${PACKAGE}/configure ${CONFIGURE_OPTS} + fi +} + +# Default build function +hvbuild() +{ + if [ "x${IPKG_MODE}" = "xacnb" -o \ + "x${IPKG_MODE}" = "xnoac" -o \ + "x${IPKG_MODE}" = "xpm" ]; then + # Broken autoconf package that must build in source dir, or Perl module. + cd ${LFS_TMP}/${PACKAGE} + fi + + ${HVMAKE} + ${HVMAKE} install +} + +# Default patch applying function +hvpatch() +{ + # Applying patches (if any) + apply_patches ${PACKAGE} +} + +ipkg_finish() +{ + # Make sure to return to scripts directory + cd ${SCRDIR} + + # Displaying package build size in log file + BUILD_SIZE=$(du -h -s -c ${LFS_TMP}/${PACKAGE} ${LFS_TMP}/${PACKAGE}-build | grep total | awk '{ print $1 }') + echo " Build size : ${BUILD_SIZE}" 1>> ${LFS_LOG_FILE} + + # Some scripts need to preserve the source or build directory. They can + # do so by renaming them. + if [ -d ${LFS_TMP}/${PACKAGE} ]; then + # Removing source directory + echo "Removing source directory" + rm -rf ${LFS_TMP}/${PACKAGE} + fi + if [ -d ${LFS_TMP}/${PACKAGE}-build ]; then + # Removing build directory + echo "Removing build directory" + rm -rf ${LFS_TMP}/${PACKAGE}-build + fi +} + +# This is the main function doing all the work +# Arg #1: alternate script name (optional) +ipkg_script() +{ + if [ $# -eq 1 ]; then + # Use supplied script name + PACKAGE_DEF=${SCRDIR}/pkg/${1} + else + # Use default script name + PACKAGE_DEF=${SCRDIR}/pkg/$(get_pkg_name ${PACKAGE}) + + fi + + ipkg_decompress_package + + if [ -f ${PACKAGE_DEF} ]; then + echo "Load custom package functions and definitions from ${PACKAGE_DEF}" + source ${PACKAGE_DEF} + fi + + # Execute pre-patch function if applicable + if function_exists hvpatch_pre ; then + echo "Running patch pre-script" + hvpatch_pre + fi + + hvpatch + + # Execute pre-configure function if applicable + if function_exists hvconfig_pre ; then + echo "Running configure pre-script" + hvconfig_pre + fi + + # Execute config-cache function if applicable + if function_exists hvconfig_cache ; then + echo "Running configure cache script" + hvconfig_cache + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --cache-file=${LFS_TMP}/${PACKAGE}-build/config.cache" + fi + + # Add option --disable-dependency-tracking if supported + if cat ${LFS_TMP}/${PACKAGE}/configure | \ + grep "disable-dependency-tracking" 1> /dev/null 2>&1; then + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --disable-dependency-tracking" + fi + + ipkg_display_build_infos + + if [ "x${IPKG_MODE}" = "xnoac" ]; then + echo "Not calling configure because ${PACKAGE} has no configure script" + else + hvconfig + fi + + # Execute post-configure function if applicable + if function_exists hvconfig_post ; then + echo "Running configure post-script" + hvconfig_post + fi + + hvbuild + + # Execute post-build function if applicable + if function_exists hvbuild_post ; then + echo "Running build post-script" + hvbuild_post + fi + + ipkg_finish +} diff --git a/functions-update b/functions-update deleted file mode 100644 index a72b304..0000000 --- a/functions-update +++ /dev/null @@ -1,556 +0,0 @@ -#!/bin/bash - -LFS_PKG_BASE="$(dirname $(pwd))/packages" -LFS_PKG_DIR="${LFS_PKG_BASE}/${LFS_STAGE}" -LFS_LOG_DIR="${LFS}/var/log/hvlinux-install/${LFS_STAGE}" -LFS_LOG_FILE="${LFS_LOG_DIR}/pkg-update.log" -WGET_LOG_FILE="${LFS_LOG_DIR}/pkg-wget.log" - -# URL -LFS_BASE_URL="http://www.linuxfromscratch.org" -CLFS_BASE_URL="http://svn.cross-lfs.org/svn/repos/cross-lfs/trunk" -HV_BASE_URL="http://www.hugovil.com/hvlinux-repository" - -LFS_PATCHES_URL="${LFS_BASE_URL}/patches/lfs/development" -BLFS_PATCHES_URL="${LFS_BASE_URL}/patches/blfs/svn" -CLFS_PATCHES_URL="http://patches.cross-lfs.org/dev" -HV_PATCHES_URL="${HV_BASE_URL}/patches" - -LFS_PACKAGES_URL="ftp://ftp.osuosl.org/pub/lfs/lfs-packages/conglomeration" -HV_PACKAGES_URL="${HV_BASE_URL}/packages" -SOURCEFORGE_URL="http://cdnetworks-us-1.dl.sourceforge.net" -GNOME_URL="http://ftp.gnome.org/pub/gnome/sources" -GNU_URL="http://ftp.gnu.org/pub/gnu" -TETEX_URL="http://www.tug.org/ftp/tex-archive/systems/unix/teTeX" -BLFS_XORG_URL="http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg" -XORG_URL="http://xorg.freedesktop.org/releases/individual" - -WGETCMD="wget --directory-prefix=${LFS_PKG_DIR} --timeout=15 --tries=3 -nc --continue --no-check-certificate --no-verbose --output-file=${WGET_LOG_FILE}" - -LFS_PATCHES_LIST=${LFS_PKG_DIR}/patches-list-lfs.html -BLFS_PATCHES_LIST=${LFS_PKG_DIR}/patches-list-blfs.html -CLFS_PATCHES_LIST=${LFS_PKG_DIR}/patches-list-clfs.html -HV_PATCHES_LIST=${LFS_PKG_DIR}/patches-list-hv.html - -# Arg. #1: URL for patches repository. -# Arg. #2: Destination filename. -static_fetch_patches_list() -{ - PATCHES_URL=${1} - PATCHES_LIST_FILENAME=${2} - - ${WGETCMD} "${PATCHES_URL}/" && - - # Append log to global log file - cat ${WGET_LOG_FILE} >> ${LFS_LOG_FILE} && - - mv ${LFS_PKG_DIR}/index.html ${PATCHES_LIST_FILENAME} -} - -# Arg. #1: URL for patches repository. The trailing -# slash is absolutely necessary for this to work. -update_packages_init() -{ - # Execute a return statement instead of exit, to be able to continue with - # downloading other packages - export RCMD_NO_EXIT=1 - - # First create log directory if it does not exists. - if [ ! -d ${LFS_LOG_DIR} ]; then - install -m755 -d ${LFS_LOG_DIR} || exit 1 - fi - - # Then create destination directory if it does not exists. - if [ ! -d ${LFS_PKG_DIR} ]; then - install -v -m755 -d ${LFS_PKG_DIR} 1> ${LFS_LOG_FILE} 2>&1 || exit 1 - fi - - if [ -n "${USE_LFS_PATCHES}" ]; then - # Getting list of all patches from LFS server. - rcmd "Fetching LFS patches list" static_fetch_patches_list ${LFS_PATCHES_URL} ${LFS_PATCHES_LIST} - fi - - if [ -n "${USE_BLFS_PATCHES}" ]; then - # Getting list of all patches from BLFS server. - rcmd "Fetching BLFS patches list" static_fetch_patches_list ${BLFS_PATCHES_URL} ${BLFS_PATCHES_LIST} - fi - - if [ -n "${USE_CLFS_PATCHES}" ]; then - # Getting list of all patches from CLFS server. - rcmd "Fetching CLFS patches list" static_fetch_patches_list ${CLFS_PATCHES_URL} ${CLFS_PATCHES_LIST} - fi - - if [ -n "${USE_HV_PATCHES}" ]; then - # Getting list of all patches from hugovil.com server. - rcmd "Fetching hugovil.com patches list" static_fetch_patches_list ${HV_PATCHES_URL} ${HV_PATCHES_LIST} - fi -} - -# Get patch package if it is not in the repository -# Arg. #1: Package name and version -# Arg. #2: Patches list file (HTML) -# Arg. #3: Patches URL -static_checkpatch() -{ - local PACK=${1} - local PATCHES_LIST=${2} - local PATCHES_URL=${3} - - # Remplace les "+" par "%2B" - local PACK_URL=$(echo $PACK | sed s!\+!%2B!g) - - local PATCHES_FOUND=$(cat ${PATCHES_LIST} | grep "${PACK_URL}-" | sed "s/.*\(${PACK_URL}-.*\.patch\).*/\1/") - if [ -n "${PATCHES_FOUND}" ]; then - for p in ${PATCHES_FOUND}; do - # Remplace les "%2B" par "+" - PATCH_NAME=$(echo ${p} | sed s!%2B!\+!g) - - if [ ! -f ${LFS_PKG_DIR}/${PATCH_NAME} ]; then - rcmd "Fetching ${PATCH_NAME} from ${PATCHES_URL}" ${WGETCMD} ${PATCHES_URL}/${p} - fi - done - fi -} - -# Get patch package if it is not in the repository -# Arg. #1: Package name and version -static_getpatch() -{ - PACK=${1} - - # Checking for correct number of arguments - if [ $# -ne 1 ]; then - echo "${FUNCNAME}(), wrong number of arguments: ${*}" - return 1 - fi - - if [ -n "${USE_LFS_PATCHES}" ]; then - # Checking if patch is available from LFS. - static_checkpatch ${PACK} ${LFS_PATCHES_LIST} ${LFS_PATCHES_URL} - fi - - if [ -n "${USE_BLFS_PATCHES}" ]; then - # Checking if patch is available from BLFS. - static_checkpatch ${PACK} ${BLFS_PATCHES_LIST} ${BLFS_PATCHES_URL} - fi - - if [ -n "${USE_CLFS_PATCHES}" ]; then - # Checking if patch is available from CLFS. - static_checkpatch ${PACK} ${CLFS_PATCHES_LIST} ${CLFS_PATCHES_URL} - fi - - if [ -n "${USE_HV_PATCHES}" ]; then - # Checking if patch is available from hugovil.com. - static_checkpatch ${PACK} ${HV_PATCHES_LIST} ${HV_PATCHES_URL} - fi -} - -# Convert multiple compressed gzip files to bzip2. -# Usage: gztobz2 [FILES] -gztobz2() -{ - if [ $# = 0 ]; then - echo "$0: -- Convert multiple compressed gzip files to bzip2." - echo "Usage: $0: [FILES]" - return 1 - fi - - while [ $# -ne 0 ]; do - local ORIG_GZIPPED_FILENAME=${1} - - # Checking if input file exist. - if [ ! -f $1 ]; then - echo "$0: File ${ORIG_GZIPPED_FILENAME} not found." - return 1 - fi - - # Checking if input file is a valid gzipped file. - gzip -t ${ORIG_GZIPPED_FILENAME} - if [ $? -ne 0 ] ; then - echo "$0: File ${ORIG_GZIPPED_FILENAME} is not a valid gzip file." - return 1 - fi - - # Obtaining uncompressed name of file - local FILENAME=$(gunzip -l ${ORIG_GZIPPED_FILENAME} | sed '1d' | sed 's/\(.*\)% \(.*\)/\2/') - - # Decompressing file to standard output and piping result to bzip2 - gunzip ${ORIG_GZIPPED_FILENAME} --stdout | bzip2 --best > ${FILENAME}.bz2 - if [ $? -ne 0 ] ; then - echo "$0: Error converting file ${ORIG_GZIPPED_FILENAME} to bzip2." - return 1 - fi - - # Keeping the original file's timestamp - touch --reference=${ORIG_GZIPPED_FILENAME} ${FILENAME}.bz2 - - # Deleting original gzipped file - if [ -f ${FILENAME}.bz2 ]; then - rm ${ORIG_GZIPPED_FILENAME} - fi - - shift - done -} - -detect_file_not_found() -{ - # HTTP: will return error code 404. - # FTP: will say "File not found" - if grep "404" ${WGET_LOG_FILE} 1> /dev/null 2>&1; then - echo "404 NOTFOUND" - return 0 - elif grep "No such file" ${WGET_LOG_FILE} 1> /dev/null 2>&1; then - echo "No such file" - return 0 - else - return 1 - fi -} - -# Get package if it is not in the repository -# Arg. #1: Package name and version -# Arg. #2: URL -# Arg. #3: Optional extension -static_getpkg() -{ - local PACK=${1} - local URL=${2} - local MY_ARCH_EXT=${3} - - # Checking for correct number of arguments - if [ $# -ne 2 -a $# -ne 3 ]; then - echo "${FUNCNAME}(), wrong number of arguments: ${*}" - return 1 - fi - - if [ -z "${MY_ARCH_EXT}" ]; then - # List of default archive extensions to try - MY_ARCH_EXT="tar.bz2 tar.gz tgz tar.Z" - fi - - for arch_ext in ${MY_ARCH_EXT}; do - # Don't take any chance: remove any partially downloaded file. - # If we arrive here, it means the final destination file was not found - # so we can safely remove any file prior to trying to download it. - rm -f ${LFS_PKG_DIR}/${PACK}.${arch_ext} - - rcmd "Fetching ${PACK}.${arch_ext}" ${WGETCMD} ${URL}/${PACK}.${arch_ext} - wget_status=$? - - # Append log to global log file - cat ${WGET_LOG_FILE} >> ${LFS_LOG_FILE} - - # Failure: if it was a connection timeout, don't try for other file - # extensions. - if grep "failed: Connection timed out" ${WGET_LOG_FILE} 1> /dev/null 2>&1; then - echo "Error, wget reported: Connection timed out" - return 1 - fi - - if detect_file_not_found; then - # Try next archive extension if web server reported that file is not - # found. - continue; - fi - - if [ ${wget_status} -ne 0 ]; then - echo "Error fetching package ${PACK}.${arch_ext}" - return 1 - fi - - # If we are here, it means the file was successfully downloaded. - if [ "x${arch_ext}" = "xtar.gz" -o "x${arch_ext}" = "xtgz" \ - -o "x${arch_ext}" = "xtar.Z" ]; then - gztobz2 ${LFS_PKG_DIR}/${PACK}.${arch_ext} - fi - return $? - done - - # Failure or file not found - return 1 -} - -# Get package if it is not in the repository -# Arg. #1: Package name and version -# Arg. #2: URL -# Options: -# -e File extension (default is tar.bz2) -# -d Fetch directory (default is LFS_PKG_DIR) -# -f Filename on server (default is PACKAGE) -# -h Display this help and returns -# -s Subdirectory on server -fpkg() -{ - local FILE_EXT="" - local DEST_DIR="" - local SRC_FILENAME="" - local SRC_DIR="" - - while getopts "e:d:f:hs:" flag ;do - case ${flag} in - e) - # File extension - FILE_EXT=${OPTARG} - ;; - d) - # Fetch directory (where to put file) - DEST_DIR=${OPTARG} - ;; - f) - # Filename if different than package name - SRC_FILENAME=${OPTARG} - ;; - s) - SRC_DIR=${OPTARG} - ;; - ?) - echo "${FUNCNAME}(): Invalid option: ${OPTARG}." - return 1 - ;; - esac - done - shift `expr "${OPTIND}" - 1` - - unset OPTSTRING - unset OPTIND - unset OPTARG - - # Checking for correct number of arguments - if [ $# -ne 2 ]; then - echo "${FUNCNAME}(), wrong number of arguments: ${*}" - return 1 - fi - - local PACK=${1} - local URL=${2} - - if [ -z "${SRC_FILENAME}" ]; then - # Default source filename = name of package - SRC_FILENAME=${PACK} - fi - - if [ -z "${FILE_EXT}" -o \ - "x${FILE_EXT}" = "xtar.gz" -o \ - "x${FILE_EXT}" = "xtgz" -o \ - "x${FILE_EXT}" = "xtar.Z" -o \ - "x${FILE_EXT}" = "xtar.bz2" \ - ]; then - FINAL_EXT=tar.bz2 - else - FINAL_EXT=${FILE_EXT} - fi - - if [ -z "${DEST_DIR}" ]; then - # Default destination directory - DEST_DIR=${LFS_PKG_DIR} - fi - - mkdir -v -p ${DEST_DIR} >> ${LFS_LOG_FILE} 2>&1 - - if [ -z "${SRC_DIR}" ]; then - # Default source subdirectory on server - SRC_DIR="" - else - URL=${URL}/${SRC_DIR} - fi - - DEST_FILE=${DEST_DIR}/${PACK}.${FINAL_EXT} - - if [ ! -f ${DEST_FILE} ]; then - set +e - static_getpkg ${SRC_FILENAME} ${URL} ${FILE_EXT} - set -e - - # Move file if source filename is not equal to package name and/or destination - # directory is not the default: - DOWNLOADED_FILE=${LFS_PKG_DIR}/${SRC_FILENAME}.${FINAL_EXT} - - if [ "${DEST_FILE}" != "${DOWNLOADED_FILE}" ]; then - mv ${DOWNLOADED_FILE} ${DEST_FILE} - fi - fi - - # Test integrity of archive if requested - if [ -f ${DEST_FILE} -a -n "${TEST_INTEGRITY}" -a "x${FINAL_EXT}" = "xtar.bz2" ]; then - rcmd "Testing integrity of ${PACK}.${FINAL_EXT}" bzip2 -t ${DEST_FILE} - fi - - # Check for available patches with PACKAGE (TARGET) name. - static_getpatch ${PACK} - - if [ ${SRC_FILENAME} != ${PACK} ]; then - # Check for available patches with SRC_FILENAME name. - static_getpatch ${SRC_FILENAME} - - # Rename any patch fetched (in fpkg call) and replace SOURCE by TARGET - # in patch name. - if ls ${LFS_PKG_DIR}/${SRC_FILENAME}-*.patch 1> /dev/null 2>&1; then - echo "CMD=${SRC_FILENAME} ${PACK} ${LFS_PKG_DIR}/${SRC_FILENAME}-*.patch" - rename ${SRC_FILENAME} ${PACK} ${LFS_PKG_DIR}/${SRC_FILENAME}-*.patch - fi - fi -} - -# Get package if it is not in the repository -# Arg. #1: Package name and version -# Arg. #2: Directory name (optional) -fpkg_gnu() -{ - local PACK=${1} - - if [ $# -eq 2 ]; then - NAME=${2} - else - NAME=$(get_pkg_name ${PACK}) - fi - - # Checking for correct number of arguments - if [ $# -lt 1 -o $# -gt 2 ]; then - echo "${FUNCNAME}(), wrong number of arguments: ${*}" - return 1 - fi - - fpkg ${PACK} "${GNU_URL}/${NAME}" -} - -# Fetch Gnome package (if it is not in the repository). -# Arg. #1: Package name and version -# Arg. #2: Directory name (optional) -fpkg_gnome() -{ - PACK=${1} - - if [ $# -eq 2 ]; then - NAME=${2} - else - NAME=$(get_pkg_name ${PACK}) - fi - - # Checking for correct number of arguments - if [ $# -lt 1 -o $# -gt 2 ]; then - echo "${FUNCNAME}(), wrong number of arguments: ${*}" - return 1 - fi - - fpkg ${PACK} "${GNOME_URL}/${NAME}/$(get_pkg_ver_base ${PACK})" -} - -# Get package if it is not in the repository -# Arg. #1: Package name and version -# Arg. #2: Directory name (optional) -fpkg_sf() -{ - PACK=${1} - - if [ $# -eq 2 ]; then - NAME=${2} - else - NAME=$(get_pkg_name ${PACK}) - fi - - # Checking for correct number of arguments - if [ $# -lt 1 -o $# -gt 2 ]; then - echo "${FUNCNAME}(), wrong number of arguments: ${*}" - return 1 - fi - - fpkg ${PACK} ${SOURCEFORGE_URL}/${NAME} -} - -# Get package if it is not in the repository -# Arg. #1: Package name and version -# Arg. #2: Directory name (optional) -fpkg_hv() -{ - PACK=${1} - - # Checking for correct number of arguments - if [ $# -lt 1 -o $# -gt 2 ]; then - echo "${FUNCNAME}(), wrong number of arguments: ${*}" - return 1 - fi - - if [ $# -eq 2 ]; then - fpkg ${PACK} "${HV_PACKAGES_URL}/${2}" - else - fpkg ${PACK} ${HV_PACKAGES_URL} - fi -} - -# Get package if it is not in the repository -# Arg. #1: Package name and version -# Arg. #2: Directory name (optional) -fpkg_lfs() -{ - PACK=${1} - - # Checking for correct number of arguments - if [ $# -lt 1 -o $# -gt 2 ]; then - echo "${FUNCNAME}(), wrong number of arguments: ${*}" - return 1 - fi - - if [ $# -eq 2 ]; then - fpkg ${PACK} "${LFS_PACKAGES_URL}/${2}" - else - fpkg ${PACK} ${LFS_PACKAGES_URL} - fi -} - -# Get package if it is not in the repository -# Arg. #1: Package name and version -# Arg. #2: Subdirectory name (module name) -fpkg_xorg() -{ - local PACK=${1} - local SUBDIR=${2} - - # Checking for correct number of arguments - if [ $# -ne 2 ]; then - echo "${FUNCNAME}(), wrong number of arguments: ${*}" - return 1 - fi - - fpkg -d ${LFS_PKG_DIR}/${SUBDIR} -s ${SUBDIR} ${PACK} ${XORG_URL} -} - -# Create a symbolic link to a package that is located in another stage -# repository (to not have the same file twice). -# Arg. #1: Source stage number (1, 2, 3, etc) -# Arg. #2: Package name -lpkg() -{ - SRCSTAGE="stage${1}" - FILE="${2}.tar.bz2" - PACKAGE_NAME="${2}" - - # Checking for correct number of arguments - if [ $# -ne 2 ]; then - echo "${FUNCNAME}(), wrong number of arguments: ${*}" - return 1 - fi - - if [ ! -h ${LFS_PKG_DIR}/${FILE} ]; then - # Issue a warning if source file doesn't exist. - if [ ! -f ${LFS_PKG_BASE}/${SRCSTAGE}/${FILE} ]; then - source_link_status=" (missing source file)" - else - source_link_status="" - fi - - # Create link if it doesn't exist - rcmd "Linking ${PACKAGE_NAME}${source_link_status}" ln -s ../${SRCSTAGE}/${FILE} ${LFS_PKG_DIR}/${FILE} - fi - - # Create link for patches corresponding to that package: - if ls ${LFS_PKG_BASE}/${SRCSTAGE}/${PACKAGE_NAME}-*.patch 1> /dev/null 2>&1; then - for patch in ${LFS_PKG_BASE}/${SRCSTAGE}/${PACKAGE_NAME}-*.patch; do - PATCHFILE=$(basename ${patch}) - if [ ! -h ${LFS_PKG_DIR}/${PATCHFILE} ]; then - # Create link if it doesn't exist - rcmd "Linking ${PATCHFILE}" ln -s ../${SRCSTAGE}/${PATCHFILE} ${LFS_PKG_DIR}/${PATCHFILE} - fi - done - fi -} diff --git a/packages-list b/packages-list deleted file mode 100644 index 56ecc20..0000000 --- a/packages-list +++ /dev/null @@ -1,465 +0,0 @@ -#!/bin/sh - -# This file contains the name and version of all packages, -# as well the corresponding patches, if needed. - -ABIWORD="abiword-2.6.4" -AGG="agg-2.5" -ALSA_DRIVER="alsa-driver-1.0.21" -ALSA_LIB="alsa-lib-1.0.21" -ALSA_PLUGINS="alsa-plugins-1.0.21" -ALSA_UTILS="alsa-utils-1.0.21" -ALSA_OSS="alsa-oss-1.0.21" - -APR="apr-1.3.9" -APR_UTIL="apr-util-1.3.9" -AVR_GDB="gdb-6.4" -AVRDUDE="avrdude-5.1" -ATK="atk-1.28.0" -AUDIOFILE="audiofile-0.2.6" -AUTOCONF="autoconf-2.67" -AUTOMAKE="automake-1.11.1" - -BABL="babl-0.1.2" -BASH="bash-4.1" -BC="bc-1.06" -BISON="bison-2.4.2" -BIND="bind-9.6.1-P3" -BINUTILS="binutils-2.20.1" -ARM_BINUTILS=${BINUTILS} -AVR_BINUTILS=${BINUTILS} -BRIDGE_UTILS="bridge-utils-1.4" -BZIP2="bzip2-1.0.5" - -CAIRO="cairo-1.8.10" -CAIROMM="cairomm-1.8.4" -CDRTOOLS="cdrtools-2.01" -CDRDAO="cdrdao-1.2.2" -CKERMIT="ckermit-8.0.211" -CLAMAV="clamav-0.93.3" -CLOOG_PPL="cloog-ppl-0.15.10" -CONSOLEKIT="ConsoleKit-0.4.1" -COREUTILS="coreutils-8.5" -CPIO="cpio-2.11" -CUPS="cups-1.4.2" -CUPS_PDF="cups-pdf-2.5.0" -CURL="curl-7.19.7" -CVS="cvs-1.11.23" - -DBUS="dbus-1.2.16" -DBUS_GLIB="dbus-glib-0.82" -DDCLIENT="ddclient-3.6.7" -DEJAGNU="dejagnu-1.4.4" -DESKTOP_FILE_UTILS="desktop-file-utils-0.15" -DHCP="dhcp-3.0.6" -DIFFUTILS="diffutils-3.0" -DOCBOOK_DSSSL_VER="1.79" -DOCBOOK_DSSSL="docbook-dsssl-${DOCBOOK_DSSSL_VER}" -DOCBOOK_UTILS="docbook-utils-0.6.14" -DOCBOOK_XML_VER="4.5" -DOCBOOK_XML_VER_PREV="4.1.2 4.2 4.3 4.4" -DOCBOOK_XML="docbook-xml-${DOCBOOK_XML_VER}" -DOCBOOK_XSL_VER="1.75.2" -DOCBOOK_XSL="docbook-xsl-${DOCBOOK_XSL_VER}" -DOSFSTOOLS="dosfstools-3.0.9" -DVDFS="dvdfs-0.2" -DVDRWTOOLS="dvd+rw-tools-7.1" - -E2FSPROGS="e2fsprogs-1.41.12" -EASYTAG="easytag-2.1" -ED="ed-1.4" -EGGDBUS="eggdbus-0.6" -EGLIBC="eglibc-2.12-20100725-r11059" -EGLIBC_PORTS="eglibc-ports-2.12-20100725-r11059" -UCLIBC="uClibc-0.9.30.1" -EMACS="emacs-23.1" -ESOUND="esound-0.2.37" -EXPAT="expat-2.0.1" - -FCRON="fcron-3.0.6" -FETCHMAIL="fetchmail-6.3.12" -FFMPEG="ffmpeg-svn-20539" -FIREFOX="firefox-3.6.source" -FILE_PKG="file-5.04" -FINDUTILS="findutils-4.4.2" -FLAC="flac-1.2.1" -FLEX="flex-2.5.35" -FONTCONFIG="fontconfig-2.7.3" -FREETYPE="freetype-2.3.11" -FRIBIDI="fribidi-0.10.9" -FUSE="fuse-2.8.3" - -GAWK="gawk-3.1.8" -GC="gc6.8" -GCC="gcc-4.5.2" -# Specify bug-fixing patches manually -#GCC_PATCHES="branch_update-1" -GDB="gdb-6.4" -GDBM="gdbm-1.8.3" -GIT="git-1.6.6.1" -GIT_MANPAGES="git-manpages-1.6.6.1" -GEDA_SYMBOLS="geda-symbols-1.2.0" -GEDA_GSCHEM="geda-gschem-1.2.0" -GEDA_GNETLIST="geda-gnetlist-1.2.0" -GEDA_SYMCHECK="geda-gsymcheck-1.2.0" -GEDA_GATTRIB="geda-gattrib-1.2.0" -GEGL="gegl-0.1.2" -GETDATE="getdate_rfc868-1.2" -GETTEXT="gettext-0.18.1.1" -GHOSTSCRIPT="ghostscript-8.71" -GHOSTSCRIPT_FONTS_STD="ghostscript-fonts-std-8.11" -GHOSTSCRIPT_FONTS_OTHER="ghostscript-fonts-other-6.0" -GNASH=" gnash-0.8.5" -GIMP="gimp-2.6.8" -GUTENPRINT="gutenprint-5.2.5" -GLIB="glib-2.22.4" -GLIBMM="glibmm-2.22.1" -GLITZ="glitz-0.5.6" - -# GNOME2 core packages -GNOME2_VER="gnome-2.28.1" -GNOME2_PREFIX="/opt/${GNOME2_VER}" -ORBIT2="ORBit2-2.14.17" -LIBBONOBO="libbonobo-2.24.2" -GCONF="GConf-2.28.0" -GNOME_MIME_DATA="gnome-mime-data-2.18.0" -GNOME_VFS="gnome-vfs-2.24.2" -GNOME_VFS_MONIKERS="gnome-vfs-monikers-2.15.3" -LIBGNOME="libgnome-2.28.0" -LIBGNOMECANVAS="libgnomecanvas-2.26.0" -LIBBONOBOUI="libbonoboui-2.24.2" -GNOME_KEYRING="gnome-keyring-2.28.1" -ICON_NAMING_UTILS="icon-naming-utils-0.8.90" -GNOME_ICON_THEME="gnome-icon-theme-2.28.0" -LIBGNOMEUI="libgnomeui-2.24.2" -LIBGAIL_GNOME="libgail-gnome-1.18.0" - -# Desktop -GNOME_THEMES="gnome-themes-2.28.1" -SCROLLKEEPER="scrollkeeper-0.3.14" -GNOME_DOC_UTILS="gnome-doc-utils-0.18.0" -GNOME_DESKTOP="gnome-desktop-2.28.0" -GNOME_BACKGROUNDS="gnome-backgrounds-2.28.0" -GNOME_MENUS="gnome-menus-2.28.0.1" -GNOME_PANEL="gnome-panel-2.28.0" -VTE="vte-0.22.2" -GNOME_TERMINAL="gnome-terminal-2.28.1" -LIBGTOP="libgtop-2.28.0" -LIBGNOMEKBD="libgnomekbd-2.28.0" -EEL="eel-2.18.3" -NAUTILUS="nautilus-2.28.1" -GNOME_CONTROL_CENTER="gnome-control-center-2.28.1" -GNOME_APPLETS="gnome-applets-2.28.0" -GNOME_SESSION="gnome-session-2.28.0" -GNOME_USER_DOCS="gnome-user-docs-2.28.0" - -# GNOME2 Additional Packages - Libraries -LIBGNOMECUPS="libgnomecups-0.2.2" -LIBGNOMEPRINT="libgnomeprint-2.18.0" -LIBGNOMEPRINTUI="libgnomeprintui-2.18.0" -GTKHTML="gtkhtml-3.16.2" -EVOLUTION_DATA_SERVER="evolution-data-server-1.12.2" -EVOLUTION_EXCHANGE="evolution-exchange-2.12.2" -EVOLUTION="evolution-2.12.2" -GTKSOURCEVIEW="gtksourceview-1.8.5" -SYSTEM_TOOLS_BACKENDS="system-tools-backends-1.4.2" -GNOME_AUDIO="gnome-audio-2.0.0" -GIFLIB="giflib-4.1.6" -# GNOME2 Additional Packages - Utilities -GEDIT="gedit-2.18.2" -EOG="eog-2.18.2" -EVINCE="evince-2.28.2" -FILE_ROLLER="file-roller-2.18.4" -GCONF_EDITOR="gconf-editor-2.18.0" -GNOME_UTILS="gnome-utils-2.18.1" -GNOME_SYSTEM_MONITOR="gnome-system-monitor-2.18.2" -NAUTILUS_CD_BURNER="nautilus-cd-burner-2.18.2" -GNOME_MEDIA="gnome-media-2.18.0" -GNOME_NETSTATUS="gnome-netstatus-2.12.1" -GCALCTOOL="gcalctool-5.9.14" -GUCHARMAP="gucharmap-1.10.0" -ZENITY="zenity-2.28.0" -GNOME_KEYRING_MANAGER="gnome-keyring-manager-2.18.0" -GNOME_VOLUME_MANAGER="gnome-volume-manager-2.17.0" -GNOME_SOUND_JUICER="sound-juicer-2.16.4" -GNOME_TOTEM="totem-2.28.1" -GDM="gdm-2.28.1" -GMP="gmp-5.0.1" -GNOME_MOUNT="gnome-mount-0.6" -GNUTLS="gnutls-2.8.5" -GOBJECT_INSTROSPECTION="gobject-introspection-0.6.5" -GOFFICE="goffice-0.2.2" -GNUMERIC="gnumeric-1.6.3" -GNUPG="gnupg-1.4.9" -GREP="grep-2.6.3" -GRIP="grip-3.3.1" -GROFF="groff-1.20.1" -GRUB="grub-1.98" -GSL="gsl-1.13" -GSTREAMER="gstreamer-0.10.20" -GST_PLUGINS_BASE="gst-plugins-base-0.10.20" -GST_PLUGINS_GOOD="gst-plugins-good-0.10.10" -GST_PLUGINS_BAD="gst-plugins-bad-0.10.8" -GST_PLUGINS_UGLY="gst-plugins-ugly-0.10.10" -GST_FFMPEG="gst-ffmpeg-0.10.6" -GTK="gtk+-2.18.7" -GTK_DOC="gtk-doc-1.12" -GTK_ENGINES="gtk-engines-2.18.5" -GTKMM="gtkmm-2.18.2" -GUILE="guile-1.8.7" -GZIP="gzip-1.4" - -HAL="hal-0.5.14" -HAL_INFO="hal-info-20091130" -HELP2MAN="help2man-1.37.1" -HICOLOR_ICON_THEME="hicolor-icon-theme-0.11" -HTTPD="httpd-2.2.8" # Apache -HVCLOCK="hvclock-1.0.0" - -IANA="iana-etc-2.30" -IMAGE_MAGICK="ImageMagick-6.6.0-0" -IMLIB2="imlib-1.4.2" -INDENT="indent-2.2.10" -INETUTILS="inetutils-1.7" -INKSCAPE="inkscape-0.47" -INTLTOOL="intltool-0.40.6" -IPROUTE2="iproute2-2.6.35" -IPTABLES="iptables-1.4.7" -ISO_CODES="iso-codes-3.11" - -JACK="jack-audio-connection-kit-0.118.0" -JADETEX="jadetex-3.13" -JASPER="jasper-1.900.1" -JAVA="jre-1.6.0_05" - -KBD="kbd-1.15.2" -KERBEROS5="krb5-1.4.1" -KERNEL="linux-2.6.37.1" -KVM="kvm-84" - -LAME="lame-398-2" -LCMS="lcms-1.18a" -LESS="less-436" -LESSTIF="lesstif-0.95.2" -LFS_BOOTSCRIPTS="lfs-bootscripts-20070813" -LIBA52="a52dec-0.7.4" -LIBART="libart_lgpl-2.3.20" -BOOST="boost_1_42_0" -LIBCROCO="libcroco-0.6.2" -LIBDVDCSS="libdvdcss-1.2.10" -LIBDVDREAD="libdvdread-0.9.7" -LIBEXIF="libexif-0.6.17" -LIBFAAD2="faad2-2.7" -LIBFAAC="faac-1.28" -LIBFFI="libffi-3.0.8" -LIBGAMIN="gamin-0.1.9" -LIBGCRYPT="libgcrypt-1.4.5" -LIBGEDA="libgeda-1.2.0" -LIBGLADE="libglade-2.6.4" -LIBGPG_ERROR="libgpg-error-1.7" -LIBGSF="libgsf-1.14.7" -LIBID3TAG="libid3tag-0.15.1b" -LIBIDL="libIDL-0.8.13" -LIBJPEG="libjpeg-7" -LIBMAD="libmad-0.15.1b" -LIBMNG="libmng-1.0.10" -LIBMUSICBRAINZ="libmusicbrainz-2.1.5" -LIBNOTIFY="libnotify-0.4.4" -LIBOGG="libogg-1.1.4" -LIBOIL="liboil-0.3.17" -LIBOPENJPEG="libopenjpeg-1.2" -LIBPCAP="libpcap-1.0.0" -LIBPNG="libpng-1.2.44" -LIBPROXY="libproxy-0.2.3" -LIBPTHREAD_STUBS="libpthread-stubs-0.1" -LIBRSVG="librsvg-2.26.0" -LIBSAMPLERATE="libsamplerate-0.1.7" -LIBSIGCPP="libsigc++-2.2.4.2" -LIBSNDFILE="libsndfile-1.0.21" -LIBSOUP="libsoup-2.28.2" -LIBSPF2="libspf2-1.2.5" -LIBTASN1="libtasn1-2.3" -LIBTHEORA="libtheora-1.1.1" -LIBTOOL="libtool-2.2.10" -LIBVORBIS="libvorbis-1.2.3" -VORBIS_TOOLS="vorbis-tools-1.2.0" -LIBUSB="libusb-1.0.2" -LIBUSB_COMPAT="libusb-compat-0.1.3" -LIBWNCK="libwnck-2.28.0" -LIBXKLAVIER="libxklavier-5.0" -LIBXML2="libxml2-2.7.7" -LIBXSLT="libxslt-1.1.26" -LILYPOND="lilypond-2.12.3" -LTSP_UTILS="ltsp-utils-0.25-0" -LYNX="lynx2.8.7rel.2" - -MAILMAN="mailman-2.1.8" -MAKE_PACKAGE="make-3.82" -MAN_DB="man-db-2.5.6" -MANPAGES="man-pages-3.30" -METACITY="metacity-2.18.5" -MFOUR="m4-1.4.15" -MILTER_GREYLIST="milter-greylist-4.0" -MILTER_SPF="smf-spf-2.0.1" -MODULE_INIT_TOOLS="module-init-tools-3.12" -MPC="mpc-0.8.2" -MPFR="mpfr-3.0.0" -MUTT="mutt-1.5.20" -MYSQL="mysql-5.1.42" - -NANO="nano-2.2.1" -NCURSES="ncurses-5.7" -NEON="neon-0.29.1" -NEWLIB="newlib-1.16.0" -NFS_UTILS="nfs-utils-1.2.3" -NMAP="nmap-4.20" -NSS="nss-3.12-with-nspr-4.7" - -OPENJADE="openjade-1.3.2" -OPENLDAP="openldap-2.3.38" -OPENSP="OpenSP-1.5.2" -OPENSSH="openssh-5.6p1" -OPENSSL="openssl-1.0.0b" -OPENSSL_ROOT_CERTS="BLFS-ca-bundle-3.12.8.0" - -PAM="Linux-PAM-1.1.3" -PANGO="pango-1.26.2" -PANGOMM="pangomm-2.26.0" -PARTED="parted-1.9.0" -PATCH_PACKAGE="patch-2.6" -PCIUTILS="pciutils-3.1.4" -PCMANFM="pcmanfm-0.5" -PCRE="pcre-8.00" -PERL="perl-5.12.2" -PERL_MOD_PDL="PDL-2.4.6" -PERL_MOD_PARSE_REDESCENT="Parse-RecDescent-1.965001" -PERL_MOD_XML_WRITER="XML-Writer-0.606" -PERL_MOD_XML_PARSER="XML-Parser-2.36" -PERL_MOD_XML_SIMPLE="XML-Simple-2.18" -PERL_MOD_HTML_TAGSET="HTML-Tagset-3.20" -PERL_MOD_HTML_PARSER="HTML-Parser-3.64" -PERL_MOD_APACHE_LOGGED_AUTH_DBI="Apache-LoggedAuthDBI-0.12" -PERL_MOD_DIGEST_SHA1="Digest-SHA1-2.12" -PERL_MOD_LWP="libwww-perl-5.834" -PERL_MOD_URI="URI-1.52" -PERL_MOD_NET_DNS="Net-DNS-0.66" -PHP="php-5.2.6" -PIXMAN="pixman-0.17.8" -POLKIT="polkit-0.96" -POLICYKIT="PolicyKit-0.9" -POPPLER="poppler-0.12.4" -PKG_CONFIG="pkg-config-0.23" -POPT="popt-1.15" -PORTAUDIO="portaudio-v19_20071207" -PORTMAP="portmap-6.0" -PPL="ppl-0.10.2" -PROCMAIL="procmail-3.22" -PROCPS="procps-3.2.8" -PSMISC="psmisc-22.12" -PULSEAUDIO="pulseaudio-0.9.21" -PYCAIRO="pycairo-1.8.8" -PYGOBJECT="pygobject-2.20.0" -PYGTK="pygtk-2.16.0" -PYTHON="Python-2.6.4" - -READLINE="readline-6.1" -REISERFSPROGS="reiserfsprogs-3.6.21" -RHYTHMBOX="rhythmbox-0.10.1" -RSYNC="rsync-3.0.7" - -SAMBA="samba-3.0.21c" -SANE_BACKENDS="sane-backends-1.0.19" -XSANE="xsane-0.996" -SASL2="cyrus-sasl-2.1.21" -SED="sed-4.2.1" -SENDMAIL="sendmail-8.13.6" -SENDMAIL_GID="bin" -SGML_COMMON="sgml-common-0.6.3" -SGML_DTD3_VER="3.1" -SGML_DTD3="sgml-dtd-${SGML_DTD3_VER}" -SGML_DTD4_VER="4.5" -SGML_DTD4="sgml-dtd-${SGML_DTD4_VER}" -SGML_SPM="SGMLSpm-1.03ii" -SHADOW="shadow-4.1.4.2" -SHARED_MIME_INFO="shared-mime-info-0.60" -SPAMASSASSIN="Mail-SpamAssassin-3.2.3" -SPEEX="speex-1.2rc1" -SPLINT="splint-3.1.1" -SPLIX="splix-2.0.0" -SQLITE="sqlite-3.6.22" -SQUIRRELMAIL="squirrelmail-1.5.1" -STARTUP_NOTIFICATION="startup-notification-0.9" -STRACE="strace-4.5.19" -SUBVERSION="subversion-1.6.6" -SWEEP="sweep-svn-r586" -SYLPHEED="sylpheed-2.7.1" -SUDO="sudo-1.7.2p2" -SWEEP="sweep-svn-r586" -SYSKLOGD="sysklogd-1.5" -SYSVINIT="sysvinit-2.86" - -T1LIB="t1lib-5.1.2" -TANGO_ICON_THEME="tango-icon-theme-0.8.90" -TANGO_ICON_THEME_EXTRAS="tango-icon-theme-extras-0.1.0" -TAR_PACKAGE="tar-1.23" -TCPDUMP="tcpdump-4.0.0" -TCL="tcl8.5.8-src" -TCPWRAPPERS="tcp_wrappers_7.6" -TETEX_SRC="tetex-src-3.0" -TETEX_TEXMF="tetex-texmf-3.0" -TETEX_TEXMFSRC="tetex-texmfsrc-3.0" -TETEX_CM_SUPER="tetex-cm-super" -TEXINFO="texinfo-4.13a" -TFTP_HPA="tftp-hpa-0.49" -TIFF="tiff-3.9.4" -TK="tk8.5.8-src" -TRANSMISSION="transmission-1.34" - -UDEV="udev-160" -UDEV_CONFIG="udev-config-20100128" -UML_UTILITIES="uml_utilities_20070815" -UNRAR="unrar-3.7.8" -UNZIP="unzip-5.52" -UPSTART="upstart-0.6.3" -USBUTILS="usbutils-0.86" -UTIL_LINUX_NG="util-linux-ng-2.18" -UW_IMAP="imap-2004g" - -VORBIS_TOOLS="vorbis-tools-1.1.1" - -WGET="wget-1.11.4" -WHICH="which-2.20" -WINDOWMAKER="WindowMaker-0.92.0" -WINDOWMAKER_EXTRA="WindowMaker-extra-0.1" -WMNOTIFY="wmnotify-0.3.2" -WV="wv-1.2.4" - -XORG_APP=app-7.5-3 -XORG_DRIVER=driver-7.5-3 -XORG_FONT=font-7.5-3 -XORG_LIB=lib-7.5-3 -XORG_PROTO=proto-7.5-3 -XORG_UTIL=util-7.5-3 -LIBXAU=libXau-1.0.6 -LIBXDMCP=libXdmcp-1.0.3 -XBITMAPS=xbitmaps-1.1.0 -LIBDRM=libdrm-2.4.21 -MESALIB=MesaLib-7.8.2 -XCURSOR_THEMES=xcursor-themes-1.0.2 -XKEYBOARD_CONFIG=xkeyboard-config-1.8 -LUIT=luit-1.0.5 -XORG_SERVER=xorg-server-1.8.2 -XDM=xdm-1.1.10 - -XINETD="xinetd-2.3.14" -XMLTO="xmlto-0.0.23" -XMLTOMAN="xmltoman-0.4" -XTERM="xterm-253" -XVIDCORE="xvidcore-1.2.2" -XZ_UTILS="xz-4.999.9beta" - -YELP="yelp-2.28.0" - -ZIP="zip-3.0" - -ZLIB="zlib-1.2.5" diff --git a/stage0/INSTALL b/stage0/INSTALL index 485fe6d..a93d6cb 100644 --- a/stage0/INSTALL +++ b/stage0/INSTALL @@ -9,4 +9,5 @@ Installation 2. Modify the 'sysinfos' configuration file to reflect your system configuration. -3. Launch './install-1' +3. Type: + $> sudo make diff --git a/stage0/Makefile b/stage0/Makefile new file mode 100644 index 0000000..b5595fc --- /dev/null +++ b/stage0/Makefile @@ -0,0 +1,21 @@ +# Makefile for hvlinux + +# Idées pour future targets: +# clean +# strip +# compress -> compressdoc (à partir du stage2) +# dep +# list -> list installed packages and versions + +.PHONY: get test + +all: + @./hv-install-1 + +# Fetch packages from network +get: + @./packages-update + +# Test integrity of packages +test: + @./packages-update test diff --git a/stage0/hv-install-1 b/stage0/hv-install-1 new file mode 100755 index 0000000..cb89a5b --- /dev/null +++ b/stage0/hv-install-1 @@ -0,0 +1,20 @@ +#!/bin/bash + +# Reading system configuration informations, functions and package versions. +source ../config/sysinfos +source ../functions +hvtrap_setup +source ../config/packages-list + +init_log_file + +rscr mult "Performing pre-install" pre-install + +# Logging-in as 'lfs' user, and executing the hv-install-2 script. The +# 'su -' command starts with a clean environment and enters the home +# directory of the user. +su - lfs -c "cd ${PWD}; ./hv-install-2" + +echo "Total build time: $(get_total_build_time ${LFS_LOG_FILE})h" + +exit 0 diff --git a/stage0/hv-install-2 b/stage0/hv-install-2 new file mode 100755 index 0000000..8b6c069 --- /dev/null +++ b/stage0/hv-install-2 @@ -0,0 +1,51 @@ +#!/bin/bash + +source ~/.bashrc + +# Reading system configuration informations, functions and package versions. +source ../config/sysinfos +source ../functions +source ../config/packages-list + +init_log_file + +ipkg -m noac ${KERNEL} + +case "${HVL_TARGET}" in + x86*) + ipkg ${FILE_PKG} + ipkg ${NCURSES} + ;; +esac + +CPPFLAGS=-fexceptions \ + ipkg ${GMP} "--enable-cxx" + +export LDFLAGS="-Wl,-rpath,/cross-tools/lib" + +ipkg ${MPFR} "\ + --enable-shared \ + --with-gmp=/cross-tools" +ipkg ${MPC} "\ + --with-gmp=/cross-tools \ + --with-mpfr=/cross-tools" +ipkg ${PPL} "\ + --enable-shared \ + --enable-interfaces=c,cxx \ + --disable-optimization \ + --with-libgmp-prefix=/cross-tools \ + --with-libgmpxx-prefix=/cross-tools" +ipkg ${CLOOG_PPL} "\ + --enable-shared \ + --with-bits=gmp \ + --with-gmp=/cross-tools \ + --with-ppl=/cross-tools" + +LDFLAGS="" + +ipkg ${BINUTILS} +ipkg -l "${GCC}-pass1" ${GCC} +ipkg ${EGLIBC} +ipkg -l "${GCC}-pass2" ${GCC} + +exit $? diff --git a/stage0/install-1 b/stage0/install-1 deleted file mode 100755 index 1d6b6c8..0000000 --- a/stage0/install-1 +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -hvtrap_setup -source ../packages-list - -init_log_file - -rscr mult "Performing pre-install" pre-install - -# Logging-in as 'lfs' user, and executing the install-2 script. The -# 'su -' command starts with a clean environment and enters the home -# directory of the user. -su - lfs -c "cd ${PWD}; ./install-2" - -echo "Total build time: $(get_total_build_time ${LFS_LOG_FILE})h" - -exit 0 diff --git a/stage0/install-2 b/stage0/install-2 deleted file mode 100755 index 6bcd4d2..0000000 --- a/stage0/install-2 +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash - -source ~/.bashrc - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -init_log_file - -ipkg -m noac ${KERNEL} - -case "${HVL_TARGET}" in - x86*) - ipkg ${FILE_PKG} - ipkg ${NCURSES} - ;; -esac - -CPPFLAGS=-fexceptions \ - ipkg ${GMP} "--enable-cxx" - -export LDFLAGS="-Wl,-rpath,/cross-tools/lib" - -ipkg ${MPFR} "\ - --enable-shared \ - --with-gmp=/cross-tools" -ipkg ${MPC} "\ - --with-gmp=/cross-tools \ - --with-mpfr=/cross-tools" -ipkg ${PPL} "\ - --enable-shared \ - --enable-interfaces=c,cxx \ - --disable-optimization \ - --with-libgmp-prefix=/cross-tools \ - --with-libgmpxx-prefix=/cross-tools" -ipkg ${CLOOG_PPL} "\ - --enable-shared \ - --with-bits=gmp \ - --with-gmp=/cross-tools \ - --with-ppl=/cross-tools" - -LDFLAGS="" - -ipkg ${BINUTILS} -ipkg -l "${GCC}-pass1" ${GCC} -ipkg ${EGLIBC} -ipkg -l "${GCC}-pass2" ${GCC} - -exit $? diff --git a/stage0/packages-update b/stage0/packages-update index a719bb4..4b1ad8b 100755 --- a/stage0/packages-update +++ b/stage0/packages-update @@ -6,10 +6,10 @@ USE_CLFS_PATCHES=1 USE_HV_PATCHES=1 # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../functions-update -source ../packages-list +source ../functions-fpkg +source ../config/packages-list update_packages_init diff --git a/stage0/pkg/eglibc b/stage0/pkg/eglibc index 268e0b9..be97599 100644 --- a/stage0/pkg/eglibc +++ b/stage0/pkg/eglibc @@ -19,15 +19,6 @@ hvconfig_pre() --with-binutils=/cross-tools/bin \ --with-headers=/tools/include" - case "${HVL_TARGET}" in - "x86") - CFLAGS="-march=$(cut -d- -f1 <<< ${CLFS_TARGET}) -mtune=native -g -O2" - ;; - "x86_64") - CFLAGS="-mtune=native -g -O2" - ;; - esac - cd ${LFS_TMP}/${PACKAGE} decompress_package ${EGLIBC_PORTS} $(pwd) 1> /dev/null @@ -53,5 +44,4 @@ hvconfig_post() unset CC unset AR unset RANLIB - unset CFLAGS } diff --git a/stage0/pre-install b/stage0/pre-install index c891f37..aa33684 100755 --- a/stage0/pre-install +++ b/stage0/pre-install @@ -2,9 +2,9 @@ set -o errexit # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # Making sure that this script was executed by the root user if [ "x${USER}" != "xroot" ]; then diff --git a/stage1/INSTALL b/stage1/INSTALL index 3341785..fd79a89 100644 --- a/stage1/INSTALL +++ b/stage1/INSTALL @@ -3,7 +3,8 @@ stage1: Construction of temporary system Installation ------------ -1. Launch './install-1' +1. Type: + $> sudo make 2. Compile new kernel (remove loadable modules support) diff --git a/stage1/Makefile b/stage1/Makefile new file mode 100644 index 0000000..b5595fc --- /dev/null +++ b/stage1/Makefile @@ -0,0 +1,21 @@ +# Makefile for hvlinux + +# Idées pour future targets: +# clean +# strip +# compress -> compressdoc (à partir du stage2) +# dep +# list -> list installed packages and versions + +.PHONY: get test + +all: + @./hv-install-1 + +# Fetch packages from network +get: + @./packages-update + +# Test integrity of packages +test: + @./packages-update test diff --git a/stage1/create-config-files b/stage1/create-config-files index 2c782fa..36596ba 100755 --- a/stage1/create-config-files +++ b/stage1/create-config-files @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list echo "Creating /etc/fstab" cat > ${LFS}/etc/fstab << "EOF" @@ -19,9 +19,14 @@ if [ -n "${SWAP_PARTITION}" ]; then fi echo "${LFS_PARTITION} / reiserfs defaults,noatime 0 0" >> ${LFS}/etc/fstab -cat >> ${LFS}/etc/fstab << "EOF" +if [ -n "${CDROM}" ]; then + cat >> ${LFS}/etc/fstab << "EOF" /dev/cdrom /media/cdrom auto ro,noauto,users 0 0 /dev/dvd /media/dvd auto ro,noauto,users 0 0 +EOF +fi + +cat >> ${LFS}/etc/fstab << "EOF" proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 devpts /dev/pts devpts gid=4,mode=620 0 0 @@ -47,7 +52,7 @@ HISTFILESIZE=1000 HISTSIZE=1000 HOSTNAME=`hostname` EDITOR=_DEFAULT_EDITOR_ -CFLAGS="-pipe -O2" +CFLAGS=_DEFAULT_CFLAGS_ CXXFLAGS=${CFLAGS} # Set default permissions when creating new files. @@ -85,6 +90,8 @@ EOF sed -i -e "s!_DEFAULT_EDITOR_!${DEFAULT_EDITOR}!g" ${LFS}/etc/profile +sed -i -e "s!_DEFAULT_CFLAGS_!-pipe -O2 ${MARCH_FLAGS}!g" ${LFS}/etc/profile + echo "Creating /etc/bashrc" cat > ${LFS}/etc/bashrc << "EOF" #!/bin/bash diff --git a/stage1/create-directories b/stage1/create-directories index d2b719b..6e9e854 100755 --- a/stage1/create-directories +++ b/stage1/create-directories @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list mkdir -pv ${LFS}/{bin,boot,dev,{etc/,}opt,home,lib,mnt} mkdir -pv ${LFS}/{proc,media/{cdrom,dvd},sbin,srv,sys} diff --git a/stage1/create-groups b/stage1/create-groups index 881ae53..d2b8a8e 100755 --- a/stage1/create-groups +++ b/stage1/create-groups @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # In order for root to be able to login and for the name "root" to be # recognized, there need to be relevant entries in the /etc/group file. diff --git a/stage1/create-logfiles b/stage1/create-logfiles index 990c054..fe4b5a7 100755 --- a/stage1/create-logfiles +++ b/stage1/create-logfiles @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list touch ${LFS}/var/run/utmp ${LFS}/var/log/{btmp,lastlog,wtmp} chmod -v 664 ${LFS}/var/run/utmp ${LFS}/var/log/lastlog diff --git a/stage1/create-symlinks b/stage1/create-symlinks index b61685a..51dba78 100755 --- a/stage1/create-symlinks +++ b/stage1/create-symlinks @@ -1,16 +1,17 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # Some programs hard-wire paths to programs which don't exist yet. In order to # satisfy these programs, we create a number of symbolic links which will be # replaced by real files when we're installing all the software. -# We must not use "-sf" to force the creation of a symlink, because we don't want -# to write over a valid program if the install script needs to be re-started. +# We must not use "-sf" to force the creation of a symlink, because we don't +# want to write over a valid program if the install script needs to be +# re-started. source=/tools/bin target=${LFS}/bin diff --git a/stage1/create-users b/stage1/create-users index 7529f45..2fc9fa2 100755 --- a/stage1/create-users +++ b/stage1/create-users @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # In order for root to be able to login and for the name "root" to be # recognized, there need to be relevant entries in the /etc/passwd file. diff --git a/stage1/hv-install-1 b/stage1/hv-install-1 new file mode 100755 index 0000000..e7c7bda --- /dev/null +++ b/stage1/hv-install-1 @@ -0,0 +1,22 @@ +#!/bin/bash + +# Reading system configuration informations, functions and package versions. +source ../config/sysinfos +source ../functions +hvtrap_setup +source ../config/packages-list + +init_log_file + +rscr mult "Performing pre-install" pre-install + +# Logging-in as 'lfs' user, and executing the hv-install-2 script. The +# 'su -' command starts with a clean environment and enters the home +# directory of the user. +su - lfs -c "cd ${PWD}; ./hv-install-2" + +rscr mult "Performing post-install" post-install + +echo "Total build time: $(get_total_build_time ${LFS_LOG_FILE})h" + +exit 0 diff --git a/stage1/hv-install-2 b/stage1/hv-install-2 new file mode 100755 index 0000000..c6bc078 --- /dev/null +++ b/stage1/hv-install-2 @@ -0,0 +1,78 @@ +#!/bin/bash + +source ~/.bashrc + +# Reading system configuration informations, functions and package versions. +source ../config/sysinfos +source ../functions +source ../config/packages-list + +init_log_file + +# Building temporary system + +HOST_CC=gcc CPPFLAGS=-fexceptions \ + ipkg ${GMP} "--enable-cxx" +ipkg ${MPFR} "--enable-shared" +ipkg ${MPC} +ipkg ${PPL} "\ + --enable-shared \ + --enable-interfaces=c,cxx \ + --disable-optimization \ + --with-libgmp-prefix=/tools \ + --with-libgmpxx-prefix=/tools" +ipkg ${CLOOG_PPL} "\ + --enable-shared \ + --with-bits=gmp \ + --with-gmp=/tools \ + --with-ppl=/tools" +ipkg -m acnb ${ZLIB} +ipkg ${BINUTILS} +ipkg ${GCC} +ipkg ${NCURSES} "\ + --with-shared \ + --without-debug \ + --without-ada \ + --enable-overwrite \ + --with-build-cc=gcc" +ipkg ${BASH} "--without-bash-malloc" +ipkg ${BISON} +ipkg -m noac ${BZIP2} +ipkg ${COREUTILS} "--enable-install-program=hostname" +ipkg ${DIFFUTILS} +ipkg ${FINDUTILS} +ipkg ${FILE_PKG} +ipkg ${FLEX} +ipkg ${GAWK} +ipkg ${GETTEXT} +ipkg ${GREP} "\ + --disable-perl-regexp \ + --without-included-regex" +ipkg ${GZIP} +ipkg ${MFOUR} +ipkg ${MAKE_PACKAGE} +ipkg ${PATCH_PACKAGE} +ipkg ${SED} +ipkg ${TAR_PACKAGE} +ipkg ${TEXINFO} +ipkg ${XZ_UTILS} + +# Chapter 7 +rscr once "Creating directory structure" create-directories +rscr once "Creating symbolic links" create-symlinks + +ipkg ${NANO} "--enable-color --enable-multibuffer" +ipkg ${UTIL_LINUX_NG} +ipkg ${E2FSPROGS} +ipkg -m noac ${SYSVINIT} +ipkg ${MODULE_INIT_TOOLS} +ipkg ${UDEV} +ipkg -m noac ${KERNEL} + +rscr once "Creating default users" create-users +rscr once "Creating default groups" create-groups +rscr once "Creating default log files" create-logfiles +rscr once "Creating default config files" create-config-files +rscr once "Installing bootscripts" install-bootscripts + +exit $? diff --git a/stage1/install-1 b/stage1/install-1 deleted file mode 100755 index a7bd542..0000000 --- a/stage1/install-1 +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -hvtrap_setup -source ../packages-list - -init_log_file - -rscr mult "Performing pre-install" pre-install - -# Logging-in as 'lfs' user, and executing the install-2 script. The -# 'su -' command starts with a clean environment and enters the home -# directory of the user. -su - lfs -c "cd ${PWD}; ./install-2" - -rscr mult "Performing post-install" post-install - -echo "Total build time: $(get_total_build_time ${LFS_LOG_FILE})h" - -exit 0 diff --git a/stage1/install-2 b/stage1/install-2 deleted file mode 100755 index a063fb4..0000000 --- a/stage1/install-2 +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/bash - -source ~/.bashrc - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -init_log_file - -# Building temporary system - -HOST_CC=gcc CPPFLAGS=-fexceptions \ - ipkg ${GMP} "--enable-cxx" -ipkg ${MPFR} "--enable-shared" -ipkg ${MPC} -ipkg ${PPL} "\ - --enable-shared \ - --enable-interfaces=c,cxx \ - --disable-optimization \ - --with-libgmp-prefix=/tools \ - --with-libgmpxx-prefix=/tools" -ipkg ${CLOOG_PPL} "\ - --enable-shared \ - --with-bits=gmp \ - --with-gmp=/tools \ - --with-ppl=/tools" -ipkg -m acnb ${ZLIB} -ipkg ${BINUTILS} -ipkg ${GCC} -ipkg ${NCURSES} "\ - --with-shared \ - --without-debug \ - --without-ada \ - --enable-overwrite \ - --with-build-cc=gcc" -ipkg ${BASH} "--without-bash-malloc" -ipkg ${BISON} -ipkg -m noac ${BZIP2} -ipkg ${COREUTILS} "--enable-install-program=hostname" -ipkg ${DIFFUTILS} -ipkg ${FINDUTILS} -ipkg ${FILE_PKG} -ipkg ${FLEX} -ipkg ${GAWK} -ipkg ${GETTEXT} -ipkg ${GREP} "\ - --disable-perl-regexp \ - --without-included-regex" -ipkg ${GZIP} -ipkg ${MFOUR} -ipkg ${MAKE_PACKAGE} -ipkg ${PATCH_PACKAGE} -ipkg ${SED} -ipkg ${TAR_PACKAGE} -ipkg ${TEXINFO} -ipkg ${XZ_UTILS} - -# Chapter 7 -rscr once "Creating directory structure" create-directories -rscr once "Creating symbolic links" create-symlinks - -ipkg ${NANO} "--enable-color --enable-multibuffer" -ipkg ${UTIL_LINUX_NG} -ipkg ${E2FSPROGS} -ipkg -m noac ${SYSVINIT} -ipkg ${MODULE_INIT_TOOLS} -ipkg ${UDEV} -ipkg -m noac ${KERNEL} - -rscr once "Creating default users" create-users -rscr once "Creating default groups" create-groups -rscr once "Creating default log files" create-logfiles -rscr once "Creating default config files" create-config-files -rscr once "Installing bootscripts" install-bootscripts - -exit $? diff --git a/stage1/install-bootscripts b/stage1/install-bootscripts index 8874b63..40894e0 100755 --- a/stage1/install-bootscripts +++ b/stage1/install-bootscripts @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # Clock settings cat > ${LFS}/etc/sysconfig/clock << "EOF" diff --git a/stage1/packages-update b/stage1/packages-update index 7add361..ca445b2 100755 --- a/stage1/packages-update +++ b/stage1/packages-update @@ -4,10 +4,10 @@ USE_CLFS_PATCHES=1 USE_HV_PATCHES=1 # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../functions-update -source ../packages-list +source ../functions-fpkg +source ../config/packages-list update_packages_init diff --git a/stage1/post-install b/stage1/post-install index 72addc2..a8e5738 100755 --- a/stage1/post-install +++ b/stage1/post-install @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # We need /dev/null and /dev/console before udev is started. mkdir -pv ${LFS}/dev diff --git a/stage1/pre-install b/stage1/pre-install index b9e314c..b1aeead 100755 --- a/stage1/pre-install +++ b/stage1/pre-install @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # Making sure that this script was executed by the root user if [ "x${USER}" != "xroot" ]; then diff --git a/stage2/INSTALL b/stage2/INSTALL index d009cd4..b6215a0 100644 --- a/stage2/INSTALL +++ b/stage2/INSTALL @@ -1,57 +1,36 @@ +stage2: Installing basic system software + +Installation +------------ -Installation instructions -------------------------- +1. Type: + $> sudo make -Note: In this example, the destination partition is /dev/hda6, and - the sources partition is /dev/hda10. +2. Compile new kernel (enable loadable modules support) -1. Create and/or format the destination partition: - >$ mkreiserfs /dev/hda6 +3. Type 'exit' -2. Mount the partition: - >$ mount -t reiserfs /dev/hda6 /mnt/linux +4. Reboot. -3. In the destination partition root, create a directory that will - be used to mount the CD or hard disk partition containing the sources: - >$ cd /mnt/linux - >$ mkdir -p mnt/hvlinux +5. Run script /usr/local/bin/udev-create-persistent-net.sh -4. Mount the sources partition: - >$ mount -t reiserfs /dev/hda10 /mnt/linux/mnt/hvlinux - -5. Copy the tools directory to the LFS (/mnt/linux) partition: - >$ cp -a /mnt/linux/mnt/hvlinux/tools /mnt/linux - This is needed only if you did not run stage1 installation - -6. Modify the "/mnt/linux/mnt/hvlinux/scripts/sysinfos" file to - reflect your configuration. - -7. If you want a separate boot partition, make sure it is mounted - under ${LFS}/boot. - -8. Launch the installation of stage 2: - >$ /mnt/linux/mnt/hvlinux/scripts/stage2/install-1 - -9. After that, compile a fresh kernel. - (réactiver support pour les modules) - -10. type 'exit' - -11. You can now remove the /mnt/linux/tools directory. - -12. Reboot. - -13. When the GRUB prompt appears, install grub on the MBR with: +6. Optional. To install GRUB, launch 'grub'. When the GRUB prompt appears, + install grub on the MBR with (example with boot partition on first partition + of first disk): grub> root (hd0,0) grub> setup (hd0) grub> reboot -14. login as root, and create the password for the regular user: +7. Login as root, and create the password for the regular user: >$ passwd reguser -Post-install guide ------------------- - 1. Compiler nouveau kernel - 2. Ajouter une entrée à /boot/grub/menu.lst - 3. Effacer le répertoire /tools et /cross-tools - 4. Rouler le script /usr/local/bin/udev-create-persistent-net.sh + +Re-installation +--------------- + +1. You need the /tools directory in order to build stage2. If it is not + present, it means it was previously and automatically backed up at + the end of stage2 to /usr/src: + $> cp -a /usr/src/tools / + +2. Follow instructions above for stage2 installation diff --git a/stage2/Makefile b/stage2/Makefile new file mode 100644 index 0000000..b5595fc --- /dev/null +++ b/stage2/Makefile @@ -0,0 +1,21 @@ +# Makefile for hvlinux + +# Idées pour future targets: +# clean +# strip +# compress -> compressdoc (à partir du stage2) +# dep +# list -> list installed packages and versions + +.PHONY: get test + +all: + @./hv-install-1 + +# Fetch packages from network +get: + @./packages-update + +# Test integrity of packages +test: + @./packages-update test diff --git a/stage2/bootscripts/ifdown b/stage2/bootscripts/ifdown index 52a20df..115c488 100755 --- a/stage2/bootscripts/ifdown +++ b/stage2/bootscripts/ifdown @@ -23,6 +23,12 @@ check_brctl() fi } +# First make sure interface is available +if ! ip link show ${DEVICE} ; then + echo "Interface ${DEVICE} not available" + exit ${EXIT_CODE_WARNING} +fi + if [ "x${BOOTPROTO}" = "xdhcp" ]; then # DHCP configuration diff --git a/stage2/bootscripts/ifup b/stage2/bootscripts/ifup index 4224c47..b8fc5e8 100755 --- a/stage2/bootscripts/ifup +++ b/stage2/bootscripts/ifup @@ -23,6 +23,12 @@ check_brctl() fi } +# First make sure interface is available +if ! ip link show ${DEVICE} ; then + echo "Interface ${DEVICE} not available" + exit ${EXIT_CODE_WARNING} +fi + # Determining if the interface is a bridge: if [ "x${BRIDGE}" = "xyes" ]; then check_brctl diff --git a/stage2/bootscripts/network b/stage2/bootscripts/network index f42ea1f..70ac088 100755 --- a/stage2/bootscripts/network +++ b/stage2/bootscripts/network @@ -28,7 +28,7 @@ case "$1" in start) for i in ${INTERFACES_UP}; do if LANG=C egrep -L "^ONBOOT=\"?[Yy][Ee][Ss]\"?" ifconfig.$i >/dev/null 2>&1 ; then - cmd_run_log_box "Ethernet Adapter <$i> init" /etc/rc.d/init.d/ifup "$i" + cmd_run_log_box_warn "Ethernet Adapter <$i> init" /etc/rc.d/init.d/ifup "$i" fi done ;; @@ -36,7 +36,7 @@ case "$1" in stop) for i in ${INTERFACES_DN} ; do if LC_ALL= LANG= ip link show dev $i 2> /dev/null | grep -q "UP" >/dev/null 2>&1 ; then - cmd_run_log_box "Ethernet Adapter <$i> stop" /etc/rc.d/init.d/ifdown "$i" + cmd_run_log_box_warn "Ethernet Adapter <$i> stop" /etc/rc.d/init.d/ifdown "$i" fi done ;; diff --git a/stage2/compressdoc b/stage2/compressdoc index c705f49..764bc79 100755 --- a/stage2/compressdoc +++ b/stage2/compressdoc @@ -3,9 +3,9 @@ # First argument of this script is the package name. # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # If not already installed by previous invocation of this script: install -m755 ${SCRDIR}/misc/compressdoc /usr/sbin diff --git a/stage2/create-config-files b/stage2/create-config-files index 686af78..b207785 100755 --- a/stage2/create-config-files +++ b/stage2/create-config-files @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # Removing /tools from PATH: SED_REP='/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin' diff --git a/stage2/hv-install-1 b/stage2/hv-install-1 new file mode 100755 index 0000000..2e3cc41 --- /dev/null +++ b/stage2/hv-install-1 @@ -0,0 +1,67 @@ +#!/bin/bash + +# Reading system configuration informations, functions and package versions. +source ../config/sysinfos +source ../functions +hvtrap_setup +source ../config/packages-list +source /etc/profile + +if [ "x${USER}" != "xroot" ]; then + echo "You must be the superuser to install hvlinux." + exit 1 +fi + +init_log_file + +rscr mult "Performing pre-install" pre-install + +ipkg -l "${PERL}-pass1" ${PERL} +ipkg -m noac ${KERNEL} +ipkg -m noac ${MANPAGES} +ipkg ${EGLIBC} +rscr once "Adjusting toolchain" toolchain-adjust +rscr mult "Testing toolchain" toolchain-test + +export CC="gcc -isystem /usr/include" +export CXX="g++ -isystem /usr/include" +export LDFLAGS="-Wl,-rpath-link,/lib" + +CPPFLAGS=-fexceptions \ + ipkg ${GMP} "--enable-cxx --enable-mpbsd" +ipkg ${MPFR} "--enable-shared --with-gmp=/usr" +ipkg ${MPC} +CPPFLAGS=-fexceptions \ + ipkg ${PPL} "--enable-shared --disable-optimization" +ipkg ${CLOOG_PPL} "--enable-shared --with-gmp --with-ppl" + +unset CC +unset CXX +unset LDFLAGS + +ipkg -m acnb ${ZLIB} +ipkg ${BINUTILS} +ipkg ${GCC} +rscr mult "Testing toolchain" toolchain-test +ipkg ${SED} "--bindir=/bin" +ipkg ${PKG_CONFIG} +ipkg ${NCURSES} +ipkg ${UTIL_LINUX_NG} +ipkg ${E2FSPROGS} +ipkg ${COREUTILS} +ipkg -m noac ${IANA} +ipkg ${MFOUR} +ipkg ${BISON} +ipkg -m noac ${PROCPS} +ipkg ${LIBTOOL} +ipkg ${FLEX} +ipkg -m noac ${IPROUTE2} +ipkg -l "${PERL}-pass2" ${PERL} +ipkg ${READLINE} +ipkg ${AUTOCONF} +ipkg ${AUTOMAKE} +ipkg ${BASH} "--bindir=/bin --without-bash-malloc --with-installed-readline" + +/bin/bash +h -c ./hv-install-2 + +exit $? diff --git a/stage2/hv-install-2 b/stage2/hv-install-2 new file mode 100755 index 0000000..bb0079c --- /dev/null +++ b/stage2/hv-install-2 @@ -0,0 +1,63 @@ +#!/bin/bash + +# Reading system configuration informations, functions and package versions. +source ../config/sysinfos +source ../functions +source ../config/packages-list + +init_log_file + +ipkg ${GDBM} +ipkg ${INETUTILS} +ipkg -m noac ${BZIP2} +ipkg ${DIFFUTILS} +ipkg ${FILE_PKG} +ipkg ${GAWK} "--libexecdir=/usr/lib" +ipkg ${FINDUTILS} +ipkg ${GETTEXT} +ipkg ${GREP} "--bindir=/bin --without-included-regex" +ipkg ${GROFF} +ipkg ${GZIP} +ipkg ${KBD} +ipkg ${LESS} +ipkg ${MAKE_PACKAGE} +ipkg ${MAN_DB} "\ + --libexecdir=/usr/lib \ + --disable-setuid \ + --with-browser=/usr/bin/lynx \ + --with-vgrind=/usr/bin/vgrind \ + --with-grap=/usr/bin/grap" +ipkg ${MODULE_INIT_TOOLS} +ipkg ${PATCH_PACKAGE} +ipkg ${PSMISC} +ipkg ${SHADOW} +ipkg -m noac ${SYSKLOGD} +ipkg -m noac ${SYSVINIT} +ipkg ${TAR_PACKAGE} "--bindir=/bin --libexecdir=/usr/sbin" +ipkg ${TEXINFO} +ipkg ${UDEV} +ipkg -m noac ${UDEV_CONFIG} +ipkg ${GRUB} +ipkg -m acnb ${DHCP} +ipkg ${NANO} + +rscr once "Installing HV-utilities" install-hv-utilities +rscr once "Installing bootscripts" install-bootscripts +rscr once "Creating default config files" create-config-files + +rscr mult "Compressing man pages" compressdoc +#rscr mult "Stripping" stripping + +echo "Total build time: $(get_total_build_time ${LFS_LOG_FILE})h" + +# Creating root password +passwd root + +rscr mult "Performing post-install" post-install +ldconfig + +echo "Stage2 successfully completed." +echo "You must now compile a new kernel (go to /usr/src/linux)." +echo "After that, you can reboot and try your new system." + +exec /bin/bash --login diff --git a/stage2/install-1 b/stage2/install-1 deleted file mode 100755 index 94ca72f..0000000 --- a/stage2/install-1 +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -hvtrap_setup -source ../packages-list -source /etc/profile - -if [ "x${USER}" != "xroot" ]; then - echo "You must be the superuser to install hvlinux." - exit 1 -fi - -init_log_file - -rscr mult "Performing pre-install" pre-install - -ipkg -l "${PERL}-pass1" ${PERL} -ipkg -m noac ${KERNEL} -ipkg -m noac ${MANPAGES} -ipkg ${EGLIBC} -rscr once "Adjusting toolchain" toolchain-adjust -rscr mult "Testing toolchain" toolchain-test - -export CC="gcc -isystem /usr/include" -export CXX="g++ -isystem /usr/include" -export LDFLAGS="-Wl,-rpath-link,/lib" - -CPPFLAGS=-fexceptions \ - ipkg ${GMP} "--enable-cxx --enable-mpbsd" -ipkg ${MPFR} "--enable-shared --with-gmp=/usr" -ipkg ${MPC} -CPPFLAGS=-fexceptions \ - ipkg ${PPL} "--enable-shared --disable-optimization" -ipkg ${CLOOG_PPL} "--enable-shared --with-gmp --with-ppl" - -unset CC -unset CXX -unset LDFLAGS - -ipkg -m acnb ${ZLIB} -ipkg ${BINUTILS} -ipkg ${GCC} -rscr mult "Testing toolchain" toolchain-test -ipkg ${SED} "--bindir=/bin" -ipkg ${PKG_CONFIG} -ipkg ${NCURSES} -ipkg ${UTIL_LINUX_NG} -ipkg ${E2FSPROGS} -ipkg ${COREUTILS} -ipkg -m noac ${IANA} -ipkg ${MFOUR} -ipkg ${BISON} -ipkg -m noac ${PROCPS} -ipkg ${LIBTOOL} -ipkg ${FLEX} -ipkg -m noac ${IPROUTE2} -ipkg -l "${PERL}-pass2" ${PERL} -ipkg ${READLINE} -ipkg ${AUTOCONF} -ipkg ${AUTOMAKE} -ipkg ${BASH} "--bindir=/bin --without-bash-malloc --with-installed-readline" - -/bin/bash +h -c ./install-2 - -exit $? diff --git a/stage2/install-2 b/stage2/install-2 deleted file mode 100755 index 6f7cf5f..0000000 --- a/stage2/install-2 +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -init_log_file - -ipkg ${GDBM} -ipkg ${INETUTILS} -ipkg -m noac ${BZIP2} -ipkg ${DIFFUTILS} -ipkg ${FILE_PKG} -ipkg ${GAWK} "--libexecdir=/usr/lib" -ipkg ${FINDUTILS} -ipkg ${GETTEXT} -ipkg ${GREP} "--bindir=/bin --without-included-regex" -ipkg ${GROFF} -ipkg ${GZIP} -ipkg ${KBD} -ipkg ${LESS} -ipkg ${MAKE_PACKAGE} -ipkg ${MAN_DB} "\ - --libexecdir=/usr/lib \ - --disable-setuid \ - --with-browser=/usr/bin/lynx \ - --with-vgrind=/usr/bin/vgrind \ - --with-grap=/usr/bin/grap" -ipkg ${MODULE_INIT_TOOLS} -ipkg ${PATCH_PACKAGE} -ipkg ${PSMISC} -ipkg ${SHADOW} -ipkg -m noac ${SYSKLOGD} -ipkg -m noac ${SYSVINIT} -ipkg ${TAR_PACKAGE} "--bindir=/bin --libexecdir=/usr/sbin" -ipkg ${TEXINFO} -ipkg ${UDEV} -ipkg -m noac ${UDEV_CONFIG} -ipkg ${GRUB} -ipkg -m acnb ${DHCP} -ipkg ${NANO} - -rscr once "Installing HV-utilities" install-hv-utilities -rscr once "Installing bootscripts" install-bootscripts -rscr once "Creating default config files" create-config-files - -rscr mult "Compressing man pages" compressdoc -#rscr mult "Stripping" stripping - -echo "Total build time: $(get_total_build_time ${LFS_LOG_FILE})h" - -# Creating root password -passwd root - -rscr mult "Performing post-install" post-install -ldconfig - -echo "Stage2 successfully completed." -echo "You must now compile a new kernel (go to /usr/src/linux)." -echo "After that, you can reboot and try your new system." - -exec /bin/bash --login diff --git a/stage2/install-bootscripts b/stage2/install-bootscripts index 75b4011..894c344 100755 --- a/stage2/install-bootscripts +++ b/stage2/install-bootscripts @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list DHCP_USED="no" diff --git a/stage2/install-hv-utilities b/stage2/install-hv-utilities index da17a9b..b043a7d 100755 --- a/stage2/install-hv-utilities +++ b/stage2/install-hv-utilities @@ -3,9 +3,9 @@ # First argument of this script is the package name # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list SRCDIR="./hv-utilities" PREFIX="/usr/local" diff --git a/stage2/packages-update b/stage2/packages-update index fd9ba07..501dad4 100755 --- a/stage2/packages-update +++ b/stage2/packages-update @@ -6,10 +6,10 @@ USE_CLFS_PATCHES=1 USE_HV_PATCHES=1 # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../functions-update -source ../packages-list +source ../functions-fpkg +source ../config/packages-list update_packages_init diff --git a/stage2/pkg/eglibc b/stage2/pkg/eglibc index d53de20..6aa0607 100644 --- a/stage2/pkg/eglibc +++ b/stage2/pkg/eglibc @@ -2,8 +2,6 @@ hvconfig_pre() { - export CFLAGS="-mtune=generic -g -O2" - CONFIGURE_OPTS="\ ${CONFIGURE_OPTS} \ --disable-profile \ @@ -11,12 +9,6 @@ hvconfig_pre() --enable-kernel=$(get_pkg_ver ${KERNEL}) \ --libexecdir=/usr/lib/eglibc" - case "${HVL_TARGET}" in - "x86") - CFLAGS="-march=$(cut -d- -f1 <<< ${CLFS_TARGET}) ${CFLAGS}" - ;; - esac - # When running make install, a script called test-installation.pl performs a # small sanity test on our newly installed Glibc. However, because our # toolchain still points to the /tools directory, the sanity test would be @@ -39,11 +31,6 @@ hvconfig_pre() esac } -hvconfig_post() -{ - unset CFLAGS -} - hvbuild() { make diff --git a/stage2/post-install b/stage2/post-install index 74122ad..fba81f2 100755 --- a/stage2/post-install +++ b/stage2/post-install @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list cat > /etc/default/useradd << "EOF" # useradd defaults file diff --git a/stage2/pre-install b/stage2/pre-install index b9e0775..672666e 100755 --- a/stage2/pre-install +++ b/stage2/pre-install @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # Removing /cross-tools directory if [ -d /cross-tools ]; then diff --git a/stage2/stripping b/stage2/stripping index 92161d1..d78c2fc 100755 --- a/stage2/stripping +++ b/stage2/stripping @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list /tools/bin/find /{,usr/}{bin,lib,sbin} -type f \ -exec /tools/bin/strip --strip-debug '{}' ';' diff --git a/stage2/toolchain-adjust b/stage2/toolchain-adjust index 4b11cfc..300fc17 100755 --- a/stage2/toolchain-adjust +++ b/stage2/toolchain-adjust @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # Amend the GCC specs file so that it points to the new dynamic linker, and so # that GCC knows where to find its start files. diff --git a/stage2/toolchain-test b/stage2/toolchain-test index 9881dc1..2b0a729 100755 --- a/stage2/toolchain-test +++ b/stage2/toolchain-test @@ -1,9 +1,9 @@ #!/bin/bash # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # Testing toolchain cd /tmp diff --git a/stage3/INSTALL b/stage3/INSTALL index 4741fee..d651941 100644 --- a/stage3/INSTALL +++ b/stage3/INSTALL @@ -1,5 +1,7 @@ +stage3: Installing basic system software (after reboot) + +Installation +------------ -Installation instructions -------------------------- - -1. ./install-1 +1. Type: + $> sudo make diff --git a/stage3/Makefile b/stage3/Makefile new file mode 100644 index 0000000..b5595fc --- /dev/null +++ b/stage3/Makefile @@ -0,0 +1,21 @@ +# Makefile for hvlinux + +# Idées pour future targets: +# clean +# strip +# compress -> compressdoc (à partir du stage2) +# dep +# list -> list installed packages and versions + +.PHONY: get test + +all: + @./hv-install-1 + +# Fetch packages from network +get: + @./packages-update + +# Test integrity of packages +test: + @./packages-update test diff --git a/stage3/hv-install-1 b/stage3/hv-install-1 new file mode 100755 index 0000000..a0f6897 --- /dev/null +++ b/stage3/hv-install-1 @@ -0,0 +1,127 @@ +#!/bin/bash + +# Reading system configuration informations, functions and package versions. +source ../config/sysinfos +source ../functions +hvtrap_setup +source ../config/packages-list +source /etc/profile + +if [ "x${USER}" != "xroot" ]; then + echo "You must be the superuser to install hvlinux." + exit 1 +fi + +init_log_file + +ipkg ${WHICH} +ipkg -m acnb ${REISERFSPROGS} +ipkg -m acnb ${POPT} +ipkg ${PAM} +ipkg -m noac ${OPENSSL} +ipkg ${WGET} +ipkg -m noac ${PCIUTILS} +ipkg -m acnb ${LIBUSB} +ipkg ${LIBUSB_COMPAT} +ipkg ${USBUTILS} +ipkg ${FCRON} +ipkg ${OPENSSH} +ipkg -s lynx ${LYNX} +ipkg ${EXPAT} +ipkg ${APR} "--with-installbuilddir=/usr/lib/apr-1/build" +ipkg ${APR_UTIL} "--with-apr=/usr/bin/apr-1-config" +ipkg ${NEON} "--with-ssl" +ipkg -s tcl ${TCL} +ipkg ${SQLITE} +ipkg ${SUBVERSION} "--without-berkeley-db" +ipkg ${SUDO} +ipkg ${STRACE} +ipkg ${PCRE} "--docdir=/usr/share/doc/pcre \ + --enable-utf8 \ + --enable-unicode-properties \ + --enable-pcregrep-libz \ + --enable-pcregrep-libbz2" + +# Networking +ipkg -m noac -s tcp_wrappers ${TCPWRAPPERS} +ipkg -m noac ${PORTMAP} +ipkg -m acnb ${NFS_UTILS} "--disable-nfsv4 \ + --sbindir=/sbin \ + --disable-tirpc \ + --disable-gss" +ipkg ${XINETD} +if [ "x${USE_DYNAMIC_DNS}" = "xyes" ]; then + ipkg ${DDCLIENT} +fi +ipkg -m acnb ${LIBPCAP} +ipkg ${TCPDUMP} +ipkg -m acnb ${NMAP} "--without-nmapfe" +ipkg ${BIND} "--localstatedir=/var \ + --mandir=/usr/share/man \ + --enable-threads \ + --with-libtool" +ipkg ${IPTABLES} +ipkg ${CURL} +ipkg ${RSYNC} + +if [ "x${INST_TYPE}" = "xserver" -o "x${INST_TYPE}" = "xltsp-server" ]; then + ipkg ${MYSQL} +fi + +# Archiving +ipkg -m noac ${ZIP} +ipkg -m noac ${UNZIP} +ipkg -m noac ${UNRAR} +ipkg ${CPIO} + +ipkg ${PARTED} "--disable-device-mapper" +ipkg ${ED} +ipkg ${BC} "--with-readline" +INIT_D_PATH=/etc/rc.d/init.d \ + ipkg -m acnb ${FUSE} +ipkg -m noac ${DOSFSTOOLS} +ipkg -m acnb ${GIT} + +# Perl modules +ipkg -m pm ${PERL_MOD_PDL} +ipkg -m pm ${PERL_MOD_XML_WRITER} +ipkg -m pm ${PERL_MOD_XML_PARSER} + +ipkg ${INTLTOOL} +ipkg ${PYTHON} "--enable-shared" + +# DocBook +ipkg -m acnb ${SGML_COMMON} +ipkg -m noac -s sgml-dtd3 ${SGML_DTD3} +ipkg -m noac -s sgml-dtd4 ${SGML_DTD4} +ipkg ${OPENSP} +ipkg -m acnb ${OPENJADE} +ipkg -m noac ${DOCBOOK_DSSSL} +ipkg -m noac ${SGML_SPM} +ipkg ${DOCBOOK_UTILS} +ipkg -m acnb ${LIBXML2} +ipkg -m acnb ${LIBXSLT} +ipkg -m noac ${DOCBOOK_XML} +ipkg -m noac ${DOCBOOK_XSL} +ipkg -m noac ${XMLTOMAN} +ipkg ${XMLTO} + +# Graphic libraries +ipkg ${LIBJPEG} "--enable-static --enable-shared" +ipkg -m noac ${LIBOPENJPEG} +ipkg ${LIBPNG} +ipkg ${LIBART} +ipkg ${LIBEXIF} +ipkg ${FRIBIDI} +ipkg -m acnb ${HICOLOR_ICON_THEME} +ipkg ${TIFF} +ipkg ${GIFLIB} +ipkg -m acnb ${LCMS} +ipkg -m noac ${LIBMNG} + +ipkg ${FREETYPE} +ipkg ${FONTCONFIG} + +echo "Total build time: $(get_total_build_time ${LFS_LOG_FILE})h" + +exit $? diff --git a/stage3/install-1 b/stage3/install-1 deleted file mode 100755 index f2c52ad..0000000 --- a/stage3/install-1 +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/bash - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -hvtrap_setup -source ../packages-list -source /etc/profile - -if [ "x${USER}" != "xroot" ]; then - echo "You must be the superuser to install hvlinux." - exit 1 -fi - -init_log_file - -ipkg ${WHICH} -ipkg -m acnb ${REISERFSPROGS} -ipkg -m acnb ${POPT} -ipkg ${PAM} -ipkg -m noac ${OPENSSL} -ipkg ${WGET} -ipkg -m noac ${PCIUTILS} -ipkg -m acnb ${LIBUSB} -ipkg ${LIBUSB_COMPAT} -ipkg ${USBUTILS} -ipkg ${FCRON} -ipkg ${OPENSSH} -ipkg -s lynx ${LYNX} -ipkg ${EXPAT} -ipkg ${APR} "--with-installbuilddir=/usr/lib/apr-1/build" -ipkg ${APR_UTIL} "--with-apr=/usr/bin/apr-1-config" -ipkg ${NEON} "--with-ssl" -ipkg -s tcl ${TCL} -ipkg ${SQLITE} -ipkg ${SUBVERSION} "--without-berkeley-db" -ipkg ${SUDO} -ipkg ${STRACE} -ipkg ${PCRE} "--docdir=/usr/share/doc/pcre \ - --enable-utf8 \ - --enable-unicode-properties \ - --enable-pcregrep-libz \ - --enable-pcregrep-libbz2" - -# Networking -ipkg -m noac -s tcp_wrappers ${TCPWRAPPERS} -ipkg -m noac ${PORTMAP} -ipkg -m acnb ${NFS_UTILS} "--disable-nfsv4 \ - --sbindir=/sbin \ - --disable-tirpc \ - --disable-gss" -ipkg ${XINETD} -if [ "x${USE_DYNAMIC_DNS}" = "xyes" ]; then - ipkg ${DDCLIENT} -fi -ipkg -m acnb ${LIBPCAP} -ipkg ${TCPDUMP} -ipkg -m acnb ${NMAP} "--without-nmapfe" -ipkg ${BIND} "--localstatedir=/var \ - --mandir=/usr/share/man \ - --enable-threads \ - --with-libtool" -ipkg ${IPTABLES} -ipkg ${CURL} -ipkg ${RSYNC} - -if [ "x${INST_TYPE}" = "xserver" -o "x${INST_TYPE}" = "xltsp-server" ]; then - ipkg ${MYSQL} -fi - -# Archiving -ipkg -m noac ${ZIP} -ipkg -m noac ${UNZIP} -ipkg -m noac ${UNRAR} -ipkg ${CPIO} - -ipkg ${PARTED} "--disable-device-mapper" -ipkg ${ED} -ipkg ${BC} "--with-readline" -INIT_D_PATH=/etc/rc.d/init.d \ - ipkg -m acnb ${FUSE} -ipkg -m noac ${DOSFSTOOLS} -ipkg -m acnb ${GIT} - -# Perl modules -ipkg -m pm ${PERL_MOD_PDL} -ipkg -m pm ${PERL_MOD_XML_WRITER} -ipkg -m pm ${PERL_MOD_XML_PARSER} - -ipkg ${INTLTOOL} -ipkg ${PYTHON} "--enable-shared" - -# DocBook -ipkg -m acnb ${SGML_COMMON} -ipkg -m noac -s sgml-dtd3 ${SGML_DTD3} -ipkg -m noac -s sgml-dtd4 ${SGML_DTD4} -ipkg ${OPENSP} -ipkg -m acnb ${OPENJADE} -ipkg -m noac ${DOCBOOK_DSSSL} -ipkg -m noac ${SGML_SPM} -ipkg ${DOCBOOK_UTILS} -ipkg -m acnb ${LIBXML2} -ipkg -m acnb ${LIBXSLT} -ipkg -m noac ${DOCBOOK_XML} -ipkg -m noac ${DOCBOOK_XSL} -ipkg -m noac ${XMLTOMAN} -ipkg ${XMLTO} - -# Graphic libraries -ipkg ${LIBJPEG} "--enable-static --enable-shared" -ipkg -m noac ${LIBOPENJPEG} -ipkg ${LIBPNG} -ipkg ${LIBART} -ipkg ${LIBEXIF} -ipkg ${FRIBIDI} -ipkg -m acnb ${HICOLOR_ICON_THEME} -ipkg ${TIFF} -ipkg ${GIFLIB} -ipkg -m acnb ${LCMS} -ipkg -m noac ${LIBMNG} - -ipkg ${FREETYPE} -ipkg ${FONTCONFIG} - -echo "Total build time: $(get_total_build_time ${LFS_LOG_FILE})h" - -exit $? diff --git a/stage3/packages-update b/stage3/packages-update index 8d5f230..1ce421c 100755 --- a/stage3/packages-update +++ b/stage3/packages-update @@ -5,10 +5,10 @@ USE_BLFS_PATCHES=1 USE_HV_PATCHES=1 # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../functions-update -source ../packages-list +source ../functions-fpkg +source ../config/packages-list update_packages_init diff --git a/stage3/pkg/tcl b/stage3/pkg/tcl index 83243b1..4c7ac0f 100644 --- a/stage3/pkg/tcl +++ b/stage3/pkg/tcl @@ -22,6 +22,10 @@ hvbuild() tclConfig.sh make install +} + +hvbuild_post() +{ make install-private-headers # Special case for TCL diff --git a/stage4/INSTALL b/stage4/INSTALL index 52383c5..0f8aa3b 100644 --- a/stage4/INSTALL +++ b/stage4/INSTALL @@ -1,5 +1,7 @@ +stage4: Installing X-Windows software + +Installation +------------ -Installation instructions -------------------------- - -1. ./stage4-install +1. Type: + $> sudo make diff --git a/stage4/Makefile b/stage4/Makefile new file mode 100644 index 0000000..b5595fc --- /dev/null +++ b/stage4/Makefile @@ -0,0 +1,21 @@ +# Makefile for hvlinux + +# Idées pour future targets: +# clean +# strip +# compress -> compressdoc (à partir du stage2) +# dep +# list -> list installed packages and versions + +.PHONY: get test + +all: + @./hv-install-1 + +# Fetch packages from network +get: + @./packages-update + +# Test integrity of packages +test: + @./packages-update test diff --git a/stage4/cis-dbus b/stage4/cis-dbus deleted file mode 100755 index cd7ff64..0000000 --- a/stage4/cis-dbus +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name. -# Remaining arguments are additional configure options. - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -PACKAGE=${1} -shift -CONFIGURE_OPTS=${*} - -# Applying patches (if any) -apply_patches ${PACKAGE} - -hvgroupadd -g 18 messagebus -hv_useradd -c D-BUS-Message-Daemon-User -d /dev/null \ - -u 18 -g messagebus -s /bin/false messagebus - -cd ${LFS_TMP}/${PACKAGE}-build -../${PACKAGE}/configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --libexecdir=/usr/lib/dbus-1.0 \ - --localstatedir=/var \ - ${CONFIGURE_OPTS} -make -make install -ldconfig - -# Bootscript -install -v -m740 ${SCRDIR}/bootscripts/dbus /etc/rc.d/init.d - -# script-name start stop -bootscript_add_rc3 dbus 92 20 - -# Starting the session daemon here has the added bonus that it will exit -# when you log out of your GNOME session. If you wish to start the daemon -#here, use the following command instead of the one shown above: -######echo "exec dbus-launch --exit-with-session gnome-session" >> ~/.xinitrc - -# Return last error -exit $? diff --git a/stage4/cis-glib b/stage4/cis-glib deleted file mode 100755 index 188b797..0000000 --- a/stage4/cis-glib +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name. -# Remaining arguments are additional configure options. - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -PACKAGE=${1} -shift -CONFIGURE_OPTS=${*} - -# Applying patches (if any) -apply_patches ${PACKAGE} - -cd ${LFS_TMP}/${PACKAGE}-build -../${PACKAGE}/configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - ${CONFIGURE_OPTS} -make -make install -ldconfig - -chmod -v 755 /usr/bin/gtester-report - -cat > /etc/profile.d/glib2-locale.sh << "EOF" -# Use the current locale charset for filenames -# in applications using GLib -export G_FILENAME_ENCODING=@locale -EOF - -exit $? diff --git a/stage4/cis-hal b/stage4/cis-hal deleted file mode 100755 index c4b4955..0000000 --- a/stage4/cis-hal +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name. -# Remaining arguments are additional configure options. - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -PACKAGE=${1} -shift -CONFIGURE_OPTS=${*} - -# Applying patches (if any) -apply_patches ${PACKAGE} - -hv_groupadd -g 19 haldaemon -hv_useradd -c HAL-Daemon-User -d /dev/null -u 19 \ - -g haldaemon -s /bin/false haldaemon - -cd ${LFS_TMP}/${PACKAGE}-build -../${PACKAGE}/configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --libexecdir=/usr/lib/hal \ - --localstatedir=/var \ - --with-udev-prefix=/etc \ - ${CONFIGURE_OPTS} -make -make install -ldconfig - -install -v -m755 -d /var/run/hald - -# Bootscript -install -v -m740 ${SCRDIR}/bootscripts/hald /etc/rc.d/init.d - -# script-name start stop -bootscript_add_rc3 hald 93 19 - -# The default setup for HAL is to allow only certain users to invoke methods -# such as Mount(). These are the root user and the user determined to be at the -# active console using pam_console. If you are not set up to use -# Linux-PAM-1.1.1 and pam_console, create a group that is allowed to invoke HAL -# methods with the following commands: -hv_groupadd -g 61 halusers -cat > /etc/dbus-1/system.d/halusers.conf << "EOF" - - - - - - - - - - - - -EOF - -# Now add the users you would like to the halusers group to use HAL: -usermod -a -G halusers ${REGUSER} - -# With the above configuration in place, authorized users now have the ability -# to unmount disk partitions mounted at non-standard locations such as /pub. -# If you'd like to restrict this policy to only drives which are considered -# removable or hotpluggable, add the following configuration file as the root user: -cat > /etc/hal/fdi/policy/no-fixed-drives.fdi << "EOF" - - - - - - - - - true - - - - -EOF - -# If the system-wide D-BUS daemon was running during the -# installation of HAL, ensure you stop and restart the -# D-BUS daemon before attempting to start the hald daemon. -#/etc/rc.d/init.d/dbus restart - -# Starting daemon -#/etc/rc.d/init.d/hal start - -exit $? diff --git a/stage4/cis-lesstif b/stage4/cis-lesstif deleted file mode 100755 index f6ada8a..0000000 --- a/stage4/cis-lesstif +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name. -# Remaining arguments are additional configure options. - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -PACKAGE=${1} -shift -CONFIGURE_OPTS=${*} - -# Applying patches (if any) -apply_patches ${PACKAGE} - -cd ${LFS_TMP}/${PACKAGE} -./configure \ - --prefix=${XORG_PREFIX} \ - ${CONFIGURE_OPTS} -sed -i "s@libdir)/X11/mwm@sysconfdir)/mwm@" clients/Motif-2.1/mwm/Makefile -make rootdir=/usr/share/doc/${PACKAGE} -make rootdir=/usr/share/doc/${PACKAGE} install -ldconfig - -# Applicatons that utilize Xorg libraries often, and incorrectly, expect to find configuration -# files in $XORG_PREFIX/lib/X11. While still the root user, create a compatibility symlink with -# the following command: -ln -v -sf /etc/X11/mwm ${XORG_PREFIX}/lib/X11 - -exit $? diff --git a/stage4/cis-mesalib b/stage4/cis-mesalib deleted file mode 100755 index 150bef7..0000000 --- a/stage4/cis-mesalib +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name. -# Remaining arguments are additional configure options. - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -PACKAGE=${1} -shift -CONFIGURE_OPTS=${*} - -# Applying patches (if any) -apply_patches ${PACKAGE} - -cd ${LFS_TMP}/${PACKAGE} -# Mesa builds with debugging symbols. Remove the -g switch from both CFLAGS and CXXFLAGS with this command: -sed 's@FLAGS=\"-g@FLAGS=\"@' -i configure -./configure --prefix=${XORG_PREFIX} \ - --sysconfdir=/etc \ - ${XORG_CONFIG} \ - ${CONFIGURE_OPTS} -make -make install - -exit $? diff --git a/stage4/cis-policykit b/stage4/cis-policykit deleted file mode 100755 index 1fa375a..0000000 --- a/stage4/cis-policykit +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name. -# Remaining arguments are additional configure options. - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -PACKAGE=${1} -shift -CONFIGURE_OPTS=${*} - -# Applying patches (if any) -apply_patches ${PACKAGE} - -hv_groupadd -g 27 polkituser -hv_useradd -c Policy-Kit-Daemon-User -d /dev/null -u 27 \ - -g polkituser -s /bin/false polkituser - -cd ${LFS_TMP}/${PACKAGE}-build -../${PACKAGE}/configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --libexecdir=/usr/lib/PolicyKit \ - --localstatedir=/var \ - ${CONFIGURE_OPTS} -make -make install -ldconfig - -exit $? diff --git a/stage4/cis-polkit b/stage4/cis-polkit deleted file mode 100755 index 6c7a45f..0000000 --- a/stage4/cis-polkit +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -PACKAGE=${1} -shift -CONFIGURE_OPTS=${*} - -# Applying patches (if any) -apply_patches ${PACKAGE} - -# It is a requirement to have a dedicated user and group for polkit to function -# correctly: -hv_groupadd -fg 27 polkituser -hv_useradd -c Policy-Kit-Daemon-User -d /dev/null -u 27 \ - -g polkituser -s /bin/false polkituser - -cd ${LFS_TMP}/${PACKAGE}-build -../${PACKAGE}/configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --libexecdir=/usr/lib/polkit-1 \ - --localstatedir=/var \ - ${CONFIGURE_OPTS} -make -make install -ldconfig - -exit $? diff --git a/stage4/cis-t1lib b/stage4/cis-t1lib deleted file mode 100755 index c4efab7..0000000 --- a/stage4/cis-t1lib +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -# Applying patches (if any) -apply_patches ${1} - -cd ${LFS_TMP}/${1} -./configure \ - --prefix=/usr -make without_doc -make install -ldconfig - -exit $? diff --git a/stage4/cis-tk b/stage4/cis-tk deleted file mode 100755 index 251d2c5..0000000 --- a/stage4/cis-tk +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -set -o errexit - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -# Applying patches (if any) -apply_patches ${1} - -cd ${LFS_TMP}/${1} -cd unix -./configure \ - --prefix=/usr \ - --enable-threads \ - --mandir=/usr/share/man -make -sed -i \ - -e "s@^\(TK_SRC_DIR='\).*@\1/usr/include'@" \ - -e "/TK_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \ - -e "/SEARCH/s/=.*/=''/" \ - tkConfig.sh -make install -make install-private-headers -ln -v -sf wish8.5 /usr/bin/wish -ldconfig - -exit $? diff --git a/stage4/cis-windowmaker b/stage4/cis-windowmaker deleted file mode 100755 index 09af4f9..0000000 --- a/stage4/cis-windowmaker +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -set -o errexit - -# First argument of this script is the package name. -# Remaining arguments are additional configure options. - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -PACKAGE=${1} -shift -CONFIGURE_OPTS=${*} - -# Applying patches (if any) -apply_patches ${PACKAGE} - -cd ${LFS_TMP}/${PACKAGE} -aclocal -autoheader -autoconf -libtoolize --force --automake -automake -a --gnu --include-deps -./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --with-gnustepdir=/usr/share/GNUstep \ - ${CONFIGURE_OPTS} -make -make install -ldconfig - -exit $? diff --git a/stage4/cis-xterm b/stage4/cis-xterm deleted file mode 100755 index 7165fe2..0000000 --- a/stage4/cis-xterm +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name. -# Remaining arguments are additional configure options. - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -PACKAGE=${1} -shift -CONFIGURE_OPTS=${*} - -# Applying patches (if any) -apply_patches ${PACKAGE} - -cd ${LFS_TMP}/${PACKAGE} -sed -i '/v0/,+1s/new:/new:kb=^?:/' termcap -echo -e '\tkbs=\\177,' >>terminfo - -cd ${LFS_TMP}/${PACKAGE}-build -TERMINFO=/usr/lib/terminfo ../${PACKAGE}/configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --enable-luit \ - --enable-wide-chars \ - --with-app-defaults=${XORG_PREFIX}/share/X11/app-defaults \ - ${CONFIGURE_OPTS} -make -make install -make install-ti -ldconfig - -exit $? diff --git a/stage4/configure-fonts b/stage4/configure-fonts index eab4954..9b0caf4 100755 --- a/stage4/configure-fonts +++ b/stage4/configure-fonts @@ -1,19 +1,15 @@ -#!/bin/sh -set -o errexit +#!/bin/bash -# First argument of this script is the package name. - -# Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # When all of the fonts have been installed, the system must be configured so # that Fontconfig can find the TrueType fonts since they are outside of the # default search path of /usr/share/fonts. install -v -d -m755 /usr/share/fonts -ln -svfT ${XORG_PREFIX}/lib/X11/fonts/OTF /usr/share/fonts/X11-OTF -ln -svfT ${XORG_PREFIX}/lib/X11/fonts/TTF /usr/share/fonts/X11-TTF +ln -svfT /usr/lib/X11/fonts/OTF /usr/share/fonts/X11-OTF +ln -svfT /usr/lib/X11/fonts/TTF /usr/share/fonts/X11-TTF X11_FONTS_DIR="/usr/share/fonts/X11" diff --git a/stage4/configure-xorg b/stage4/configure-xorg index 95bc530..d54a806 100755 --- a/stage4/configure-xorg +++ b/stage4/configure-xorg @@ -1,12 +1,8 @@ -#!/bin/sh -set -o errexit - -# First argument of this script is the package name. +#!/bin/bash -# Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../packages-list +source ../config/packages-list # Used by startx cat > /etc/skel/.xinitrc << "EOF" @@ -109,12 +105,13 @@ cat >> /etc/sysconfig/createfiles << "EOF" /tmp/.ICE-unix dir 1777 root root EOF -# Packages in Xorg store their configuration files in $XORG_PREFIX/lib/X11 +# Packages in Xorg store their configuration files in /usr/lib/X11 # by default. This is strictly against FHS guidelines. Correct the # installation /etc/X11 and create symlinks in the original location: mkdir -v -p /etc/X11 -for file in ${XORG_PREFIX}/{lib/X11/{xinit,xdm},share/X11/app-defaults}; do - if [ ! -h ${file} ]; then + +for file in /usr/{lib/X11/{xinit,xdm},share/X11/app-defaults}; do + if [ -f ${file} -a ! -h ${file} ]; then mv -v ${file} /etc/X11/ 2> /dev/null ln -svfT /etc/X11/$(basename $file) $file fi @@ -132,53 +129,11 @@ fi # Until then, you can create a symbolic link to satisfy the /usr/X11R6 # requirement so that you won't be inconvenienced with a package build # failure due to this known issue. -#ln -scfT ${XORG_PREFIX} /usr/X11R6 +#ln -scfT /usr /usr/X11R6 -cat > /etc/X11/xorg.conf << "EOF" +cat > /etc/X11/xorg.conf.template << "EOF" # xorg.conf # -# ********************************************************************** -# Files section. -# ********************************************************************** -Section "Files" - RgbPath "/usr/X11R6/lib/X11/rgb" - ModulePath "/usr/X11R6/lib/modules" # Module search path - FontPath "_HV_FONTS_PATH_/TrueType" - - # Standard XFree86 Fonts - FontPath "/usr/X11R6/lib/X11/fonts/TTF" - FontPath "/usr/X11R6/lib/X11/fonts/Type1" - FontPath "/usr/X11R6/lib/X11/fonts/misc/:unscaled" - FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled" - FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled" - FontPath "/usr/X11R6/lib/X11/fonts/local" - FontPath "/usr/X11R6/lib/X11/fonts/Speedo" - FontPath "/usr/X11R6/lib/X11/fonts/misc/" - FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" - FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" -EndSection - -# ********************************************************************** -# Dynamically loadable modules section. -# ********************************************************************** -Section "Module" - Load "dbe" # Double buffer extension - - # This loads the miscellaneous extensions module, and disables - # initialisation of the XFree86-DGA extension within that module. - SubSection "extmod" - Option "omit xfree86-dga" # don't initialise the DGA extension - EndSubSection - - # This loads the Type1 and FreeType font modules - Load "type1" - Load "speedo" - Load "freetype" - - Load "glx" - Load "dri" -EndSection - # ********************************************************************** # Input devices. # ********************************************************************** @@ -232,7 +187,7 @@ Section "Screen" DefaultColorDepth 24 Subsection "Display" Depth 24 - Modes "1024x768" "800x600" + Modes "1024x768" "800x600" ViewPort 0 0 EndSubsection EndSection @@ -249,11 +204,10 @@ EndSection EOF -# The ! character is the SED delimiter -sed -i -e "s!_HV_FONTS_PATH_!${HV_FONTS_PATH}!g" /etc/X11/xorg.conf -sed -i -e "s!_VIDEO_CARD_DRIVER_!${XF86_CARD_DRIVER}!g" /etc/X11/xorg.conf -sed -i -e "s!_XF86_KEYBOARD_LAYOUT_!${HV_XF86_KEYBOARD_LAYOUT}!g" /etc/X11/xorg.conf -sed -i -e "s!_XF86_KEYBOARD_VARIANT_!${HV_XF86_KEYBOARD_VARIANT}!g" /etc/X11/xorg.conf -sed -i -e "s!_XF86_KEYBOARD_OPTIONS_!${HV_XF86_KEYBOARD_OPTIONS}!g" /etc/X11/xorg.conf +sed -i -e "s!_HV_FONTS_PATH_!${HV_FONTS_PATH}!g" /etc/X11/xorg.conf.template +sed -i -e "s!_VIDEO_CARD_DRIVER_!${XORG_VIDEO_DRIVER}!g" /etc/X11/xorg.conf.template +sed -i -e "s!_XF86_KEYBOARD_LAYOUT_!${HV_XF86_KEYBOARD_LAYOUT}!g" /etc/X11/xorg.conf.template +sed -i -e "s!_XF86_KEYBOARD_VARIANT_!${HV_XF86_KEYBOARD_VARIANT}!g" /etc/X11/xorg.conf.template +sed -i -e "s!_XF86_KEYBOARD_OPTIONS_!${HV_XF86_KEYBOARD_OPTIONS}!g" /etc/X11/xorg.conf.template exit $? diff --git a/stage4/hv-install-1 b/stage4/hv-install-1 new file mode 100755 index 0000000..798e25d --- /dev/null +++ b/stage4/hv-install-1 @@ -0,0 +1,124 @@ +#!/bin/bash + +# Reading system configuration informations, functions and package versions. +source ../config/sysinfos +source ../functions +hvtrap_setup +source ../config/packages-list +source /etc/profile + +if [ "x${USER}" != "xroot" ]; then + echo "You must be the superuser to install hvlinux." + exit 1 +fi + +init_log_file + +LFS_PKG_DIR_ORIG=${LFS_PKG_DIR} + +export XORG_CONFIG="\ + --mandir=/usr/share/man \ + --localstatedir=/var" + +# Arg #1: module name and version +# Arg #2: subdirectory +# Arg #3: optional configure arguments +ipkg_xorg() +{ + local MODULE=${1} + local SUBDIR=${2} + shift 2 + local CONFIGURE_OPTS=${*} + + LFS_PKG_DIR=${LFS_PKG_DIR_ORIG}/${SUBDIR} + ipkg ${MODULE} ${XORG_CONFIG} ${CONFIGURE_OPTS} + LFS_PKG_DIR=${LFS_PKG_DIR_ORIG} +} + +# Install all submodules in a module +# +# Arg #1: module name and version +# Arg #2: optional configure arguments +install_xorg_modules() +{ + local MODULE=${1} + shift + local CONFIGURE_OPTS=${*} + + local MODULE_NAME=$(get_pkg_name ${MODULE}) + + local MY_XORG_CONFIG + + for package in $(grep -v '^#' ${LFS_PKG_DIR}/${MODULE_NAME}/${MODULE}.wget); do + SUBMOD="$(echo ${package} | sed 's!\.tar\.bz2$!!')" + + ipkg_xorg ${SUBMOD} ${MODULE_NAME} ${MY_XORG_CONFIG} ${CONFIGURE_OPTS} + done +} + +install_xorg_modules ${XORG_UTIL} +install_xorg_modules ${XORG_PROTO} +ipkg_xorg ${LIBXAU} "lib" +ipkg_xorg ${LIBXDMCP} "lib" +ipkg ${LIBPTHREAD_STUBS} ${XORG_CONFIG} +ipkg ${XCB_PROTO} ${XORG_CONFIG} +ipkg ${GPERF} +ipkg ${XCB_UTIL} ${XORG_CONFIG} +install_xorg_modules ${XORG_LIB} +ipkg -m acnb ${LESSTIF} +ipkg_xorg ${XBITMAPS} "data" +ipkg ${LIBDRM} "--enable-udev" + +ipkg -m acnb ${TALLOC} +ipkg -m acnb ${MESALIB} +install_xorg_modules ${XORG_APP} +ipkg_xorg ${XCURSOR_THEMES} "data" +install_xorg_modules ${XORG_FONT} +rscr once "Configuring fonts" configure-fonts +ipkg ${XKEYBOARD_CONFIG} ${XORG_CONFIG} --with-xkb-rules-symlink=xorg +ipkg_xorg ${LUIT} "app" +ipkg ${PIXMAN} +ipkg ${LIBFFI} +ipkg ${DBUS} +ipkg ${GLIB} +ipkg ${GOBJECT_INSTROSPECTION} "--disable-tests" +ipkg -m acnb ${DBUS_GLIB} \ + --disable-tests \ + --libexecdir=/usr/lib/dbus-1.0/dbus-1 +ipkg ${EGGDBUS} +ipkg ${POLKIT} +ipkg -m acnb ${CONSOLEKIT} \ + --libexecdir=/usr/lib/ConsoleKit \ + --localstatedir=/var \ + --enable-pam-module +ipkg ${POLICYKIT} +ipkg ${HAL} +ipkg ${HAL_INFO} + +ipkg_xorg ${XORG_SERVER} "xserver" "\ + --with-module-dir=/usr/lib/X11/modules \ + --with-xkb-output=/var/lib/xkb \ + --enable-install-setuid \ + --disable-config-hal" + +install_xorg_modules ${XORG_DRIVER} --with-xorg-module-dir=/usr/lib/X11/modules + +if [ "x${XORG_VIDEO_DRIVER}" = "xnouveau" ]; then + ipkg ${XORG_VIDEO_NOUVEAU} ${XORG_CONFIG} --with-xorg-module-dir=/usr/lib/X11/modules +fi + +ipkg_xorg ${XDM} "app" + +rscr once "Configuring X.org" configure-xorg + +ipkg ${XTERM} +ipkg -m acnb ${T1LIB} +ipkg -s tk ${TK} + +# Re-installing python now that tk is present??? +ipkg ${PYTHON} "--enable-shared" + +ipkg -m acnb ${WINDOWMAKER} +ipkg ${WINDOWMAKER_EXTRA} + +exit $? diff --git a/stage4/ipkg.def b/stage4/ipkg.def new file mode 100644 index 0000000..135c8da --- /dev/null +++ b/stage4/ipkg.def @@ -0,0 +1,7 @@ +#!/bin/bash + +# Setting default configure options for all scripts +CONFIGURE_OPTS="\ + --prefix=/usr \ + --sysconfdir=/etc \ + ${CONFIGURE_OPTS}" diff --git a/stage4/packages-update b/stage4/packages-update index 5d0f82a..dac089b 100755 --- a/stage4/packages-update +++ b/stage4/packages-update @@ -5,14 +5,10 @@ USE_BLFS_PATCHES=1 USE_HV_PATCHES=1 # Reading system configuration informations, functions and package versions. -source ../sysinfos +source ../config/sysinfos source ../functions -source ../functions-update -source ../packages-list - -# Execute a return statement instead of exit, to be able to continue with -# downloading other packages -export RCMD_NO_EXIT=1 +source ../functions-fpkg +source ../config/packages-list update_packages_init @@ -32,12 +28,19 @@ for module in ${XORG_MODULES_LIST}; do fpkg -d ${DEST_DIR} -e md5 ${module} ${BLFS_XORG_URL} if [ "${MOD_NAME}" = "driver" ]; then - # Remove unwanted drivers - for ext in wget md5; do - for excldrv in vmware newport xgixp geode; do - sed -i -e "/.*xf86-video-${excldrv}.*/d" ${LFS_PKG_DIR}/${MOD_NAME}/${module}.${ext} + if [ -n "${XORG_VIDEO_DRIVER}" ]; then + # Install only specific driver + for ext in wget md5; do + sed -i -e "/xf86-video-${XORG_VIDEO_DRIVER}/!d" ${LFS_PKG_DIR}/${MOD_NAME}/${module}.${ext} done - done + else + # Remove unwanted drivers + for ext in wget md5; do + for excldrv in vmware newport xgixp geode; do + sed -i -e "/.*xf86-video-${excldrv}.*/d" ${LFS_PKG_DIR}/${MOD_NAME}/${module}.${ext} + done + done + fi fi if [ "${MOD_NAME}" = "app" ]; then # Remove unneeded apps @@ -48,15 +51,18 @@ for module in ${XORG_MODULES_LIST}; do fi SUBMODS="$(grep -v '^#' ${LFS_PKG_DIR}/${MOD_NAME}/${module}.wget | sed 's!\.tar\.bz2$!!')" - + for submod in ${SUBMODS}; do fpkg_xorg ${submod} ${MOD_NAME} done pushd ${DEST_DIR} >> ${LFS_LOG_FILE} - md5sum -c ${LFS_PKG_DIR}/${MOD_NAME}/${module}.md5 >> ${LFS_LOG_FILE} - if [ $? -ne 0 ]; then - echo " md5sum error for ${module}" + # The "driver" md5 file maybe empty if the nouveau driver was selected + if cat ${LFS_PKG_DIR}/${MOD_NAME}/${module}.md5 | grep "[0-9]" 1> /dev/null 2>&1; then + md5sum -c ${LFS_PKG_DIR}/${MOD_NAME}/${module}.md5 >> ${LFS_LOG_FILE} + if [ $? -ne 0 ]; then + echo " md5sum error for ${module}" + fi fi popd >> ${LFS_LOG_FILE} done @@ -66,35 +72,40 @@ fpkg_xorg ${LIBXDMCP} lib fpkg_sf ${LESSTIF} fpkg_xorg ${XBITMAPS} data fpkg ${LIBPTHREAD_STUBS} "http://xcb.freedesktop.org/dist" -fpkg ${LIBDRM} "http://dri.freedesktop.org/libdrm" +fpkg ${XCB_PROTO} "http://xcb.freedesktop.org/dist" +fpkg_gnu ${GPERF} +fpkg ${XCB_UTIL} "http://xcb.freedesktop.org/dist" + +fpkg_hv ${LIBDRM} +fpkg -e "tar.gz" ${TALLOC} "http://samba.org/ftp/talloc" fpkg -s "$(get_pkg_ver ${MESALIB})" ${MESALIB} ftp://ftp.freedesktop.org/pub/mesa fpkg_xorg ${XCURSOR_THEMES} data fpkg ${XKEYBOARD_CONFIG} "http://xlibs.freedesktop.org/xkbdesc" fpkg_xorg ${LUIT} app -fpkg ${PIXMAN} "http://cairographics.org/releases" -fpkg ${LIBFFI} "ftp://sourceware.org/pub/libffi" +fpkg -e "tar.gz" ${PIXMAN} "http://cairographics.org/releases" +fpkg -e "tar.gz" ${LIBFFI} "ftp://sourceware.org/pub/libffi" fpkg ${DBUS} "http://dbus.freedesktop.org/releases/dbus" fpkg_gnome ${GLIB} fpkg_gnome ${GOBJECT_INSTROSPECTION} -fpkg ${DBUS_GLIB} "http://dbus.freedesktop.org/releases/dbus-glib" -fpkg ${EGGDBUS} "http://hal.freedesktop.org/releases" -fpkg ${POLKIT} "http://hal.freedesktop.org/releases" +fpkg -e "tar.gz" ${DBUS_GLIB} "http://dbus.freedesktop.org/releases/dbus-glib" +fpkg -e "tar.gz" ${EGGDBUS} "http://hal.freedesktop.org/releases" +fpkg -e "tar.gz" ${POLKIT} "http://hal.freedesktop.org/releases" fpkg ${CONSOLEKIT} "http://www.freedesktop.org/software/ConsoleKit/dist" -fpkg ${POLICYKIT} "http://hal.freedesktop.org/releases" +fpkg -e "tar.gz" ${POLICYKIT} "http://hal.freedesktop.org/releases" fpkg ${HAL} "http://hal.freedesktop.org/releases" fpkg ${HAL_INFO} "http://hal.freedesktop.org/releases" +fpkg_hv ${XORG_VIDEO_NOUVEAU} fpkg_xorg ${XORG_SERVER} xserver fpkg_xorg ${XDM} app -fpkg -e tgz ${XTERM} "ftp://invisible-island.net/xterm" +fpkg -e "tgz" ${XTERM} "ftp://invisible-island.net/xterm" -fpkg ${T1LIB} "http://www.ibiblio.org/pub/Linux/libs/graphics" +fpkg -e "tar.gz" ${T1LIB} "http://www.ibiblio.org/pub/Linux/libs/graphics" -fpkg_sf ${TK} tcl - -fpkg_gnu ${EMACS} -fpkg ${WINDOWMAKER} "http://windowmaker.info/pub/source/release" -fpkg ${WINDOWMAKER_EXTRA} "http://windowmaker.info/pub/source/release" +fpkg_sf ${TK} tcl +fpkg_gnu ${EMACS} +fpkg ${WINDOWMAKER} "http://windowmaker.info/pub/source/release" +fpkg -e "tar.gz" ${WINDOWMAKER_EXTRA} "http://windowmaker.info/pub/source/release" exit $? diff --git a/stage4/pkg/MesaLib b/stage4/pkg/MesaLib new file mode 100644 index 0000000..80b8017 --- /dev/null +++ b/stage4/pkg/MesaLib @@ -0,0 +1,18 @@ +#!/bin/bash + +hvconfig_pre() +{ + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --enable-motif \ + --enable-xcb \ + ${XORG_CONFIG}" + + # Mesa builds with debugging symbols. Remove the -g switch from both CFLAGS + # and CXXFLAGS with this command: + sed 's@FLAGS=\"-g@FLAGS=\"@' -i ${LFS_TMP}/${PACKAGE}/configure + + # Revert effect of automatically applying blfs patch for xdemos (this patch + # causes a compilation bug with a missing GL/gl.h include) + sed 's@^\(SUBDIRS = src\) xdemos@\1@' -i ${LFS_TMP}/${PACKAGE}/Makefile +} diff --git a/stage4/pkg/PolicyKit b/stage4/pkg/PolicyKit new file mode 100644 index 0000000..c474b00 --- /dev/null +++ b/stage4/pkg/PolicyKit @@ -0,0 +1,13 @@ +#!/bin/bash + +hvconfig_pre() +{ + hv_groupadd -g 27 polkituser + hv_useradd -c Policy-Kit-Daemon-User -d /dev/null -u 27 \ + -g polkituser -s /bin/false polkituser + + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --libexecdir=/usr/lib/PolicyKit \ + --localstatedir=/var" +} diff --git a/stage4/pkg/WindowMaker b/stage4/pkg/WindowMaker new file mode 100644 index 0000000..e6d0632 --- /dev/null +++ b/stage4/pkg/WindowMaker @@ -0,0 +1,15 @@ +#!/bin/bash + +hvconfig_pre() +{ + cd ${LFS_TMP}/${PACKAGE} + aclocal + autoheader + autoconf + libtoolize --force --automake + automake -a --gnu --include-deps + + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --with-gnustepdir=/usr/share/GNUstep" +} diff --git a/stage4/pkg/dbus b/stage4/pkg/dbus new file mode 100644 index 0000000..f576ac7 --- /dev/null +++ b/stage4/pkg/dbus @@ -0,0 +1,27 @@ +#!/bin/bash + +hvconfig_pre() +{ + hv_groupadd -g 18 messagebus + hv_useradd -c D-BUS-Message-Daemon-User -d /dev/null \ + -u 18 -g messagebus -s /bin/false messagebus + + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --libexecdir=/usr/lib/dbus-1.0 \ + --localstatedir=/var" +} + +hvbuild_post() +{ + # Bootscript + install -v -m740 ${SCRDIR}/bootscripts/dbus /etc/rc.d/init.d + + # script-name start stop + bootscript_add_rc3 dbus 92 20 + + # Starting the session daemon here has the added bonus that it will exit + # when you log out of your GNOME session. If you wish to start the daemon + #here, use the following command instead of the one shown above: + ##echo "exec dbus-launch --exit-with-session gnome-session" >> ~/.xinitrc +} diff --git a/stage4/pkg/glib b/stage4/pkg/glib new file mode 100644 index 0000000..4d0b925 --- /dev/null +++ b/stage4/pkg/glib @@ -0,0 +1,19 @@ +#!/bin/bash + +hvconfig_pre() +{ + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --with-pcre=system" +} + +hvbuild_post() +{ + chmod -v 755 /usr/bin/gtester-report + + cat > /etc/profile.d/glib2-locale.sh << "EOF" +# Use the current locale charset for filenames +# in applications using GLib +export G_FILENAME_ENCODING=@locale +EOF +} diff --git a/stage4/pkg/hal b/stage4/pkg/hal new file mode 100644 index 0000000..78d38ac --- /dev/null +++ b/stage4/pkg/hal @@ -0,0 +1,81 @@ +#!/bin/bash + +hvconfig_pre() +{ + hv_groupadd -g 19 haldaemon + hv_useradd -c HAL-Daemon-User -d /dev/null -u 19 \ + -g haldaemon -s /bin/false haldaemon + + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --libexecdir=/usr/lib/hal \ + --localstatedir=/var \ + --with-udev-prefix=/etc" +} + +hvbuild_post() +{ + install -v -m755 -d /var/run/hald + + # Bootscript + install -v -m740 ${SCRDIR}/bootscripts/hald /etc/rc.d/init.d + + # script-name start stop + bootscript_add_rc3 hald 93 19 + + # The default setup for HAL is to allow only certain users to invoke + # methods such as Mount(). These are the root user and the user determined + # to be at the active console using pam_console. If you are not set up to + # use Linux-PAM-1.1.1 and pam_console, create a group that is allowed to + # invoke HAL methods with the following commands: + hv_groupadd -g 61 halusers + cat > /etc/dbus-1/system.d/halusers.conf << "EOF" + + + + + + + + + + + + +EOF + + # Now add the users you would like to the halusers group to use HAL: + usermod -a -G halusers ${REGUSER} + + # With the above configuration in place, authorized users now have the + # ability to unmount disk partitions mounted at non-standard locations such + # as /pub. If you'd like to restrict this policy to only drives which are + # considered removable or hotpluggable, add the following configuration + # file as the root user: + cat > /etc/hal/fdi/policy/no-fixed-drives.fdi << "EOF" + + + + + + + + + true + + + + +EOF + + # If the system-wide D-BUS daemon was running during the installation of + # HAL, ensure you stop and restart the D-BUS daemon before attempting to + # start the hald daemon. + #/etc/rc.d/init.d/dbus restart + + # Starting daemon + #/etc/rc.d/init.d/hal start +} diff --git a/stage4/pkg/lesstif b/stage4/pkg/lesstif new file mode 100644 index 0000000..78a0092 --- /dev/null +++ b/stage4/pkg/lesstif @@ -0,0 +1,33 @@ +#!/bin/bash + +hvconfig_pre() +{ + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --prefix=/usr \ + --sysconfdir=/etc/X11 \ + --disable-debug \ + --disable-build-tests \ + --enable-production \ + --with-xdnd \ + --x-includes=/usr/include \ + --x-libraries=/usr/lib" +} + +hvconfig_post() +{ + sed -i "s@libdir)/X11/mwm@sysconfdir)/mwm@" \ + ${LFS_TMP}/${PACKAGE}/clients/Motif-2.1/mwm/Makefile + + export rootdir=/usr/share/doc/${PACKAGE} +} + +hvbuild_post() +{ + unset rootdir + + # Applicatons that utilize Xorg libraries often, and incorrectly, expect to + # find configuration files in /usr/lib/X11. While still the root + # user, create a compatibility symlink with the following command: + ln -v -sf /etc/X11/mwm /usr/lib/X11 +} diff --git a/stage4/pkg/libdrm-git b/stage4/pkg/libdrm-git new file mode 100644 index 0000000..f61874f --- /dev/null +++ b/stage4/pkg/libdrm-git @@ -0,0 +1,13 @@ +#!/bin/bash + +hvconfig_pre() +{ + cd ${LFS_TMP}/${PACKAGE} + ./autogen.sh + + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --enable-nouveau-experimental-api \ + ${XORG_CONFIG}" +} + diff --git a/stage4/pkg/polkit b/stage4/pkg/polkit new file mode 100644 index 0000000..24b1776 --- /dev/null +++ b/stage4/pkg/polkit @@ -0,0 +1,15 @@ +#!/bin/bash + +hvconfig_pre() +{ + # It is a requirement to have a dedicated user and group for polkit to + # function correctly: + hv_groupadd -fg 27 polkituser + hv_useradd -c Policy-Kit-Daemon-User -d /dev/null -u 27 \ + -g polkituser -s /bin/false polkituser + + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --libexecdir=/usr/lib/polkit-1 \ + --localstatedir=/var" +} diff --git a/stage4/pkg/t1lib b/stage4/pkg/t1lib new file mode 100644 index 0000000..72211a8 --- /dev/null +++ b/stage4/pkg/t1lib @@ -0,0 +1,7 @@ +#!/bin/bash + +hvbuild() +{ + make without_doc + make install +} diff --git a/stage4/pkg/tk b/stage4/pkg/tk new file mode 100644 index 0000000..e91c15c --- /dev/null +++ b/stage4/pkg/tk @@ -0,0 +1,34 @@ +#!/bin/bash + +hvconfig() +{ + cd ${LFS_TMP}/${PACKAGE}/unix + ./configure \ + --prefix=/usr \ + --enable-threads \ + --mandir=/usr/share/man +} + +hvbuild() +{ + make + + # Removes references to the build directory and replaces them with saner + # system-wide locations: + sed -i \ + -e "s@^\(TK_SRC_DIR='\).*@\1/usr/include'@" \ + -e "/TK_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \ + -e "/SEARCH/s/=.*/=''/" \ + tkConfig.sh + make install +} + +hvbuild_post() +{ + make install-private-headers + + # Special case for TK + PKG_VER_BASE=$(echo ${PACKAGE} | sed "s!^tk\([0-9]*\.[0-9]*\).*!\1!g") + + ln -v -sf wish${PKG_VER_BASE} /usr/bin/wish +} diff --git a/stage4/pkg/xf86-video-nouveau-git b/stage4/pkg/xf86-video-nouveau-git new file mode 100644 index 0000000..ba3dbef --- /dev/null +++ b/stage4/pkg/xf86-video-nouveau-git @@ -0,0 +1,8 @@ +#!/bin/bash + +hvconfig_pre() +{ + cd ${LFS_TMP}/${PACKAGE} + ./autogen.sh +} + diff --git a/stage4/pkg/xterm b/stage4/pkg/xterm new file mode 100644 index 0000000..29cf5cc --- /dev/null +++ b/stage4/pkg/xterm @@ -0,0 +1,25 @@ +#!/bin/bash + +hvconfig_pre() +{ + sed -i '/v0/,+1s/new:/new:kb=^?:/' ${LFS_TMP}/${PACKAGE}/termcap + echo -e '\tkbs=\\177,' >> ${LFS_TMP}/${PACKAGE}/terminfo + + export TERMINFO=/usr/lib/terminfo + CONFIGURE_OPTS="\ + ${CONFIGURE_OPTS} \ + --enable-luit \ + --enable-wide-chars \ + --with-app-defaults=/usr/share/X11/app-defaults \ + ${XORG_CONFIG}" +} + +hvconfig_post() +{ + unset TERMINFO +} + +hvbuild_post() +{ + make install-ti +} diff --git a/stage4/stage.def b/stage4/stage.def new file mode 100644 index 0000000..45b3a56 --- /dev/null +++ b/stage4/stage.def @@ -0,0 +1,3 @@ +#!/bin/bash + +export LFS_STAGE=stage4 diff --git a/stage4/stage4-additions b/stage4/stage4-additions deleted file mode 100755 index 73591b1..0000000 --- a/stage4/stage4-additions +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -LFS_STAGE=stage4 - -export LFS_PKG_DIR="$(dirname $(pwd))/packages/${LFS_STAGE}" -export LFS_LOG_DIR=/var/log/hvlinux-install/${LFS_STAGE} -export LFS_LOG_FILE=${LFS_LOG_DIR}/install.log -export LFS_TMP=/tmp - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list -source /etc/profile - -if [ "x${USER}" != "xroot" ]; then - echo "You must be the superuser to install hvlinux." - exit 1 -fi - -init_log_file - -# Scripts directory -export SCRDIR=$(pwd) - -exit $? diff --git a/stage4/stage4-install b/stage4/stage4-install deleted file mode 100755 index 73f2c71..0000000 --- a/stage4/stage4-install +++ /dev/null @@ -1,157 +0,0 @@ -#!/bin/sh - -LFS_STAGE=stage4 - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list -source /etc/profile - -export LFS_PKG_DIR="$(dirname $(pwd))/packages/${LFS_STAGE}" -export LFS_LOG_DIR=${LFS}/var/log/hvlinux-install/${LFS_STAGE} -export LFS_LOG_FILE=${LFS_LOG_DIR}/install.log -export LFS_TMP=${LFS}/tmp - -if [ "x${USER}" != "xroot" ]; then - echo "You must be the superuser to install hvlinux." - exit 1 -fi - -init_log_file - -# Scripts directory -export SCRDIR=$(pwd) - -export XORG_PREFIX=/usr -export XORG_CONFIG="\ - --mandir=${XORG_PREFIX}/share/man \ - --localstatedir=/var" - -LFS_PKG_DIR_ORIG=${LFS_PKG_DIR} - -# Arg #1: module name and version -# Arg #2: subdirectory -# Arg #3: optional configure arguments -ipkg_xorg() -{ - local MODULE=${1} - local SUBDIR=${2} - shift 2 - local CONFIGURE_OPTS=${*} - - LFS_PKG_DIR=${LFS_PKG_DIR_ORIG}/${SUBDIR} - ipkg_ac ${MODULE} ${XORG_CONFIG} ${CONFIGURE_OPTS} - LFS_PKG_DIR=${LFS_PKG_DIR_ORIG} -} - -# Install all submodules in a module -# -# Arg #1: module name and version -# Arg #2: optional configure arguments -install_xorg_modules() -{ - local MODULE=${1} - shift - local CONFIGURE_OPTS=${*} - - local MODULE_NAME=$(get_pkg_name ${MODULE}) - - local MY_XORG_CONFIG - - for package in $(grep -v '^#' ${LFS_PKG_DIR}/${MODULE_NAME}/${MODULE}.wget); do - SUBMOD="$(echo ${package} | sed 's!\.tar\.bz2$!!')" - - # Special configure options for specific packages - case ${SUBMOD} in - libXfont-[0-9]* ) - MY_XORG_CONFIG="--disable-devel-docs" - ;; - libX11-[0-9]* ) - MY_XORG_CONFIG="--without-xcb" - ;; - libXt-[0-9]* ) - MY_XORG_CONFIG="--with-appdefaultdir=/etc/X11/app-defaults" - ;; - xinit-[0-9]* ) - MY_XORG_CONFIG="--with-xinitdir=/etc/X11/app-defautls" - ;; - esac - - ipkg_xorg ${SUBMOD} ${MODULE_NAME} ${MY_XORG_CONFIG} ${CONFIGURE_OPTS} - done -} - -install_xorg_modules ${XORG_PROTO} -install_xorg_modules ${XORG_UTIL} -ipkg_xorg ${LIBXAU} "lib" -ipkg_xorg ${LIBXDMCP} "lib" -install_xorg_modules ${XORG_LIB} -ipkg_cust ${LESSTIF} cis-lesstif \ - --sysconfdir=/etc/X11 \ - --disable-debug \ - --disable-build-tests \ - --enable-production \ - --with-xdnd \ - --x-includes=$XORG_PREFIX/include \ - --x-libraries=$XORG_PREFIX/lib -ipkg_xorg ${XBITMAPS} "data" -ipkg_ac ${LIBPTHREAD_STUBS} -ipkg_ac ${LIBDRM} --enable-udev -ipkg_cust ${MESALIB} cis-mesalib --enable-motif -install_xorg_modules ${XORG_APP} -ipkg_xorg ${XCURSOR_THEMES} "data" -install_xorg_modules ${XORG_FONT} -rscr once "Configuring fonts" configure-fonts -ipkg_ac ${XKEYBOARD_CONFIG} ${XORG_CONFIG} --with-xkb-rules-symlink=xorg -ipkg_xorg ${LUIT} "app" -ipkg_ac ${PIXMAN} -ipkg_ac ${LIBFFI} -ipkg_cust ${DBUS} cis-dbus -ipkg_cust ${GLIB} cis-glib --with-pcre=system -ipkg_ac ${GOBJECT_INSTROSPECTION} -ipkg_ac ${DBUS_GLIB} \ - --disable-tests \ - --disable-dependency-tracking \ - --libexecdir=/usr/lib/dbus-1.0/dbus-1 -ipkg_ac ${EGGDBUS} -ipkg_cust ${POLKIT} cis-polkit -ipkg_ac_nb ${CONSOLEKIT} \ - --libexecdir=/usr/lib/ConsoleKit \ - --localstatedir=/var \ - --enable-pam-module -ipkg_cust ${POLICYKIT} cis-policykit -ipkg_cust ${HAL} cis-hal -ipkg_ac ${HAL_INFO} - -ipkg_xorg ${XORG_SERVER} "xserver" "\ - --with-module-dir=${XORG_PREFIX}/lib/X11/modules \ - --with-xkb-output=/var/lib/xkb \ - --enable-install-setuid \ - --disable-config-hal" - -# newport, vmware, and xgixp drivers cause Xorg -configure to hang -# To fix this problem, comment out these drivers in both driver-7.5-2.md5 and driver-7.5-2.wget. -install_xorg_modules ${XORG_DRIVER} --with-xorg-module-dir=${XORG_PREFIX}/lib/X11/modules - -ipkg_xorg ${XDM} "app" - -rscr once "Configuring X.org" configure-xorg - -ipkg_cust ${XTERM} cis-xterm ${XORG_CONFIG} - -ipkg_cust ${T1LIB} cis-t1lib - -ipkg_cust ${TK} cis-tk - -# Re-installing python now that tk is present??? -ipkg_ac ${PYTHON} "--enable-shared" - -ipkg_cust ${WINDOWMAKER} cis-windowmaker -ipkg_ac ${WINDOWMAKER_EXTRA} - -#source /etc/profile - -#rscr mult "Performing post-install" cis-post-install - -exit $? diff --git a/stage5/INSTALL b/stage5/INSTALL index 52383c5..9c5ef84 100644 --- a/stage5/INSTALL +++ b/stage5/INSTALL @@ -1,5 +1,7 @@ +stage5: Installing software after X-Windows + +Installation +------------ -Installation instructions -------------------------- - -1. ./stage4-install +1. Type: + $> sudo make diff --git a/stage5/Makefile b/stage5/Makefile new file mode 100644 index 0000000..b5595fc --- /dev/null +++ b/stage5/Makefile @@ -0,0 +1,21 @@ +# Makefile for hvlinux + +# Idées pour future targets: +# clean +# strip +# compress -> compressdoc (à partir du stage2) +# dep +# list -> list installed packages and versions + +.PHONY: get test + +all: + @./hv-install-1 + +# Fetch packages from network +get: + @./packages-update + +# Test integrity of packages +test: + @./packages-update test diff --git a/stage5/hv-install-1 b/stage5/hv-install-1 new file mode 100755 index 0000000..494716b --- /dev/null +++ b/stage5/hv-install-1 @@ -0,0 +1,282 @@ +#!/bin/sh + +LFS_STAGE=stage5 + +export LFS_PKG_DIR="$(dirname $(pwd))/packages/${LFS_STAGE}" +export LFS_LOG_DIR=/var/log/hvlinux-install/${LFS_STAGE} +export LFS_LOG_FILE=${LFS_LOG_DIR}/install.log +export LFS_TMP=/tmp + +# Reading system configuration informations, functions and package versions. +source ../sysinfos +source ../functions +source ../packages-list +source /etc/profile + +if [ "x${USER}" != "xroot" ]; then + echo "You must be the superuser to install hvlinux." + exit 1 +fi + +init_log_file + +if [ "x${INST_TYPE}" = "xworkstation" -o "x${INST_TYPE}" = "xltsp-server" ]; then + # Gtk + ipkg_ac ${LIBSIGCPP} + ipkg_ac ${JASPER} "--enable-shared" + ipkg_ac ${GTK_DOC} + ipkg_ac ${GLIBMM} + ipkg_ac ${CAIRO} + ipkg_ac ${CAIROMM} + ipkg_ac_nb ${PANGO} + ipkg_ac ${PANGOMM} + ipkg_ac ${ATK} + ipkg_ac ${GTK} + ipkg_ac ${GTKMM} + ipkg_ac ${GTK_ENGINES} + ipkg_ac ${PYGOBJECT} + ipkg_ac ${PYCAIRO} + ipkg_ac ${PYGTK} + ipkg_ac ${GC} + + ipkg_cust ${EMACS} cis-emacs + ipkg_ac ${HVCLOCK} + ipkg_ac ${WMNOTIFY} + + # Needed by GNOME-2 + ipkg_ac ${DESKTOP_FILE_UTILS} + ipkg_ac ${SHARED_MIME_INFO} + ipkg_ac ${STARTUP_NOTIFICATION} + ipkg_ac ${LIBWNCK} + ipkg_cust ${ISO_CODES} cis-iso-codes + ipkg_ac ${LIBXKLAVIER} + ipkg_ac ${LIBGLADE} + ipkg_ac ${LIBTASN1} + ipkg_ac ${GUILE} \ + --enable-posix \ + --disable-static \ + --enable-networking \ + --enable-regex + ipkg_ac ${LIBGPG_ERROR} + ipkg_ac ${LIBGCRYPT} + ipkg_ac_nb ${GNUTLS} + ipkg_ac ${LIBIDL} + + # GNOME-2.X configuration + rscr mult "Configuring ${GNOME2_VER}" ./cis-gnome-config + source /etc/profile + + ipkg_gnome ${ORBIT2} + ipkg_cust ${GCONF} cis-gconf + ipkg_ac ${LIBPROXY} "--with-gnome" + ipkg_gnome ${GNOME_KEYRING} + ipkg_ac ${LIBSOUP} +fi + +ipkg_ac ${HELP2MAN} +ipkg_ac ${GSL} +ipkg_cust ${CUPS} cis-cups +ipkg_cust ${CUPS_PDF} cis-cups-pdf +ipkg_cust ${SPLIX} cis-splix +ipkg_cust ${GHOSTSCRIPT} cis-ghostscript + +if [ "x${INST_TYPE}" = "xworkstation" -o "x${INST_TYPE}" = "xltsp-server" ]; then + ipkg_ac ${IMAGE_MAGICK} "--with-modules --with-gslib=/usr/lib" + # xpdf headers needed by inkscape + ipkg_ac ${POPPLER} "--enable-xpdf-headers --enable-zlib" + ipkg_ac ${LIBRSVG} "--disable-gtk-doc --disable-mozilla-plugin" + ipkg_ac ${BABL} + ipkg_ac ${GEGL} + ipkg_ac ${GIMP} "--disable-print" + ipkg_ac_nb ${GUTENPRINT} + ipkg_cust ${BOOST} cis-boost + # inkscape-0.47 has a problem with poppler >= 0.12.2 + ####ipkg_ac ${INKSCAPE} "CFLAGS=\"-DPOPPLER_NEW_GFXFONT\"" +fi + +ipkg_cust ${CDRTOOLS} cis-cdrtools +ipkg_cust ${DVDRWTOOLS} cis-dvd-rw-tools +ipkg_ac ${LIBDVDCSS} +ipkg_ac ${LIBDVDREAD} "--with-libdvdcss" +ipkg_cust ${DVDFS} cis-dvdfs + +if [ "x${INST_TYPE}" = "xworkstation" -o "x${INST_TYPE}" = "xltsp-server" ]; then + ipkg_cust ${TETEX_SRC} cis-tetex + + # 'Five years old' bug --> Change the date to something in 2004 before installing. + ipkg_cust ${JADETEX} cis-jadetex +fi + +if [ "x${SANE_SUPPORT}" = "xyes" ]; then + ipkg_cust ${SANE_BACKENDS} cis-sane-backends + ipkg_cust ${XSANE} cis-xsane +fi + +ipkg_pm ${PERL_MOD_XML_SIMPLE} +ipkg_pm ${PERL_MOD_PARSE_REDESCENT} +ipkg_ac ${ICON_NAMING_UTILS} +ipkg_ac ${TANGO_ICON_THEME} +ipkg_ac ${TANGO_ICON_THEME_EXTRAS} + +if [ "x${INST_TYPE}" = "xworkstation" -o "x${INST_TYPE}" = "xltsp-server" ]; then + # Audio + if [ "x${SOUND_CARD}" = "xyes" ]; then + # Needed by some packages, mostly audio applications. + ipkg_ac ${LIBOIL} + + # ALSA + ipkg_cust ${ALSA_LIB} cis-alsa-lib + ipkg_cust ${ALSA_UTILS} cis-alsa-utils + ipkg_ac ${ALSA_OSS} + + # Audio raw utilities + ipkg_ac ${LIBSAMPLERATE} + + # Audio file formats + ipkg_ac ${LIBOGG} + ipkg_ac ${LIBVORBIS} + ipkg_ac_nb ${FLAC} + ipkg_ac ${LAME} + ipkg_ac ${LIBA52} "--enable-shared" + ipkg_cust ${LIBID3TAG} cis-libid3tag + ipkg_cust ${LIBMAD} cis-libmad + + ipkg_ac_nb ${LIBFAAC} + ipkg_ac_nb ${LIBFAAD2} + ipkg_ac ${LIBTHEORA} + ipkg_cust ${XVIDCORE} cis-xvidcore + + # Audio libraries + ipkg_ac_nb ${AUDIOFILE} + ipkg_ac ${PORTAUDIO} + ipkg_ac ${LIBSNDFILE} + + # Audio servers + ipkg_ac ${ESOUND} + ipkg_ac ${SPEEX} + ipkg_cust ${PULSEAUDIO} cis-pulseaudio + ipkg_ac ${JACK} "--disable-portaudio" + + ipkg_ac ${ALSA_PLUGINS} # Depends on pulseaudio + ipkg_ac ${VORBIS_TOOLS} + + # Audio applications + ipkg_ac_nb ${GRIP} "--disable-id3" + ipkg_ac_nb ${CDRDAO} + ipkg_ac ${EASYTAG} + ipkg_ac_nb ${LILYPOND} + + ipkg_ac_nb ${FFMPEG} "--enable-shared --enable-pthreads --enable-gpl --enable-nonfree --disable-ffplay \ + --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora \ + --enable-libvorbis --enable-libxvid" + fi + + ipkg_ac ${SYLPHEED} "--enable-ssl --enable-ldap" + ipkg_cust ${NSS} cis-nss + ipkg_cust ${FIREFOX} cis-firefox + + # Plugins for Firefox + ipkg_cust ${JAVA} cis-java + ipkg_cust ${AGG} cis-agg + ipkg_cust ${GNASH} cis-gnash +fi + +ipkg_ac ${LIBGAMIN} "--libexecdir=/usr/sbin" +ipkg_ac ${PCMANFM} + +# Mail +ipkg_cust ${SASL2} cis-sasl2 +ipkg_cust ${OPENLDAP} cis-openldap +ipkg_cust ${KERBEROS5} cis-krb5 +ipkg_cust ${SENDMAIL} cis-sendmail + +if [ "x${INST_TYPE}" = "xserver" -o "x${INST_TYPE}" = "xltsp-server" ]; then + ipkg_cust ${PROCMAIL} cis-procmail + ipkg_ac ${LIBSPF2} + ipkg_cust ${MILTER_SPF} cis-milter-spf + ipkg_cust ${MILTER_GREYLIST} cis-milter-greylist +fi + +# fcron needs sendmail installed. +ipkg_cust ${FCRON} cis-fcron +ipkg_cust ${GETDATE} cis-getdate + +if [ "x${INST_TYPE}" = "xserver" -o "x${INST_TYPE}" = "xltsp-server" ]; then + ipkg_cust ${CLAMAV} cis-clamav + + # Required PERL modules for SpamAssassin + ipkg_pm ${PERL_MOD_HTML_TAGSET} + ipkg_pm ${PERL_MOD_HTML_PARSER} + ipkg_pm ${PERL_MOD_APACHE_LOGGED_AUTH_DBI} + ############ipkg_pm ${PERL_MOD_DB_FILE} +# Berkeley DB n'est plus installé... +########PERL_MOD_DB_FILE="DB_File-1.814" + ipkg_pm ${PERL_MOD_DIGEST_SHA1} + ipkg_pm ${PERL_MOD_URI} + ipkg_pm ${PERL_MOD_LWP} + ipkg_pm ${PERL_MOD_NET_DNS} --no-online-tests + + # Needed by OpenOffice ??? + #ipkg_pm ${PERL_MOD_ARCHIVE_ZIP} + #ipkg_pm ${PERL_MOD_COMPRESS_ZLIB} + #ipkg_pm ${PERL_MOD_IO_COMPRESS_BASE} + #ipkg_pm ${PERL_MOD_COMPRESS_RAW_ZLIB} + #ipkg_pm ${PERL_MOD_IO_COMPRESS_ZLIB} +PERL_MOD_ARCHIVE_ZIP="Archive-Zip-1.30" +PERL_MOD_COMPRESS_ZLIB="Compress-Zlib-2.015" +PERL_MOD_IO_COMPRESS_BASE="IO-Compress-Base-2.024" +PERL_MOD_IO_COMPRESS_ZLIB="IO-Compress-Zlib-2.024" +PERL_MOD_COMPRESS_RAW_ZLIB="Compress-Raw-Zlib-2.024" + + ipkg_cust ${SPAMASSASSIN} cis-spamassassin + ipkg_cust ${UW_IMAP} cis-uw-imap + + # Apache + ipkg_cust ${HTTPD} cis-apache + ipkg_cust ${PHP} cis-php + + ipkg_cust ${SQUIRRELMAIL} cis-squirrelmail + ipkg_cust ${MAILMAN} cis-mailman + ipkg_ac ${FETCHMAIL} "--with-ssl" + ipkg_ac ${MUTT} "--enable-imap --with-ssl" + + # Subversion server (client was already installed in stage2) + ipkg_cust ${SUBVERSION} cis-subversion + ipkg_ac ${INDENT} +fi + +if [ "x${USE_SAMBA}" = "xyes" ]; then + ipkg_cust ${SAMBA} cis-samba +fi + +if [ "x${INST_TYPE}" = "xltsp-server" ]; then + ipkg_cust ${TFTP_HPA} cis-tftp-hpa + ipkg_cust ${LTSP_UTILS} cis-ltsp-utils +fi + +ipkg_ac_nb ${KVM} +ipkg_ac_nb ${BRIDGE_UTILS} +ipkg_cust ${UML_UTILITIES} cis-uml-utilities + +ipkg_cust ${CKERMIT} cis-ckermit + +# BitTorrent client +ipkg_ac ${TRANSMISSION} "--disable-daemon" + +ipkg_ac ${GNUPG} "--libexecdir=/usr/lib" + + + + +ipkg_ac ${LIBGEDA} +ipkg_ac ${GEDA_SYMBOLS} +ipkg_ac ${GEDA_GSCHEM} +ipkg_ac ${GEDA_GNETLIST} +ipkg_ac ${GEDA_SYMCHECK} +ipkg_ac ${GEDA_GATTRIB} + + + +rscr mult "Performing post-install" cis-post-install + +exit $? diff --git a/stage5/install-1 b/stage5/install-1 deleted file mode 100755 index cd267f7..0000000 --- a/stage5/install-1 +++ /dev/null @@ -1,286 +0,0 @@ -#!/bin/sh - -LFS_STAGE=stage5 - -export LFS_PKG_DIR="$(dirname $(pwd))/packages/${LFS_STAGE}" -export LFS_LOG_DIR=/var/log/hvlinux-install/${LFS_STAGE} -export LFS_LOG_FILE=${LFS_LOG_DIR}/install.log -export LFS_TMP=/tmp - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list -source /etc/profile - -if [ "x${USER}" != "xroot" ]; then - echo "You must be the superuser to install hvlinux." - exit 1 -fi - -init_log_file - -# Scripts directory -export SCRDIR=$(pwd) - -if [ "x${INST_TYPE}" = "xworkstation" -o "x${INST_TYPE}" = "xltsp-server" ]; then - # Gtk - ipkg_ac ${LIBSIGCPP} - ipkg_ac ${JASPER} "--enable-shared" - ipkg_ac ${GTK_DOC} - ipkg_ac ${GLIBMM} - ipkg_ac ${CAIRO} - ipkg_ac ${CAIROMM} - ipkg_ac_nb ${PANGO} - ipkg_ac ${PANGOMM} - ipkg_ac ${ATK} - ipkg_ac ${GTK} - ipkg_ac ${GTKMM} - ipkg_ac ${GTK_ENGINES} - ipkg_ac ${PYGOBJECT} - ipkg_ac ${PYCAIRO} - ipkg_ac ${PYGTK} - ipkg_ac ${GC} - - ipkg_cust ${EMACS} cis-emacs - ipkg_ac ${HVCLOCK} - ipkg_ac ${WMNOTIFY} - - # Needed by GNOME-2 - ipkg_ac ${DESKTOP_FILE_UTILS} - ipkg_ac ${SHARED_MIME_INFO} - ipkg_ac ${STARTUP_NOTIFICATION} - ipkg_ac ${LIBWNCK} - ipkg_cust ${ISO_CODES} cis-iso-codes - ipkg_ac ${LIBXKLAVIER} - ipkg_ac ${LIBGLADE} - ipkg_ac ${LIBTASN1} - ipkg_ac ${GUILE} \ - --enable-posix \ - --disable-static \ - --enable-networking \ - --enable-regex - ipkg_ac ${LIBGPG_ERROR} - ipkg_ac ${LIBGCRYPT} - ipkg_ac_nb ${GNUTLS} - ipkg_ac ${LIBIDL} - - # GNOME-2.X configuration - rscr mult "Configuring ${GNOME2_VER}" ./cis-gnome-config - source /etc/profile - - ipkg_gnome ${ORBIT2} - ipkg_cust ${GCONF} cis-gconf - ipkg_ac ${LIBPROXY} "--with-gnome" - ipkg_gnome ${GNOME_KEYRING} - ipkg_ac ${LIBSOUP} -fi - -ipkg_ac ${HELP2MAN} -ipkg_ac ${GSL} -ipkg_cust ${CUPS} cis-cups -ipkg_cust ${CUPS_PDF} cis-cups-pdf -ipkg_cust ${SPLIX} cis-splix -ipkg_cust ${GHOSTSCRIPT} cis-ghostscript - -if [ "x${INST_TYPE}" = "xworkstation" -o "x${INST_TYPE}" = "xltsp-server" ]; then - ipkg_ac ${IMAGE_MAGICK} "--with-modules --with-gslib=/usr/lib" - # xpdf headers needed by inkscape - ipkg_ac ${POPPLER} "--enable-xpdf-headers --enable-zlib" - ipkg_ac ${LIBRSVG} "--disable-gtk-doc --disable-mozilla-plugin" - ipkg_ac ${BABL} - ipkg_ac ${GEGL} - ipkg_ac ${GIMP} "--disable-print" - ipkg_ac_nb ${GUTENPRINT} - ipkg_cust ${BOOST} cis-boost - # inkscape-0.47 has a problem with poppler >= 0.12.2 - ####ipkg_ac ${INKSCAPE} "CFLAGS=\"-DPOPPLER_NEW_GFXFONT\"" -fi - -ipkg_cust ${CDRTOOLS} cis-cdrtools -ipkg_cust ${DVDRWTOOLS} cis-dvd-rw-tools -ipkg_ac ${LIBDVDCSS} -ipkg_ac ${LIBDVDREAD} "--with-libdvdcss" -ipkg_cust ${DVDFS} cis-dvdfs - -if [ "x${INST_TYPE}" = "xworkstation" -o "x${INST_TYPE}" = "xltsp-server" ]; then - ipkg_cust ${TETEX_SRC} cis-tetex - - # 'Five years old' bug --> Change the date to something in 2004 before installing. - ipkg_cust ${JADETEX} cis-jadetex -fi - -if [ "x${SANE_SUPPORT}" = "xyes" ]; then - ipkg_cust ${SANE_BACKENDS} cis-sane-backends - ipkg_cust ${XSANE} cis-xsane -fi - -ipkg_pm ${PERL_MOD_XML_SIMPLE} -ipkg_pm ${PERL_MOD_PARSE_REDESCENT} -ipkg_ac ${ICON_NAMING_UTILS} -ipkg_ac ${TANGO_ICON_THEME} -ipkg_ac ${TANGO_ICON_THEME_EXTRAS} - -if [ "x${INST_TYPE}" = "xworkstation" -o "x${INST_TYPE}" = "xltsp-server" ]; then - # Audio - if [ "x${SOUND_CARD}" = "xyes" ]; then - # Needed by some packages, mostly audio applications. - ipkg_ac ${LIBOIL} - - # ALSA - ipkg_cust ${ALSA_LIB} cis-alsa-lib - ipkg_cust ${ALSA_UTILS} cis-alsa-utils - ipkg_ac ${ALSA_OSS} - - # Audio raw utilities - ipkg_ac ${LIBSAMPLERATE} - - # Audio file formats - ipkg_ac ${LIBOGG} - ipkg_ac ${LIBVORBIS} - ipkg_ac_nb ${FLAC} - ipkg_ac ${LAME} - ipkg_ac ${LIBA52} "--enable-shared" - ipkg_cust ${LIBID3TAG} cis-libid3tag - ipkg_cust ${LIBMAD} cis-libmad - - ipkg_ac_nb ${LIBFAAC} - ipkg_ac_nb ${LIBFAAD2} - ipkg_ac ${LIBTHEORA} - ipkg_cust ${XVIDCORE} cis-xvidcore - - # Audio libraries - ipkg_ac_nb ${AUDIOFILE} - ipkg_ac ${PORTAUDIO} - ipkg_ac ${LIBSNDFILE} - - # Audio servers - ipkg_ac ${ESOUND} - ipkg_ac ${SPEEX} - ipkg_cust ${PULSEAUDIO} cis-pulseaudio - ipkg_ac ${JACK} "--disable-portaudio" - - ipkg_ac ${ALSA_PLUGINS} # Depends on pulseaudio - ipkg_ac ${VORBIS_TOOLS} - - # Audio applications - ipkg_ac_nb ${GRIP} "--disable-id3" - ipkg_ac_nb ${CDRDAO} - ipkg_ac ${SWEEP} "--enable-pulseaudio" - ipkg_ac ${EASYTAG} - ipkg_ac_nb ${LILYPOND} - - ipkg_ac_nb ${FFMPEG} "--enable-shared --enable-pthreads --enable-gpl --enable-nonfree --disable-ffplay \ - --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora \ - --enable-libvorbis --enable-libxvid" - fi - - ipkg_ac ${SYLPHEED} "--enable-ssl --enable-ldap" - ipkg_cust ${NSS} cis-nss - ipkg_cust ${FIREFOX} cis-firefox - - # Plugins for Firefox - ipkg_cust ${JAVA} cis-java - ipkg_cust ${AGG} cis-agg - ipkg_cust ${GNASH} cis-gnash -fi - -ipkg_ac ${LIBGAMIN} "--libexecdir=/usr/sbin" -ipkg_ac ${PCMANFM} - -# Mail -ipkg_cust ${SASL2} cis-sasl2 -ipkg_cust ${OPENLDAP} cis-openldap -ipkg_cust ${KERBEROS5} cis-krb5 -ipkg_cust ${SENDMAIL} cis-sendmail - -if [ "x${INST_TYPE}" = "xserver" -o "x${INST_TYPE}" = "xltsp-server" ]; then - ipkg_cust ${PROCMAIL} cis-procmail - ipkg_ac ${LIBSPF2} - ipkg_cust ${MILTER_SPF} cis-milter-spf - ipkg_cust ${MILTER_GREYLIST} cis-milter-greylist -fi - -# fcron needs sendmail installed. -ipkg_cust ${FCRON} cis-fcron -ipkg_cust ${GETDATE} cis-getdate - -if [ "x${INST_TYPE}" = "xserver" -o "x${INST_TYPE}" = "xltsp-server" ]; then - ipkg_cust ${CLAMAV} cis-clamav - - # Required PERL modules for SpamAssassin - ipkg_pm ${PERL_MOD_HTML_TAGSET} - ipkg_pm ${PERL_MOD_HTML_PARSER} - ipkg_pm ${PERL_MOD_APACHE_LOGGED_AUTH_DBI} - ############ipkg_pm ${PERL_MOD_DB_FILE} -# Berkeley DB n'est plus installé... -########PERL_MOD_DB_FILE="DB_File-1.814" - ipkg_pm ${PERL_MOD_DIGEST_SHA1} - ipkg_pm ${PERL_MOD_URI} - ipkg_pm ${PERL_MOD_LWP} - ipkg_pm ${PERL_MOD_NET_DNS} --no-online-tests - - # Needed by OpenOffice ??? - #ipkg_pm ${PERL_MOD_ARCHIVE_ZIP} - #ipkg_pm ${PERL_MOD_COMPRESS_ZLIB} - #ipkg_pm ${PERL_MOD_IO_COMPRESS_BASE} - #ipkg_pm ${PERL_MOD_COMPRESS_RAW_ZLIB} - #ipkg_pm ${PERL_MOD_IO_COMPRESS_ZLIB} -PERL_MOD_ARCHIVE_ZIP="Archive-Zip-1.30" -PERL_MOD_COMPRESS_ZLIB="Compress-Zlib-2.015" -PERL_MOD_IO_COMPRESS_BASE="IO-Compress-Base-2.024" -PERL_MOD_IO_COMPRESS_ZLIB="IO-Compress-Zlib-2.024" -PERL_MOD_COMPRESS_RAW_ZLIB="Compress-Raw-Zlib-2.024" - - ipkg_cust ${SPAMASSASSIN} cis-spamassassin - ipkg_cust ${UW_IMAP} cis-uw-imap - - # Apache - ipkg_cust ${HTTPD} cis-apache - ipkg_cust ${PHP} cis-php - - ipkg_cust ${SQUIRRELMAIL} cis-squirrelmail - ipkg_cust ${MAILMAN} cis-mailman - ipkg_ac ${FETCHMAIL} "--with-ssl" - ipkg_ac ${MUTT} "--enable-imap --with-ssl" - - # Subversion server (client was already installed in stage2) - ipkg_cust ${SUBVERSION} cis-subversion - ipkg_ac ${INDENT} -fi - -if [ "x${USE_SAMBA}" = "xyes" ]; then - ipkg_cust ${SAMBA} cis-samba -fi - -if [ "x${INST_TYPE}" = "xltsp-server" ]; then - ipkg_cust ${TFTP_HPA} cis-tftp-hpa - ipkg_cust ${LTSP_UTILS} cis-ltsp-utils -fi - -ipkg_ac_nb ${KVM} -ipkg_ac_nb ${BRIDGE_UTILS} -ipkg_cust ${UML_UTILITIES} cis-uml-utilities - -ipkg_cust ${CKERMIT} cis-ckermit - -# BitTorrent client -ipkg_ac ${TRANSMISSION} "--disable-daemon" - -ipkg_ac ${GNUPG} "--libexecdir=/usr/lib" - - - - -ipkg_ac ${LIBGEDA} -ipkg_ac ${GEDA_SYMBOLS} -ipkg_ac ${GEDA_GSCHEM} -ipkg_ac ${GEDA_GNETLIST} -ipkg_ac ${GEDA_SYMCHECK} -ipkg_ac ${GEDA_GATTRIB} - - - -rscr mult "Performing post-install" cis-post-install - -exit $? diff --git a/stage5/ipkg.def b/stage5/ipkg.def new file mode 100644 index 0000000..135c8da --- /dev/null +++ b/stage5/ipkg.def @@ -0,0 +1,7 @@ +#!/bin/bash + +# Setting default configure options for all scripts +CONFIGURE_OPTS="\ + --prefix=/usr \ + --sysconfdir=/etc \ + ${CONFIGURE_OPTS}" diff --git a/stage5/misc/emacs/buffer-cycle.el b/stage5/misc/emacs/buffer-cycle.el new file mode 100644 index 0000000..4add15f --- /dev/null +++ b/stage5/misc/emacs/buffer-cycle.el @@ -0,0 +1,28 @@ +;; buffer-cycle.el +(defun filter (pred lst) + (delq nil + (mapcar (lambda (x) + (and (funcall pred x) x)) lst))) + +(defun filter-regexp (pattern lst) + (filter (lambda (str) + (string-match pattern str)) lst)) + +(defun cycle-buffer (&optional n) + (let ((buffers (filter (lambda (buffer) + (not (string-match "\*" (buffer-name buffer)))) + (buffer-list (selected-frame))))) + (switch-to-buffer + (if (< n 0) + (nth (+ (length buffers) n) + buffers) + (bury-buffer) + (nth n buffers))))) + +(defun cycle-buffer-next () + (interactive) + (cycle-buffer -1)) + +(defun cycle-buffer-prev () + (interactive) + (cycle-buffer 1)) diff --git a/stage5/misc/emacs/emacsrc b/stage5/misc/emacs/emacsrc new file mode 100644 index 0000000..9db7a0e --- /dev/null +++ b/stage5/misc/emacs/emacsrc @@ -0,0 +1,180 @@ +;; ~/.emacs + +;; Emacs initialization file. +;; Font Lock mode, Auto Compression mode, File Name Shadow +;; Mode, and mouse wheel support are enabled by default. + +;; Do not display a splash screen on startup +(setq inhibit-splash-screen t) + +;; Emacs Load Path +(setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path)) + +;; Affichage du numéro de colonne +(setq column-number-mode t) + +;; Always end a file with a newline +(setq require-final-newline t) + +;; Stop at the end of the file, not just add lines +(setq next-line-add-newlines nil) + +;; Replaces tabs in files with spaces +(setq-default indent-tabs-mode nil) + +;; Makes the compilation buffer always scrolls to follow +;; output as it comes in. +(setq compilation-scroll-output t) + +;; Pour avoir les accents +(set-keyboard-coding-system 'utf-8) + +;; Set up the keyboard so the delete key on both the regular keyboard +;; and the keypad delete the character under the cursor and to the right +;; under X, instead of the default, backspace behavior. +(global-set-key [delete] 'delete-char) +(global-set-key [kp-delete] 'delete-char) + +;; For an unknow reason, the CTRL+RIGHT and RIGHT keys seem +;; to be inveerted... + +;; Map RIGHT and LEFT +;;(global-set-key [(meta O) (D)] 'backward-char) +;;(global-set-key [(meta O) (C)] 'forward-char) +;; Map CTRL+RIGHT and CTRL+LEFT +(global-set-key [C-right] 'forward-word) +(global-set-key [C-left] 'backward-word) + +;; Map Home key to beginning-of-buffer +(global-set-key "\e[1~" 'beginning-of-buffer) +;; Map End key to end-of-buffer +(global-set-key "\e[4~" 'end-of-buffer) + +;;=========================================================== +;; Key bindings for compiling programs +;;=========================================================== +;; Must add helper function for the make also, otherwise +;; the first definition caused both F3 and F4 to execute "make clean". +(defun compile-make-clean () + (interactive) ;; can be called from kbd + (compile "make clean")) + +(defun compile-make () + (interactive) + (compile "make")) + +(defun checkpatch() + (interactive) + (compile (concat "checkpatch.pl --no-tree --emacs --strict --file " (buffer-file-name)))) + +;; buffer-cycle.el +;; F1: Switch to previous buffers +(autoload 'cycle-buffer-prev "buffer-cycle" t) +(global-set-key [f1] 'cycle-buffer-prev) +;; F2: Switch to next buffers +(autoload 'cycle-buffer-next "buffer-cycle" t) +(global-set-key [f2] 'cycle-buffer-next) + +;; F4: make clean +(global-set-key [f4] 'compile-make-clean) + +;; F5: make +(global-set-key [f5] 'compile-make) + +;; F6: go to next error +(global-set-key [f6] 'next-error) + +;; F7: comment region +(global-set-key [f7] 'comment-region) + +;; F8: code indentation +(global-set-key [f8] 'indent-region) + +;; F9: run checkpatch.pl +(global-set-key [f9] 'checkpatch) + +;;================================================== +;; Modes +;;================================================== + +(defun linux-c-mode () + "C mode with adjusted defaults for use with the Linux kernel." + (interactive) + (c-mode) + (c-set-style "K&R") + ;; Replaces tabs in files with spaces + (setq indent-tabs-mode t) + (setq c-basic-offset 8)) + +(defun csv-mode () + "CSV mode." + (interactive) + (setq indent-tabs-mode t) +) + +;; Default for .h and .d files -> linux mode. +(add-to-list 'auto-mode-alist '("\.[ch]$" . linux-c-mode)) + +;; Verilog mode +(autoload 'verilog-mode "verilog-mode" "Verilog mode" t) +(add-to-list 'auto-mode-alist '("\\.v\\'" . verilog-mode)) + +;; PHP mode +(autoload 'php-mode "php-mode" "PHP mode" t) +(add-to-list 'auto-mode-alist '("\\.php\\'" . php-mode)) + +;; ChordPro mode +(autoload 'chordpro-mode "chordpro-mode" "Chordpro mode" t) +(add-to-list 'auto-mode-alist '("\\.cp\\'" . chordpro-mode)) +(add-to-list 'auto-mode-alist '("\\.chopro\\'" . chordpro-mode)) + +;; Lilypond mode +(autoload 'LilyPond-mode "lilypond-mode" "LilyPond Editing Mode" t) +(add-to-list 'auto-mode-alist '("\\.ly$" . LilyPond-mode)) +(add-to-list 'auto-mode-alist '("\\.ily$" . LilyPond-mode)) + +;; CSV mode +(add-to-list 'auto-mode-alist '("\\.csv$" . csv-mode)) + +;; Mutt mode +(autoload 'muttrc-mode "muttrc-mode" "Major mode to edit muttrc files" t) +(add-to-list 'auto-mode-alist '("muttrc\\'" . muttrc-mode)) + +;; When an Emacs init file gets large or has a lot of function definitions, you +;; should consider compiling it: it will load faster when Emacs starts, and its +;; functions will execute faster. +;; Here is a way to automatically compile your InitFile each time you save it: +(defun byte-compile-user-init-file () + (let ((byte-compile-warnings '(unresolved))) + ;; in case compilation fails, don't leave the old .elc around: + (when (file-exists-p (concat user-init-file ".elc")) + (delete-file (concat user-init-file ".elc"))) + (byte-compile-file user-init-file) + ;; (message "%s compiled" user-init-file) + )) +(defun my-emacs-lisp-mode-hook () + (when (equal buffer-file-name user-init-file) + (add-hook 'after-save-hook 'byte-compile-user-init-file t t))) +(add-hook 'emacs-lisp-mode-hook 'my-emacs-lisp-mode-hook) + +(custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(column-number-mode t) + '(current-language-environment "UTF-8")) +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(default ((t (:background "black" :foreground "white" :bold t)))) + '(font-lock-comment-face ((t (:foreground "red" :bold t)))) + '(font-lock-constant-face ((t (:foreground "magenta" :bold t)))) + '(font-lock-function-name-face ((t (:foreground "blue" :bold t)))) + '(font-lock-keyword-face ((t (:foreground "cyan" :bold t)))) + '(font-lock-string-face ((t (:foreground "green" :bold t)))) + '(font-lock-type-face ((t (:foreground "red" :bold t)))) + '(font-lock-variable-name-face ((t (:foreground "yellow" :bold t)))) + '(font-lock-warning-face ((t (:foreground "magenta" :bold t))))) diff --git a/stage5/misc/mail-files.sh b/stage5/misc/mail-files.sh new file mode 100755 index 0000000..b910580 --- /dev/null +++ b/stage5/misc/mail-files.sh @@ -0,0 +1,307 @@ +#!/bin/sh + +# script to email files as attachments. +# ------------------------------------ + +# Additional documentation for this script, including a brief introdcution +# to MIME can be found at: http://home.clara.net/dwotton/unix/mail_files.htm + +# Written: Dave Wotton, July 1998, (Cambridge UK) +# This script comes with no warranty or support. You are +# free to modify it as you wish, but please retain an +# acknowledgement of my original authorship. + +# Amended: Dave Wotton, 6/3/99 +# -t flag now optional. subject also optional +# +# Amended: Dave Wotton, 3/8/00 +# added -b and -u options. By default a file-list which is not +# preceded by a -n, -b, or -u flag is now NOT encoded (the previous +# default was to base64 encode it.). +# +# Amended: Dave Wotton, 10/10/00 +# added a -c (cc:) option. +# Added a tty -s test to prevent the prompt to enter the text body +# being displayed when not connected to a tty. (The text body is +# still required though. /dev/null will suffice.) +# +# Amended: Dave Wotton, 24/2/01 +# Now uses perl to perform the base64 encoding, as it comes as +# standard on most modern Unixes. (You need the perl MIME package +# though, which I believe is standard. ) + +# Amended: Dave Wotton, 22/09/01 +# Now creates a "To:" header and uses the sendmail -t flag to +# duplicate this as the envelope recipients, rather than using the +# user supplied list of addresses simply as envelope recipients. +# This confused some mail clients, specifically Lotus Notes. + +# Amended: Dave Wotton, 30/09/01 +# Now initialises the main variables, so that previously set +# environment variable values (eg. $CC) aren't used instead. +# Enable multiple occurrences of the -t and -c flags. Thanks to +# Jason Judge for these suggestions. + + +# Usage: mail_files [-t] mailid [ -c mailid ] [ -s subject ] [ -f mailid ] +# [-n file_list] [-u file_list] [-b file_list] file_list +# +# -f : The mailid of the sender ( defaults to your userid ) +# Only userids that have been defined as "trusted" in the sendmail +# config file can make use of the -f option. For non-trusted users +# any value specified by this parameter will be ignored by +# sendmail. +# -t : The mailid of the recipient. Mandatory, no default +# multiple mailids can be specified, separated by commas. +# -c : The mailid of any carbon-copy recipients. Optional. +# multiple mailids can be specified, separated by commas. +# -s : The subject string. Optional, default = "Not specified". +# Enclose in quotes. +# -n : no-encode: indicates a list of files which are NOT to be base64 +# or uuencode encoded. Multiple files may be enclosed in double +# quotes. Usual wildcard notation can be used. This option is +# for completeness and can be omitted because the default action +# is not to encode the file-list. +# -b : base64 encoding: indicates a list of files which are to be +# base64 encoded. Multiple files may be enclosed in double quotes. +# Usual wildcard notation can be used. +# -u : uuencode encoding: indicates a list of files which are to be +# uuencode encoded. Multiple files may be enclosed in double +# quotes. Usual wildcard notation can be used. +# file_list : The list of files to send as attachments with no-encoding +# (same as -n option, but the file list does not need to be +# enclosed in quotes if more than one file specified). +# Usual wildcard notation can be used. + +# The program will also prompt for text to be supplied on standard input +# as the main text of the message. + +# eg. +# 1) mail_files Dave.Wotton -b file9.gif t*.htm < /dev/null +# +# email file9.gif as a base64 encoded attachment and the t*.htm +# files unencoded. +# +# 2) mail_files Dave.Wotton -s "my test" -b "file1.gif file2.gif" \ +# < /dev/null +# +# email file1.gif and file2.gif as base64 encoded attachments. + +# The script makes use of perl's MIME package to perform the base-64 +# encoding/decoding. + +# Note that files destined for Windows environments should have a name of +# the form aaaa.bbb where aaaa is up to 8 characters long, and bbb is a +# 3 character sufix. The suffix determines which program is used to +# display/process the data at the remote end. + +# Simple text files can be emailed unencoded. Binary files, or text files +# with long lines ( ie > 1000 chars ) should use the base64 or uuencode +# encoding procedures. Base64 is preferred because it is more universally +# supported. In particular, most PC mail-clients can automatically decode +# base64 encoded attachments. Note that simple text files with short lines +# which are destined for PC environments should not be base64 encoded. +# This is because PCs use a different line-break character to Unix. +# If the text is base64 encoded, the line-breaks are not converted +# automatically and so the data arrives at the remote end without +# line-breaks. + +# set up a 'usage' routine +# ------------------------ + +usage() +{ + [ "$1" ] && ( echo $* ; echo "" ) + + cat <);' < $F + + done +fi + +# Now process the uuencode encrypted attachments ... +# ---------------------------------------------- + +# Sorry, this bit is untested - I haven't got a mail-client which can +# handle uuencoded MIME messages automatically, so can't test if the +# 'Content-Transfer-Encoding: uuencode' line is correct and whether I +# need the uuencode "begin" and "end" lines. + +if [ "$UUE" ] +then + for F in $UUE + do + + BASE=`basename $F` + + echo --DMW.Boundary.605592468 + echo Content-Type: application/octet-stream\; name=\"$BASE\" + echo Content-Disposition: attachment\; filename=\"$BASE\" + echo Content-Transfer-Encoding: uuencode + echo + + uuencode < $F xxx + + done +fi + +# append the final boundary line ... + +echo --DMW.Boundary.605592468-- + +) | /usr/sbin/sendmail -t -r ${FROM} +#> test.txt diff --git a/stage5/misc/mount.fusedvdfs b/stage5/misc/mount.fusedvdfs new file mode 100644 index 0000000..56137fb --- /dev/null +++ b/stage5/misc/mount.fusedvdfs @@ -0,0 +1,8 @@ +#!/bin/sh + +DEVICE=${1} +MOUNT_POINT=${2} + +dvdfs -o device=${DEVICE} ${MOUNT_POINT} + +exit $? diff --git a/stage5/packages-update b/stage5/packages-update index 247ef96..ec570d4 100755 --- a/stage5/packages-update +++ b/stage5/packages-update @@ -7,7 +7,7 @@ USE_HV_PATCHES=1 # Reading system configuration informations, functions and package versions. source ../sysinfos source ../functions -source ../functions-update +source ../functions-fpkg source ../packages-list # Execute a return statement instead of exit, to be able to continue with @@ -138,7 +138,6 @@ fpkg ${VORBIS_TOOLS} "http://downloads.xiph.org/releases/vorbis" fpkg_sf ${GRIP} fpkg_sf ${CDRDAO} -fpkg_hv ${SWEEP} fpkg_sf ${EASYTAG} fpkg ${LILYPOND} "http://lilypond.org/download/sources/v$(get_pkg_ver_base ${LILYPOND})" diff --git a/stage5/pkg/dvdfs b/stage5/pkg/dvdfs index ef92029..b7829f0 100644 --- a/stage5/pkg/dvdfs +++ b/stage5/pkg/dvdfs @@ -21,6 +21,6 @@ make make install # Mount script -install -v -m755 ${SCRDIR}/resources/mount.fusedvdfs /sbin +install -v -m755 ${SCRDIR}/misc/mount.fusedvdfs /sbin exit $? diff --git a/stage5/pkg/emacs b/stage5/pkg/emacs index 65038df..7d39c59 100644 --- a/stage5/pkg/emacs +++ b/stage5/pkg/emacs @@ -20,13 +20,13 @@ make bootstrap make install ldconfig -install -m644 ${SCRDIR}/resources/emacs/emacsrc /etc/skel/.emacs -install -m644 ${SCRDIR}/resources/emacs/emacsrc /root/.emacs +install -m644 ${SCRDIR}/misc/emacs/emacsrc /etc/skel/.emacs +install -m644 ${SCRDIR}/misc/emacs/emacsrc /root/.emacs LOCAL_SITE_LIST=/usr/local/share/emacs/site-lisp install -v -m644 -d ${LOCAL_SITE_LIST} -install -m644 ${SCRDIR}/resources/emacs/buffer-cycle.el ${LOCAL_SITE_LIST} +install -m644 ${SCRDIR}/misc/emacs/buffer-cycle.el ${LOCAL_SITE_LIST} # Set Emacs as default editor sed -i -e "s!^\(EDITOR=\).*!\1emacs!" /etc/profile diff --git a/stage5/pkg/sendmail b/stage5/pkg/sendmail index c503ba1..3009964 100644 --- a/stage5/pkg/sendmail +++ b/stage5/pkg/sendmail @@ -245,7 +245,7 @@ EOF sed -i -e "s!_DOMAIN_!${DOMAIN}!g" /usr/local/bin/mail-if-fail chmod 755 /usr/local/bin/mail-if-fail - cp ${SCRDIR}/resources/mail-files.sh /usr/local/bin + cp ${SCRDIR}/misc/mail-files.sh /usr/local/bin chmod 755 /usr/local/bin/mail-files.sh # Executing configure script. diff --git a/stage5/resources/emacs/buffer-cycle.el b/stage5/resources/emacs/buffer-cycle.el deleted file mode 100644 index 4add15f..0000000 --- a/stage5/resources/emacs/buffer-cycle.el +++ /dev/null @@ -1,28 +0,0 @@ -;; buffer-cycle.el -(defun filter (pred lst) - (delq nil - (mapcar (lambda (x) - (and (funcall pred x) x)) lst))) - -(defun filter-regexp (pattern lst) - (filter (lambda (str) - (string-match pattern str)) lst)) - -(defun cycle-buffer (&optional n) - (let ((buffers (filter (lambda (buffer) - (not (string-match "\*" (buffer-name buffer)))) - (buffer-list (selected-frame))))) - (switch-to-buffer - (if (< n 0) - (nth (+ (length buffers) n) - buffers) - (bury-buffer) - (nth n buffers))))) - -(defun cycle-buffer-next () - (interactive) - (cycle-buffer -1)) - -(defun cycle-buffer-prev () - (interactive) - (cycle-buffer 1)) diff --git a/stage5/resources/emacs/emacsrc b/stage5/resources/emacs/emacsrc deleted file mode 100644 index 9db7a0e..0000000 --- a/stage5/resources/emacs/emacsrc +++ /dev/null @@ -1,180 +0,0 @@ -;; ~/.emacs - -;; Emacs initialization file. -;; Font Lock mode, Auto Compression mode, File Name Shadow -;; Mode, and mouse wheel support are enabled by default. - -;; Do not display a splash screen on startup -(setq inhibit-splash-screen t) - -;; Emacs Load Path -(setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path)) - -;; Affichage du numéro de colonne -(setq column-number-mode t) - -;; Always end a file with a newline -(setq require-final-newline t) - -;; Stop at the end of the file, not just add lines -(setq next-line-add-newlines nil) - -;; Replaces tabs in files with spaces -(setq-default indent-tabs-mode nil) - -;; Makes the compilation buffer always scrolls to follow -;; output as it comes in. -(setq compilation-scroll-output t) - -;; Pour avoir les accents -(set-keyboard-coding-system 'utf-8) - -;; Set up the keyboard so the delete key on both the regular keyboard -;; and the keypad delete the character under the cursor and to the right -;; under X, instead of the default, backspace behavior. -(global-set-key [delete] 'delete-char) -(global-set-key [kp-delete] 'delete-char) - -;; For an unknow reason, the CTRL+RIGHT and RIGHT keys seem -;; to be inveerted... - -;; Map RIGHT and LEFT -;;(global-set-key [(meta O) (D)] 'backward-char) -;;(global-set-key [(meta O) (C)] 'forward-char) -;; Map CTRL+RIGHT and CTRL+LEFT -(global-set-key [C-right] 'forward-word) -(global-set-key [C-left] 'backward-word) - -;; Map Home key to beginning-of-buffer -(global-set-key "\e[1~" 'beginning-of-buffer) -;; Map End key to end-of-buffer -(global-set-key "\e[4~" 'end-of-buffer) - -;;=========================================================== -;; Key bindings for compiling programs -;;=========================================================== -;; Must add helper function for the make also, otherwise -;; the first definition caused both F3 and F4 to execute "make clean". -(defun compile-make-clean () - (interactive) ;; can be called from kbd - (compile "make clean")) - -(defun compile-make () - (interactive) - (compile "make")) - -(defun checkpatch() - (interactive) - (compile (concat "checkpatch.pl --no-tree --emacs --strict --file " (buffer-file-name)))) - -;; buffer-cycle.el -;; F1: Switch to previous buffers -(autoload 'cycle-buffer-prev "buffer-cycle" t) -(global-set-key [f1] 'cycle-buffer-prev) -;; F2: Switch to next buffers -(autoload 'cycle-buffer-next "buffer-cycle" t) -(global-set-key [f2] 'cycle-buffer-next) - -;; F4: make clean -(global-set-key [f4] 'compile-make-clean) - -;; F5: make -(global-set-key [f5] 'compile-make) - -;; F6: go to next error -(global-set-key [f6] 'next-error) - -;; F7: comment region -(global-set-key [f7] 'comment-region) - -;; F8: code indentation -(global-set-key [f8] 'indent-region) - -;; F9: run checkpatch.pl -(global-set-key [f9] 'checkpatch) - -;;================================================== -;; Modes -;;================================================== - -(defun linux-c-mode () - "C mode with adjusted defaults for use with the Linux kernel." - (interactive) - (c-mode) - (c-set-style "K&R") - ;; Replaces tabs in files with spaces - (setq indent-tabs-mode t) - (setq c-basic-offset 8)) - -(defun csv-mode () - "CSV mode." - (interactive) - (setq indent-tabs-mode t) -) - -;; Default for .h and .d files -> linux mode. -(add-to-list 'auto-mode-alist '("\.[ch]$" . linux-c-mode)) - -;; Verilog mode -(autoload 'verilog-mode "verilog-mode" "Verilog mode" t) -(add-to-list 'auto-mode-alist '("\\.v\\'" . verilog-mode)) - -;; PHP mode -(autoload 'php-mode "php-mode" "PHP mode" t) -(add-to-list 'auto-mode-alist '("\\.php\\'" . php-mode)) - -;; ChordPro mode -(autoload 'chordpro-mode "chordpro-mode" "Chordpro mode" t) -(add-to-list 'auto-mode-alist '("\\.cp\\'" . chordpro-mode)) -(add-to-list 'auto-mode-alist '("\\.chopro\\'" . chordpro-mode)) - -;; Lilypond mode -(autoload 'LilyPond-mode "lilypond-mode" "LilyPond Editing Mode" t) -(add-to-list 'auto-mode-alist '("\\.ly$" . LilyPond-mode)) -(add-to-list 'auto-mode-alist '("\\.ily$" . LilyPond-mode)) - -;; CSV mode -(add-to-list 'auto-mode-alist '("\\.csv$" . csv-mode)) - -;; Mutt mode -(autoload 'muttrc-mode "muttrc-mode" "Major mode to edit muttrc files" t) -(add-to-list 'auto-mode-alist '("muttrc\\'" . muttrc-mode)) - -;; When an Emacs init file gets large or has a lot of function definitions, you -;; should consider compiling it: it will load faster when Emacs starts, and its -;; functions will execute faster. -;; Here is a way to automatically compile your InitFile each time you save it: -(defun byte-compile-user-init-file () - (let ((byte-compile-warnings '(unresolved))) - ;; in case compilation fails, don't leave the old .elc around: - (when (file-exists-p (concat user-init-file ".elc")) - (delete-file (concat user-init-file ".elc"))) - (byte-compile-file user-init-file) - ;; (message "%s compiled" user-init-file) - )) -(defun my-emacs-lisp-mode-hook () - (when (equal buffer-file-name user-init-file) - (add-hook 'after-save-hook 'byte-compile-user-init-file t t))) -(add-hook 'emacs-lisp-mode-hook 'my-emacs-lisp-mode-hook) - -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(column-number-mode t) - '(current-language-environment "UTF-8")) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(default ((t (:background "black" :foreground "white" :bold t)))) - '(font-lock-comment-face ((t (:foreground "red" :bold t)))) - '(font-lock-constant-face ((t (:foreground "magenta" :bold t)))) - '(font-lock-function-name-face ((t (:foreground "blue" :bold t)))) - '(font-lock-keyword-face ((t (:foreground "cyan" :bold t)))) - '(font-lock-string-face ((t (:foreground "green" :bold t)))) - '(font-lock-type-face ((t (:foreground "red" :bold t)))) - '(font-lock-variable-name-face ((t (:foreground "yellow" :bold t)))) - '(font-lock-warning-face ((t (:foreground "magenta" :bold t))))) diff --git a/stage5/resources/mail-files.sh b/stage5/resources/mail-files.sh deleted file mode 100755 index b910580..0000000 --- a/stage5/resources/mail-files.sh +++ /dev/null @@ -1,307 +0,0 @@ -#!/bin/sh - -# script to email files as attachments. -# ------------------------------------ - -# Additional documentation for this script, including a brief introdcution -# to MIME can be found at: http://home.clara.net/dwotton/unix/mail_files.htm - -# Written: Dave Wotton, July 1998, (Cambridge UK) -# This script comes with no warranty or support. You are -# free to modify it as you wish, but please retain an -# acknowledgement of my original authorship. - -# Amended: Dave Wotton, 6/3/99 -# -t flag now optional. subject also optional -# -# Amended: Dave Wotton, 3/8/00 -# added -b and -u options. By default a file-list which is not -# preceded by a -n, -b, or -u flag is now NOT encoded (the previous -# default was to base64 encode it.). -# -# Amended: Dave Wotton, 10/10/00 -# added a -c (cc:) option. -# Added a tty -s test to prevent the prompt to enter the text body -# being displayed when not connected to a tty. (The text body is -# still required though. /dev/null will suffice.) -# -# Amended: Dave Wotton, 24/2/01 -# Now uses perl to perform the base64 encoding, as it comes as -# standard on most modern Unixes. (You need the perl MIME package -# though, which I believe is standard. ) - -# Amended: Dave Wotton, 22/09/01 -# Now creates a "To:" header and uses the sendmail -t flag to -# duplicate this as the envelope recipients, rather than using the -# user supplied list of addresses simply as envelope recipients. -# This confused some mail clients, specifically Lotus Notes. - -# Amended: Dave Wotton, 30/09/01 -# Now initialises the main variables, so that previously set -# environment variable values (eg. $CC) aren't used instead. -# Enable multiple occurrences of the -t and -c flags. Thanks to -# Jason Judge for these suggestions. - - -# Usage: mail_files [-t] mailid [ -c mailid ] [ -s subject ] [ -f mailid ] -# [-n file_list] [-u file_list] [-b file_list] file_list -# -# -f : The mailid of the sender ( defaults to your userid ) -# Only userids that have been defined as "trusted" in the sendmail -# config file can make use of the -f option. For non-trusted users -# any value specified by this parameter will be ignored by -# sendmail. -# -t : The mailid of the recipient. Mandatory, no default -# multiple mailids can be specified, separated by commas. -# -c : The mailid of any carbon-copy recipients. Optional. -# multiple mailids can be specified, separated by commas. -# -s : The subject string. Optional, default = "Not specified". -# Enclose in quotes. -# -n : no-encode: indicates a list of files which are NOT to be base64 -# or uuencode encoded. Multiple files may be enclosed in double -# quotes. Usual wildcard notation can be used. This option is -# for completeness and can be omitted because the default action -# is not to encode the file-list. -# -b : base64 encoding: indicates a list of files which are to be -# base64 encoded. Multiple files may be enclosed in double quotes. -# Usual wildcard notation can be used. -# -u : uuencode encoding: indicates a list of files which are to be -# uuencode encoded. Multiple files may be enclosed in double -# quotes. Usual wildcard notation can be used. -# file_list : The list of files to send as attachments with no-encoding -# (same as -n option, but the file list does not need to be -# enclosed in quotes if more than one file specified). -# Usual wildcard notation can be used. - -# The program will also prompt for text to be supplied on standard input -# as the main text of the message. - -# eg. -# 1) mail_files Dave.Wotton -b file9.gif t*.htm < /dev/null -# -# email file9.gif as a base64 encoded attachment and the t*.htm -# files unencoded. -# -# 2) mail_files Dave.Wotton -s "my test" -b "file1.gif file2.gif" \ -# < /dev/null -# -# email file1.gif and file2.gif as base64 encoded attachments. - -# The script makes use of perl's MIME package to perform the base-64 -# encoding/decoding. - -# Note that files destined for Windows environments should have a name of -# the form aaaa.bbb where aaaa is up to 8 characters long, and bbb is a -# 3 character sufix. The suffix determines which program is used to -# display/process the data at the remote end. - -# Simple text files can be emailed unencoded. Binary files, or text files -# with long lines ( ie > 1000 chars ) should use the base64 or uuencode -# encoding procedures. Base64 is preferred because it is more universally -# supported. In particular, most PC mail-clients can automatically decode -# base64 encoded attachments. Note that simple text files with short lines -# which are destined for PC environments should not be base64 encoded. -# This is because PCs use a different line-break character to Unix. -# If the text is base64 encoded, the line-breaks are not converted -# automatically and so the data arrives at the remote end without -# line-breaks. - -# set up a 'usage' routine -# ------------------------ - -usage() -{ - [ "$1" ] && ( echo $* ; echo "" ) - - cat <);' < $F - - done -fi - -# Now process the uuencode encrypted attachments ... -# ---------------------------------------------- - -# Sorry, this bit is untested - I haven't got a mail-client which can -# handle uuencoded MIME messages automatically, so can't test if the -# 'Content-Transfer-Encoding: uuencode' line is correct and whether I -# need the uuencode "begin" and "end" lines. - -if [ "$UUE" ] -then - for F in $UUE - do - - BASE=`basename $F` - - echo --DMW.Boundary.605592468 - echo Content-Type: application/octet-stream\; name=\"$BASE\" - echo Content-Disposition: attachment\; filename=\"$BASE\" - echo Content-Transfer-Encoding: uuencode - echo - - uuencode < $F xxx - - done -fi - -# append the final boundary line ... - -echo --DMW.Boundary.605592468-- - -) | /usr/sbin/sendmail -t -r ${FROM} -#> test.txt diff --git a/stage5/resources/mount.fusedvdfs b/stage5/resources/mount.fusedvdfs deleted file mode 100644 index 56137fb..0000000 --- a/stage5/resources/mount.fusedvdfs +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -DEVICE=${1} -MOUNT_POINT=${2} - -dvdfs -o device=${DEVICE} ${MOUNT_POINT} - -exit $? diff --git a/stage5/stage.def b/stage5/stage.def new file mode 100644 index 0000000..cf17b3f --- /dev/null +++ b/stage5/stage.def @@ -0,0 +1,3 @@ +#!/bin/bash + +export LFS_STAGE=stage3 diff --git a/stage6/INSTALL b/stage6/INSTALL new file mode 100644 index 0000000..24e40da --- /dev/null +++ b/stage6/INSTALL @@ -0,0 +1,7 @@ +stage6: Installing Gnome + +Installation +------------ + +1. Type: + $> sudo make diff --git a/stage6/Makefile b/stage6/Makefile new file mode 100644 index 0000000..b5595fc --- /dev/null +++ b/stage6/Makefile @@ -0,0 +1,21 @@ +# Makefile for hvlinux + +# Idées pour future targets: +# clean +# strip +# compress -> compressdoc (à partir du stage2) +# dep +# list -> list installed packages and versions + +.PHONY: get test + +all: + @./hv-install-1 + +# Fetch packages from network +get: + @./packages-update + +# Test integrity of packages +test: + @./packages-update test diff --git a/stage6/cis-gal b/stage6/cis-gal deleted file mode 100755 index 83b0f5a..0000000 --- a/stage6/cis-gal +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# First argument of this script is the package name - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -# Applying patches (if any) -apply_patches ${1} && - -# In order to build the documentation using GTK-Doc, to fix a build problem. -cd ${LFS_TMP}/${1} && -mv docs/gal-decl.txt docs/gal-2.4-decl.txt && -mv docs/gal-sections.txt docs/gal-2.4-sections.txt && -sed -i -e "s/gal-decl/gal-2.4-decl/" \ - -e "s/gal-sections/gal-2.4-sections/" docs/Makefile.in && - -cd ${LFS_TMP}/${1}-build && -../${1}/configure \ - --prefix=${GNOME2_PREFIX} \ - --libexecdir=${GNOME2_PREFIX}/sbin \ - --localstatedir=/var/lib \ - --infodir=${GNOME2_PREFIX}/share/info \ - --sysconfdir=/etc/gnome/${GNOME2_VER} && -make && -make install && -ldconfig - -# Return last error -exit $? diff --git a/stage6/cis-gdm b/stage6/cis-gdm deleted file mode 100755 index 804dba8..0000000 --- a/stage6/cis-gdm +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -# First argument of this script is the package name - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -# Applying patches (if any) -apply_patches ${1} && - -hv_groupadd -g 21 gdm && -hv_useradd -c "GDM_Daemon_Owner" -d /dev/null -g gdm -s /bin/bash -u 21 gdm && - -CFLAGS="${CFLAGS} -ldl" -cd ${LFS_TMP}/${1}-build && -../${1}/configure \ - --prefix=${GNOME2_PREFIX} \ - --libexecdir=${GNOME2_PREFIX}/sbin \ - --localstatedir=/var/lib \ - --infodir=${GNOME2_PREFIX}/share/info \ - --with-pam-prefix=/etc \ - --sysconfdir=/etc/gnome/${GNOME2_VER} && -make && -make install && -install -v -m755 -d /var/log/gdm && - -# Changing the directory containing the GDM log files to the /var/log hierarchy. -sed -i.orig "/\[daemon\]/ a LogDir=/var/log/gdm" \ - /etc/gnome/${GNOME2_VER}/gdm/custom.conf && -rmdir -v /var/lib/log/gdm && -rmdir -v /var/lib/log && - -cat > /etc/pam.d/gdm << "EOF" && -auth required pam_unix.so -auth required pam_nologin.so -account required pam_unix.so -password required pam_unix.so -session required pam_unix.so -EOF - -cat > /etc/pam.d/gdm-autologin << "EOF" && -auth required pam_env.so -auth required pam_nologin.so -auth required pam_permit.so -account required pam_unix.so -password required pam_unix.so -session required pam_unix.so -EOF - -ldconfig - -# Return last error -exit $? diff --git a/stage6/cis-gnome-applets b/stage6/cis-gnome-applets deleted file mode 100755 index f473faf..0000000 --- a/stage6/cis-gnome-applets +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# First argument of this script is the package name - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -# Applying patches (if any) -apply_patches ${1} && - -cd ${LFS_TMP}/${1}-build && -../${1}/configure \ - --prefix=${GNOME2_PREFIX} \ - --libexecdir=${GNOME2_PREFIX}/sbin \ - --infodir=${GNOME2_PREFIX}/share/info \ - --localstatedir=/var/lib \ - --sysconfdir=/etc/gnome/${GNOME2_VER} && -make && -make install && -make -C man install-man && -ldconfig - -# Return last error -exit $? diff --git a/stage6/cis-gnome-audio b/stage6/cis-gnome-audio deleted file mode 100755 index ff667e3..0000000 --- a/stage6/cis-gnome-audio +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -# First argument of this script is the package name - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -# Applying patches (if any) -apply_patches ${1} && - -cd ${LFS_TMP}/${1} && -make prefix=${GNOME2_PREFIX} install - -# Return last error -exit $? diff --git a/stage6/cis-gnome-media b/stage6/cis-gnome-media deleted file mode 100755 index 7f57142..0000000 --- a/stage6/cis-gnome-media +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# First argument of this script is the package name - -./cis-gnome ${1} && -gst-register - -# Return last error -exit $? diff --git a/stage6/cis-gnumeric b/stage6/cis-gnumeric deleted file mode 100755 index 53158b7..0000000 --- a/stage6/cis-gnumeric +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# First argument of this script is the package name - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -# Applying patches (if any) -apply_patches ${1} && - -cd ${LFS_TMP}/${1} && -./configure \ - --prefix=/usr \ - --localstatedir=/var/lib \ - --sysconfdir=/etc/gnome/${GNOME2_VER} && -make && -make install && - -ln -svf /usr/share/gnome/help/gnumeric \ - /usr/share/gnumeric/$(get_pkg_ver ${1})/doc && - -if [ $(pkg-config --variable=prefix ORBit-2.0) != "/usr" ]; then - mv -v /usr/lib/bonobo/servers/GNOME_Gnumeric.server \ - $(pkg-config --variable=prefix ORBit-2.0)/lib/bonobo/servers && - rmdir -v /usr/lib/{bonobo/servers,bonobo} -fi && - -ldconfig - -# Return last error -exit $? diff --git a/stage6/cis-libmusicbrainz b/stage6/cis-libmusicbrainz deleted file mode 100755 index ddc0865..0000000 --- a/stage6/cis-libmusicbrainz +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# First argument of this script is the package name. - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -# Applying patches (if any) -apply_patches ${1} && - -cd ${LFS_TMP}/${1}-build && -../${1}/configure \ - --prefix=/usr \ - --sysconfdir=/etc && -make && -make install && -cd ${LFS_TMP}/${1} && -install -v -m644 -D docs/mb_howto.txt /usr/share/doc/${1}/mb_howto.txt && -ldconfig - -# Return last error -exit $? diff --git a/stage6/cis-metacity b/stage6/cis-metacity deleted file mode 100755 index 7845d26..0000000 --- a/stage6/cis-metacity +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# First argument of this script is the package name. - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -# Applying patches (if any) -apply_patches ${1} && - -cd ${LFS_TMP}/${1}-build && -../${1}/configure \ - --prefix=/usr \ - --libexecdir=/usr/lib/metacity \ - --with-gconf-schema-file-dir=/etc/gnome/${GNOME2_VER}/gconf/schemas \ - --sysconfdir=/etc && -make && -make install && -cd ${LFS_TMP}/${1} && -install -v -m755 -d /usr/share/doc/${1} && -install -v -m644 README rationales.txt doc/*.txt /usr/share/doc/${1} && -ldconfig - -# Return last error -exit $? diff --git a/stage6/cis-nautilus b/stage6/cis-nautilus deleted file mode 100755 index 59c3c34..0000000 --- a/stage6/cis-nautilus +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# First argument of this script is the package name - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list - -# Applying patches (if any) -apply_patches ${1} && - -cd ${LFS_TMP}/${1}-build && -../${1}/configure \ - --prefix=${GNOME2_PREFIX} \ - --libexecdir=${GNOME2_PREFIX}/sbin \ - --localstatedir=/var/lib \ - --infodir=${GNOME2_PREFIX}/share/info \ - --sysconfdir=/etc/gnome/${GNOME2_VER} && -make && -make install && -install -v -m755 -d ${GNOME2_PREFIX}/share/doc/${NAUTILUS} && -install -v -m644 ${LFS_TMP}/${1}/docs/*.{txt,dia,pdf,sxw,faq,html} \ - ${GNOME2_PREFIX}/share/doc/${NAUTILUS} && -ldconfig - -# Return last error -exit $? diff --git a/stage6/hv-install-1 b/stage6/hv-install-1 new file mode 100755 index 0000000..091286f --- /dev/null +++ b/stage6/hv-install-1 @@ -0,0 +1,111 @@ +#!/bin/bash + +# Reading system configuration informations, functions and package versions. +source ../config/sysinfos +source ../functions +hvtrap_setup +source ../config/packages-list +source /etc/profile + +if [ "x${USER}" != "xroot" ]; then + echo "You must be the superuser to install hvlinux." + exit 1 +fi + +init_log_file + +# GNOME-2.X configuration +#action_checkbox "Configuring ${GNOME2_VER}" ./cis-gnome-config +#action_checkbox "Reloading /etc/profile" source /etc/profile + +# Gnome 2 core packages +##ipkg_gnome ${ORBIT2} +ipkg_gnome ${LIBBONOBO} +###ipkg ${GCONF} cis-gconf +ipkg_gnome ${GNOME_MIME_DATA} +####ipkg ${GNOME_VFS} cis-gnome-nb +####ipkg_gnome ${GNOME_VFS_MONIKERS} +ipkg_gnome ${LIBGNOME} +ipkg_gnome ${LIBGNOMECANVAS} +ipkg_gnome ${LIBBONOBOUI} +ipkg ${GNOME_ICON_THEME} +##ipkg_gnome ${GNOME_KEYRING} +ipkg_gnome ${LIBGNOMEUI} +ipkg ${GNOME_THEMES} +ipkg -m acnb ${SCROLLKEEPER} "--localstatedir=/var --disable-static --with-omfdirs=/usr/share/omf:/opt/${GNOME2_VER}/share/omf" +ipkg_gnome ${GNOME_DOC_UTILS} +ipkg_gnome ${GNOME_DESKTOP} +ipkg_gnome ${GNOME_BACKGROUNDS} +ipkg_gnome ${GNOME_MENUS} +ipkg_gnome ${GNOME_PANEL} +ipkg ${GSTREAMER} +ipkg ${GST_PLUGINS_BASE} +ipkg ${GST_PLUGINS_GOOD} +ipkg ${GST_PLUGINS_BAD} +ipkg ${GST_PLUGINS_UGLY} +ipkg ${GST_FFMPEG} +ipkg ${VTE} "--libexecdir=/usr/sbin --disable-gtk-doc" +ipkg_gnome ${GNOME_TERMINAL} +ipkg_gnome ${LIBGTOP} +ipkg_gnome ${LIBGNOMEKBD} +ipkg_gnome ${LIBGAIL_GNOME} +ipkg ${GNOME_APPLETS} +ipkg_gnome ${EEL} +ipkg_gnome ${NAUTILUS} +ipkg_gnome ${YELP} +ipkg ${METACITY} + +ipkg_gnome ${GNOME_CONTROL_CENTER} +ipkg_gnome ${GNOME_SESSION} +ipkg_gnome ${GNOME_USER_DOCS} +action_checkbox "Updating the MIME-type application database" update-desktop-database + +# Gnome 2 additional packages - Libraries +####ipkg_gnome ${LIBGNOMECUPS} +####ipkg_gnome ${LIBGNOMEPRINT} +####ipkg_gnome ${LIBGNOMEPRINTUI} +ipkg_gnome ${GTKHTML} +ipkg_gnome ${EVOLUTION_DATA_SERVER} "--with-nss-includes=/usr/include/nss --with-nspr-includes=/usr/include/nspr --with-openldap=yes --with-krb5=/usr" +ipkg_gnome ${GTKSOURCEVIEW} +ipkg -m gnomenb ${SYSTEM_TOOLS_BACKENDS} +ipkg ${GNOME_AUDIO} + +# Gnome 2 additional packages - Utilities +ipkg_gnome ${GEDIT} "--disable-spell" +ipkg_gnome ${EOG} + +ipkg ${LIBSPECTRE} +ipkg_gnome ${EVINCE} +ipkg_gnome ${FILE_ROLLER} +ipkg_gnome ${GCONF_EDITOR} +ipkg_gnome ${GNOME_UTILS} +ipkg_gnome ${GNOME_SYSTEM_MONITOR} +ipkg_gnome ${NAUTILUS_CD_BURNER} +ipkg_gnome ${GNOME_MEDIA} +ipkg_gnome ${GNOME_NETSTATUS} +ipkg -m gnomenb ${GCALCTOOL} +ipkg_gnome ${GUCHARMAP} +ipkg_gnome ${ZENITY} +ipkg_gnome ${GNOME_KEYRING_MANAGER} + +# Needs hal, which needs D-BUS... +ipkg_gnome ${GNOME_VOLUME_MANAGER} + +ipkg ${LIBMUSICBRAINZ} +ipkg_gnome ${GNOME_SOUND_JUICER} +ipkg_gnome ${GNOME_TOTEM} +ipkg ${GDM} +ipkg ${LIBNOTIFY} +ipkg -m gnomenb ${GNOME_MOUNT} + +ipkg ${RHYTHMBOX} "--disable-python" + +ipkg ${LIBGSF} +ipkg -m acnb ${GOFFICE} +ipkg ${GNUMERIC} +ipkg ${WV} +ipkg ${ABIWORD} "--disable-spellcheck" +ipkg_gnome ${EVOLUTION} "--with-nss-includes=/usr/include/nss --with-nspr-includes=/usr/include/nspr --with-openldap=yes --with-krb5=/usr" +ipkg_gnome ${EVOLUTION_EXCHANGE} + +exit $? diff --git a/stage6/ipkg.def b/stage6/ipkg.def new file mode 100644 index 0000000..135c8da --- /dev/null +++ b/stage6/ipkg.def @@ -0,0 +1,7 @@ +#!/bin/bash + +# Setting default configure options for all scripts +CONFIGURE_OPTS="\ + --prefix=/usr \ + --sysconfdir=/etc \ + ${CONFIGURE_OPTS}" diff --git a/stage6/packages-update b/stage6/packages-update old mode 100644 new mode 100755 index 3213409..1ca8aed --- a/stage6/packages-update +++ b/stage6/packages-update @@ -3,7 +3,7 @@ # Reading system configuration informations, functions and package versions. source ../sysinfos source ../functions -source ../functions-update +source ../functions-fpkg source ../packages-list update_packages_init diff --git a/stage6/pkg/gal b/stage6/pkg/gal new file mode 100644 index 0000000..83b0f5a --- /dev/null +++ b/stage6/pkg/gal @@ -0,0 +1,31 @@ +#!/bin/sh +# First argument of this script is the package name + +# Reading system configuration informations, functions and package versions. +source ../sysinfos +source ../functions +source ../packages-list + +# Applying patches (if any) +apply_patches ${1} && + +# In order to build the documentation using GTK-Doc, to fix a build problem. +cd ${LFS_TMP}/${1} && +mv docs/gal-decl.txt docs/gal-2.4-decl.txt && +mv docs/gal-sections.txt docs/gal-2.4-sections.txt && +sed -i -e "s/gal-decl/gal-2.4-decl/" \ + -e "s/gal-sections/gal-2.4-sections/" docs/Makefile.in && + +cd ${LFS_TMP}/${1}-build && +../${1}/configure \ + --prefix=${GNOME2_PREFIX} \ + --libexecdir=${GNOME2_PREFIX}/sbin \ + --localstatedir=/var/lib \ + --infodir=${GNOME2_PREFIX}/share/info \ + --sysconfdir=/etc/gnome/${GNOME2_VER} && +make && +make install && +ldconfig + +# Return last error +exit $? diff --git a/stage6/pkg/gdm b/stage6/pkg/gdm new file mode 100644 index 0000000..804dba8 --- /dev/null +++ b/stage6/pkg/gdm @@ -0,0 +1,54 @@ +#!/bin/sh +# First argument of this script is the package name + +# Reading system configuration informations, functions and package versions. +source ../sysinfos +source ../functions +source ../packages-list + +# Applying patches (if any) +apply_patches ${1} && + +hv_groupadd -g 21 gdm && +hv_useradd -c "GDM_Daemon_Owner" -d /dev/null -g gdm -s /bin/bash -u 21 gdm && + +CFLAGS="${CFLAGS} -ldl" +cd ${LFS_TMP}/${1}-build && +../${1}/configure \ + --prefix=${GNOME2_PREFIX} \ + --libexecdir=${GNOME2_PREFIX}/sbin \ + --localstatedir=/var/lib \ + --infodir=${GNOME2_PREFIX}/share/info \ + --with-pam-prefix=/etc \ + --sysconfdir=/etc/gnome/${GNOME2_VER} && +make && +make install && +install -v -m755 -d /var/log/gdm && + +# Changing the directory containing the GDM log files to the /var/log hierarchy. +sed -i.orig "/\[daemon\]/ a LogDir=/var/log/gdm" \ + /etc/gnome/${GNOME2_VER}/gdm/custom.conf && +rmdir -v /var/lib/log/gdm && +rmdir -v /var/lib/log && + +cat > /etc/pam.d/gdm << "EOF" && +auth required pam_unix.so +auth required pam_nologin.so +account required pam_unix.so +password required pam_unix.so +session required pam_unix.so +EOF + +cat > /etc/pam.d/gdm-autologin << "EOF" && +auth required pam_env.so +auth required pam_nologin.so +auth required pam_permit.so +account required pam_unix.so +password required pam_unix.so +session required pam_unix.so +EOF + +ldconfig + +# Return last error +exit $? diff --git a/stage6/pkg/gnome-applets b/stage6/pkg/gnome-applets new file mode 100644 index 0000000..f473faf --- /dev/null +++ b/stage6/pkg/gnome-applets @@ -0,0 +1,25 @@ +#!/bin/sh +# First argument of this script is the package name + +# Reading system configuration informations, functions and package versions. +source ../sysinfos +source ../functions +source ../packages-list + +# Applying patches (if any) +apply_patches ${1} && + +cd ${LFS_TMP}/${1}-build && +../${1}/configure \ + --prefix=${GNOME2_PREFIX} \ + --libexecdir=${GNOME2_PREFIX}/sbin \ + --infodir=${GNOME2_PREFIX}/share/info \ + --localstatedir=/var/lib \ + --sysconfdir=/etc/gnome/${GNOME2_VER} && +make && +make install && +make -C man install-man && +ldconfig + +# Return last error +exit $? diff --git a/stage6/pkg/gnome-audio b/stage6/pkg/gnome-audio new file mode 100644 index 0000000..ff667e3 --- /dev/null +++ b/stage6/pkg/gnome-audio @@ -0,0 +1,16 @@ +#!/bin/sh +# First argument of this script is the package name + +# Reading system configuration informations, functions and package versions. +source ../sysinfos +source ../functions +source ../packages-list + +# Applying patches (if any) +apply_patches ${1} && + +cd ${LFS_TMP}/${1} && +make prefix=${GNOME2_PREFIX} install + +# Return last error +exit $? diff --git a/stage6/pkg/gnome-media b/stage6/pkg/gnome-media new file mode 100644 index 0000000..7f57142 --- /dev/null +++ b/stage6/pkg/gnome-media @@ -0,0 +1,8 @@ +#!/bin/sh +# First argument of this script is the package name + +./cis-gnome ${1} && +gst-register + +# Return last error +exit $? diff --git a/stage6/pkg/gnumeric b/stage6/pkg/gnumeric new file mode 100644 index 0000000..53158b7 --- /dev/null +++ b/stage6/pkg/gnumeric @@ -0,0 +1,32 @@ +#!/bin/sh +# First argument of this script is the package name + +# Reading system configuration informations, functions and package versions. +source ../sysinfos +source ../functions +source ../packages-list + +# Applying patches (if any) +apply_patches ${1} && + +cd ${LFS_TMP}/${1} && +./configure \ + --prefix=/usr \ + --localstatedir=/var/lib \ + --sysconfdir=/etc/gnome/${GNOME2_VER} && +make && +make install && + +ln -svf /usr/share/gnome/help/gnumeric \ + /usr/share/gnumeric/$(get_pkg_ver ${1})/doc && + +if [ $(pkg-config --variable=prefix ORBit-2.0) != "/usr" ]; then + mv -v /usr/lib/bonobo/servers/GNOME_Gnumeric.server \ + $(pkg-config --variable=prefix ORBit-2.0)/lib/bonobo/servers && + rmdir -v /usr/lib/{bonobo/servers,bonobo} +fi && + +ldconfig + +# Return last error +exit $? diff --git a/stage6/pkg/libmusicbrainz b/stage6/pkg/libmusicbrainz new file mode 100644 index 0000000..ddc0865 --- /dev/null +++ b/stage6/pkg/libmusicbrainz @@ -0,0 +1,23 @@ +#!/bin/sh +# First argument of this script is the package name. + +# Reading system configuration informations, functions and package versions. +source ../sysinfos +source ../functions +source ../packages-list + +# Applying patches (if any) +apply_patches ${1} && + +cd ${LFS_TMP}/${1}-build && +../${1}/configure \ + --prefix=/usr \ + --sysconfdir=/etc && +make && +make install && +cd ${LFS_TMP}/${1} && +install -v -m644 -D docs/mb_howto.txt /usr/share/doc/${1}/mb_howto.txt && +ldconfig + +# Return last error +exit $? diff --git a/stage6/pkg/metacity b/stage6/pkg/metacity new file mode 100644 index 0000000..7845d26 --- /dev/null +++ b/stage6/pkg/metacity @@ -0,0 +1,26 @@ +#!/bin/sh +# First argument of this script is the package name. + +# Reading system configuration informations, functions and package versions. +source ../sysinfos +source ../functions +source ../packages-list + +# Applying patches (if any) +apply_patches ${1} && + +cd ${LFS_TMP}/${1}-build && +../${1}/configure \ + --prefix=/usr \ + --libexecdir=/usr/lib/metacity \ + --with-gconf-schema-file-dir=/etc/gnome/${GNOME2_VER}/gconf/schemas \ + --sysconfdir=/etc && +make && +make install && +cd ${LFS_TMP}/${1} && +install -v -m755 -d /usr/share/doc/${1} && +install -v -m644 README rationales.txt doc/*.txt /usr/share/doc/${1} && +ldconfig + +# Return last error +exit $? diff --git a/stage6/pkg/nautilus b/stage6/pkg/nautilus new file mode 100644 index 0000000..59c3c34 --- /dev/null +++ b/stage6/pkg/nautilus @@ -0,0 +1,27 @@ +#!/bin/sh +# First argument of this script is the package name + +# Reading system configuration informations, functions and package versions. +source ../sysinfos +source ../functions +source ../packages-list + +# Applying patches (if any) +apply_patches ${1} && + +cd ${LFS_TMP}/${1}-build && +../${1}/configure \ + --prefix=${GNOME2_PREFIX} \ + --libexecdir=${GNOME2_PREFIX}/sbin \ + --localstatedir=/var/lib \ + --infodir=${GNOME2_PREFIX}/share/info \ + --sysconfdir=/etc/gnome/${GNOME2_VER} && +make && +make install && +install -v -m755 -d ${GNOME2_PREFIX}/share/doc/${NAUTILUS} && +install -v -m644 ${LFS_TMP}/${1}/docs/*.{txt,dia,pdf,sxw,faq,html} \ + ${GNOME2_PREFIX}/share/doc/${NAUTILUS} && +ldconfig + +# Return last error +exit $? diff --git a/stage6/stage.def b/stage6/stage.def new file mode 100644 index 0000000..e8c79da --- /dev/null +++ b/stage6/stage.def @@ -0,0 +1,3 @@ +#!/bin/bash + +export LFS_STAGE=stage6 diff --git a/stage6/stage6-additions b/stage6/stage6-additions deleted file mode 100755 index b8d9ad4..0000000 --- a/stage6/stage6-additions +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -export LFS_PKG_DIR="$(dirname $(pwd))/packages/stage4" -export LFS_LOG_DIR=/var/log/hvlinux-install/stage4 -export LFS_LOG_FILE=${LFS_LOG_DIR}/install.log -export LFS_TMP=/tmp - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list -source /etc/profile - -if [ "x${USER}" != "xroot" ]; then - echo "You must be the superuser to install hvlinux." - exit 1 -fi - -init_log_file - -ipkg_gnome ${LIBGNOMECUPS} -ipkg_gnome ${EVINCE} - -exit $? diff --git a/stage6/stage6-install b/stage6/stage6-install deleted file mode 100755 index 532fd67..0000000 --- a/stage6/stage6-install +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/sh - -export LFS_PKG_DIR="$(dirname $(pwd))/packages/stage4" -export LFS_LOG_DIR=/var/log/hvlinux-install/stage4 -export LFS_LOG_FILE=${LFS_LOG_DIR}/install.log -export LFS_TMP=/tmp - -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list -source /etc/profile - -if [ "x${USER}" != "xroot" ]; then - echo "You must be the superuser to install hvlinux." - exit 1 -fi - -init_log_file - -# GNOME-2.X configuration -#action_checkbox "Configuring ${GNOME2_VER}" ./cis-gnome-config -#action_checkbox "Reloading /etc/profile" source /etc/profile - -# Gnome 2 core packages -##ipkg_gnome ${ORBIT2} -ipkg_gnome ${LIBBONOBO} -###ipkg_cust ${GCONF} cis-gconf -ipkg_gnome ${GNOME_MIME_DATA} -####ipkg_cust ${GNOME_VFS} cis-gnome-nb -####ipkg_gnome ${GNOME_VFS_MONIKERS} -ipkg_gnome ${LIBGNOME} -ipkg_gnome ${LIBGNOMECANVAS} -ipkg_gnome ${LIBBONOBOUI} -ipkg_ac ${GNOME_ICON_THEME} -##ipkg_gnome ${GNOME_KEYRING} -ipkg_gnome ${LIBGNOMEUI} -ipkg_ac ${GNOME_THEMES} -ipkg_ac_nb ${SCROLLKEEPER} "--localstatedir=/var --disable-static --with-omfdirs=/usr/share/omf:/opt/${GNOME2_VER}/share/omf" -ipkg_gnome ${GNOME_DOC_UTILS} -ipkg_gnome ${GNOME_DESKTOP} -ipkg_gnome ${GNOME_BACKGROUNDS} -ipkg_gnome ${GNOME_MENUS} -ipkg_gnome ${GNOME_PANEL} -ipkg_ac ${GSTREAMER} -ipkg_ac ${GST_PLUGINS_BASE} -ipkg_ac ${GST_PLUGINS_GOOD} -ipkg_ac ${GST_PLUGINS_BAD} -ipkg_ac ${GST_PLUGINS_UGLY} -ipkg_ac ${GST_FFMPEG} -ipkg_ac ${VTE} "--libexecdir=/usr/sbin --disable-gtk-doc" -ipkg_gnome ${GNOME_TERMINAL} -ipkg_gnome ${LIBGTOP} -ipkg_gnome ${LIBGNOMEKBD} -ipkg_gnome ${LIBGAIL_GNOME} -ipkg_cust ${GNOME_APPLETS} cis-gnome-applets -ipkg_gnome ${EEL} -ipkg_gnome ${NAUTILUS} -ipkg_gnome ${YELP} -ipkg_cust ${METACITY} cis-metacity - -ipkg_gnome ${GNOME_CONTROL_CENTER} -ipkg_gnome ${GNOME_SESSION} -ipkg_gnome ${GNOME_USER_DOCS} -action_checkbox "Updating the MIME-type application database" update-desktop-database - -# Gnome 2 additional packages - Libraries -####ipkg_gnome ${LIBGNOMECUPS} -####ipkg_gnome ${LIBGNOMEPRINT} -####ipkg_gnome ${LIBGNOMEPRINTUI} -ipkg_gnome ${GTKHTML} -ipkg_gnome ${EVOLUTION_DATA_SERVER} "--with-nss-includes=/usr/include/nss --with-nspr-includes=/usr/include/nspr --with-openldap=yes --with-krb5=/usr" -ipkg_gnome ${GTKSOURCEVIEW} -ipkg_cust ${SYSTEM_TOOLS_BACKENDS} cis-gnome-nobuild -ipkg_cust ${GNOME_AUDIO} cis-gnome-audio - -# Gnome 2 additional packages - Utilities -ipkg_gnome ${GEDIT} "--disable-spell" -ipkg_gnome ${EOG} - -ipkg_ac ${LIBSPECTRE} -ipkg_gnome ${EVINCE} -ipkg_gnome ${FILE_ROLLER} -ipkg_gnome ${GCONF_EDITOR} -ipkg_gnome ${GNOME_UTILS} -ipkg_gnome ${GNOME_SYSTEM_MONITOR} -ipkg_gnome ${NAUTILUS_CD_BURNER} -ipkg_gnome ${GNOME_MEDIA} -ipkg_gnome ${GNOME_NETSTATUS} -ipkg_cust ${GCALCTOOL} cis-gnome-nobuild -ipkg_gnome ${GUCHARMAP} -ipkg_gnome ${ZENITY} -ipkg_gnome ${GNOME_KEYRING_MANAGER} - -# Needs hal, which needs D-BUS... -ipkg_gnome ${GNOME_VOLUME_MANAGER} - -ipkg_cust ${LIBMUSICBRAINZ} cis-libmusicbrainz -ipkg_gnome ${GNOME_SOUND_JUICER} -ipkg_gnome ${GNOME_TOTEM} -ipkg_cust ${GDM} cis-gdm -ipkg_ac ${LIBNOTIFY} -ipkg_cust ${GNOME_MOUNT} cis-gnome-nobuild - -ipkg_ac ${RHYTHMBOX} "--disable-python" - -ipkg_ac ${LIBGSF} -ipkg_ac_nb ${GOFFICE} -ipkg_cust ${GNUMERIC} cis-gnumeric -ipkg_ac ${WV} -ipkg_ac ${ABIWORD} "--disable-spellcheck" -ipkg_gnome ${EVOLUTION} "--with-nss-includes=/usr/include/nss --with-nspr-includes=/usr/include/nspr --with-openldap=yes --with-krb5=/usr" -ipkg_gnome ${EVOLUTION_EXCHANGE} - -exit $? diff --git a/sysinfos b/sysinfos deleted file mode 100644 index 4607dfb..0000000 --- a/sysinfos +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/bash - -# This file contains the informations specific to the target system -# onto which Linux-HV will be installed - -# This is the number of make jobs that can be executed -# simultaneously. Normally, a value of 2 per processor -# gives good results. -MAKEJOBS=1 - -# Installation type: server, ltsp-server or workstation. -INST_TYPE="workstation" - -# New user to create -REGUSER="hugo" - -# Destination path where to install new Linux-HV system. This is usually where -# you have mounted your new LFS partition, but it can also be any directory. -# This is relevant only for stage 0 and 1. -LFS="/mnt/hvlinux" - -# Destination partition where to install new Linux-HV system -LFS_PARTITION="/dev/sdb7" - -# Boot partition (if applicable) -BOOT_PARTITION="/dev/sdb1" - -# Swap partition (if applicable) -SWAP_PARTITION="/dev/sdb2" - -# Define this when cross-compiling to the desired target -# architecture. Default is x86 32-bits architecture (i686). -# arm926t - ARM 926T little endian -# x86 (i686) -# x86_64 (AMD Athlon 64) -HVL_TARGET="x86_64" - -# Used for setting '-march=xxx' option in CFLAGS and CPPFLAGS -MACHINE_ARCHITECTURE="" - -# Keyboard mapping (example: us) -KEYBOARD="us" - -# Sound card support: yes or no -SOUND_CARD="yes" - -# Removable media drives -CDROM="/dev/sr0" - -# Set to yes to have SANE support -SANE_SUPPORT="yes" -# If your scanner is located onto a remote computer, define the following -# variable to the IP address of that remote computer. -SANE_SERVER="" - -# Define this if you want to use a remote CUPS print server -#CUPS_SERVER="server.hugovil.com" - -TIMEZONE="America/Montreal" - -# General network settings -INTERFACES="eth0" -MACHINE_NAME="chambers64" -DOMAIN="mongol.com" -LAN_NETWORK_MASK="192.168.1.0/24" # Utilise par sane in stage3 -# Define to yes if you have a dynamic address and you use a dynamic dns -# service. -USE_DYNAMIC_DNS="no" - -# Network interface card eth0 settings (ROUTEUR/INTERNET) -BOOTPROTO[0]="dhcp" -IP_ADDRESS[0]="" -PREFIX_LENGTH[0]="" -# GATEWAY is not required if using DHCP -GATEWAY[0]="" - -# DNS servers addresses (not required if using DHCP) -NAMESERVER[0]="" - -# Define this if you want the mail addressed to the root user automatically -# be forwarded to someone else -MAIL_ADMIN="hugo" - -# Define to unix (mbox) or mbx -MAILBOX_FORMAT=unix - -# Alternate port for Sendmail (comment this line to use the standard port 25) -SENDMAIL_PORT="25" - -# Alternate port for Apache (comment this line to use the standard port 80) -HTTPD_PORT="80" -APACHE_USER="www" - -# Samba support -USE_SAMBA="no" diff --git a/sysinfos.server b/sysinfos.server deleted file mode 100644 index ec480b4..0000000 --- a/sysinfos.server +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/sh - -# This file contains the informations specific to the target system -# onto which Linux-HV will be installed - -# This is the number of make jobs that can be executed -# simultaneously. Normally, a value of 2 per processor -# gives good results. -MAKEJOBS=4 - -# Installation type: server, ltsp-server or workstation. -INST_TYPE="server" - -# New user to create -REGUSER="" - -# Destination path where to install new Linux-HV system -LFS="/mnt/hvlinux" - -# Destination partition where to install new Linux-HV system -LFS_PARTITION="/dev/hda10" - -# Boot partition (if applicable) -BOOT_PARTITION="/dev/hda1" - -# Swap partition (if applicable) -SWAP_PARTITION="/dev/hda5" - -# Used for setting '-march=xxx' option in CFLAGS and CPPFLAGS -MACHINE_ARCHITECTURE="pentium" - -# Keyboard mapping (example: us) -KEYBOARD="us" - -# Sound card support: yes or no -SOUND_CARD="no" - -# Removable media drives -CDROM="/dev/hdc" -DVD="/dev/hdc" - -# Define this if you want to use a remote CUPS print server -#CUPS_SERVER="server.hugovil.com" - -TIMEZONE="America/Montreal" - -# General network settings -INTERFACES="eth0 eth1" -MACHINE_NAME="server" -DOMAIN="hugovil.com" -LAN_NETWORK_MASK="192.168.0.0/24" -# Define to yes if you have a dynamic address and you use a dynamic dns -# service. -USE_DYNAMIC_DNS="yes" - -# Network interface card #1 settings (INTERNET) -BOOTPROTO[0]="dhcp" -IP_ADDRESS[0]="" -# GATEWAY is not required if using DHCP -GATEWAY[0]="" - -# Network interface card #2 settings (LAN) -BOOTPROTO[1]="static" -IP_ADDRESS[1]="192.168.0.1" -PREFIX_LENGTH[1]=24 - -# DNS servers addresses (not required if using DHCP) -#NAMESERVER[0]="24.200.243.250" -#NAMESERVER[1]="24.201.245.106" -#NAMESERVER[2]="24.200.243.242" - -# Define this if you want the mail addressed to the root user automatically -# be forwarded to someone else -MAIL_ADMIN="hugo" - -# Define to unix (mbox) or mbx -MAILBOX_FORMAT=unix - -# Alternate port for Sendmail (comment this line to use the standard port 25) -SENDMAIL_PORT="25" - -# Alternate port for Apache (comment this line to use the standard port 80) -HTTPD_PORT="80" -APACHE_USER="www" - -# Samba support -USE_SAMBA="no" diff --git a/sysinfos.workstn b/sysinfos.workstn deleted file mode 100644 index 8b6f137..0000000 --- a/sysinfos.workstn +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/sh - -# This file contains the informations specific to the target system -# onto which Linux-HV will be installed - -# This is the number of make jobs that can be executed -# simultaneously. Normally, a value of 2 per processor -# gives good results. -MAKEJOBS=4 - -# Installation type: server, ltsp-server or workstation. -INST_TYPE="workstation" - -# New user to create -REGUSER="" - -# Destination path where to install new Linux-HV system -LFS="/mnt/hvlinux" - -# Destination partition where to install new Linux-HV system -LFS_PARTITION="/dev/hda10" - -# Boot partition (if applicable) -BOOT_PARTITION="/dev/hda1" - -# Swap partition (if applicable) -SWAP_PARTITION="/dev/hda5" - -# Used for setting '-march=xxx' option in CFLAGS and CPPFLAGS -MACHINE_ARCHITECTURE="pentium" - -# Keyboard mapping (example: us) -KEYBOARD="us" - -HV_XF86_KEYBOARD_LAYOUT="ca_enhanced" -XF86_CARD_DRIVER="ati" - -# Sound card support: yes or no -SOUND_CARD="yes" - -# Removable media drives -CDROM="/dev/hdc" -DVD="/dev/hdc" - -#-------------------- -# SCANNER definitions -#-------------------- -# Set to yes to have SANE support -SANE_SUPPORT="no" -# Define to the driver name corresponding to your scanner, if you have one -# (see SANE documentation for drivers name). Comment out if you will be using -# a scanner on a remote computer. -SANE_DRIVER="" -# If your scanner is located onto a remote computer, define the following -# variable to the IP address of that remote computer. -SANE_SERVER="" - -# Define this if you want to use a remote CUPS print server -CUPS_SERVER="server.hugovil.com" - -# Samba support -USE_SAMBA="no" - -TIMEZONE="America/Montreal" - -# General network settings -INTERFACES="eth0" -MACHINE_NAME="workstation" -DOMAIN="hugovil.com" -LAN_NETWORK_MASK="192.168.0.0/24" -# Define to yes if you have a dynamic address and you use a dynamic dns -# service. -#USE_DYNAMIC_DNS="yes" - -# Network interface card #1 settings (LAN) -BOOTPROTO[0]="static" -IP_ADDRESS[0]="192.168.0.2" -PREFIX_LENGTH[0]="24" -# GATEWAY is not required if using DHCP -GATEWAY[0]="192.168.0.1" - -# DNS server addresses (not required if using DHCP) -NAMESERVER[0]="192.168.0.1"