From a50d04ab1c6a37287afa8e3390dfb2da99236bb2 Mon Sep 17 00:00:00 2001 From: ms Date: Mon, 1 Jan 2007 10:49:07 +0000 Subject: [PATCH] Installer-Toolchain nochmals ueberarbeitet. Kompiliert wenigstens schonmal durch... git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@373 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- config/rootfiles/common/mc | 13 ++- doc/make.sh-usage | 23 +++-- doc/packages-list.txt | 4 +- lfs/binutils | 13 ++- lfs/cyrus-sasl | 2 +- lfs/gcc | 88 +++++++++++------ lfs/iptraf | 4 +- lfs/reiserfsprogs | 2 +- lfs/uClibc | 53 ++++++---- make.sh | 64 ++---------- tools/make-functions | 196 +++++++++++++++++++------------------ 11 files changed, 246 insertions(+), 216 deletions(-) diff --git a/config/rootfiles/common/mc b/config/rootfiles/common/mc index ec00e5fdb8..0888fd0ef7 100644 --- a/config/rootfiles/common/mc +++ b/config/rootfiles/common/mc @@ -53,6 +53,8 @@ usr/share/mc/mc.hint #usr/share/mc/mc.hint.ru #usr/share/mc/mc.hint.uk #usr/share/mc/mc.hint.zh +#usr/share/mc/mc.hint.sr +#usr/share/mc/mc.menu.sr usr/share/mc/mc.hlp usr/share/mc/mc.lib usr/share/mc/mc.menu @@ -93,10 +95,19 @@ usr/share/mc/syntax/texinfo.syntax usr/share/mc/syntax/unknown.syntax usr/share/mc/syntax/xml.syntax #usr/share/mc/term -usr/share/mc/term/README.xterm +#usr/share/mc/term/README.xterm usr/share/mc/term/ansi.ti usr/share/mc/term/linux.ti usr/share/mc/term/vt100.ti usr/share/mc/term/xterm.ad usr/share/mc/term/xterm.tcap usr/share/mc/term/xterm.ti +usr/share/mc/extfs/iso9660 +usr/share/mc/syntax/aspx.syntax +usr/share/mc/syntax/assembler.syntax +usr/share/mc/syntax/cs.syntax +usr/share/mc/syntax/eiffel.syntax +usr/share/mc/syntax/idl.syntax +usr/share/mc/syntax/lua.syntax +usr/share/mc/syntax/povray.syntax +usr/share/mc/syntax/ruby.syntax diff --git a/doc/make.sh-usage b/doc/make.sh-usage index 8e8c73b805..b4472f6c53 100644 --- a/doc/make.sh-usage +++ b/doc/make.sh-usage @@ -1,5 +1,5 @@ Standard use commands in the order you may need them. - prefetch : preload all necessary files in cache before compilation + downloadsrc : preload all necessary files in cache before compilation build : compile the distribution clean : erase build and log to recompile everything from scratch @@ -12,15 +12,22 @@ Optional Maintainer / advanced commands changelog : Loads the latest changelog from SVN. check : Test if packages files are still available for download - This is faster on http URL with --spider,but still slow on ftp - because of real load. + This is faster on http URL with --spider, but still slow on ftp + because of real load. checkclean : Erase all check mark on cache directory to be able to check - another time + another time dist : Mainly produce a diff from previous version to track wich - files have been changed + files have been changed make : Does a complete compile with fetching source packages. -newpak : Create a new package with name: . + pxe : + Starts, stops or reloads a small tftp daemon for pxe boot. toolchain : Create our own toolchain package to save 20% of build time. shell : Enter a shell inside the chroot, used to tune lfs script - and / or during kernel upgrade to rebuild a new .config - update : Loads the latest source files from SVN. + and / or during kernel upgrade to rebuild a new .config + svn : + update : Loads the latest source files from svn or if is given + it loads this revision. + diff : Mainly produce a diff from previous version to track wich + files have been changed + commit : Applies your changes to the svn. + dist : Tar the source code from revision. diff --git a/doc/packages-list.txt b/doc/packages-list.txt index da5d7315f9..044a21b938 100644 --- a/doc/packages-list.txt +++ b/doc/packages-list.txt @@ -30,7 +30,6 @@ * amavisd-new-2.4.1 * applejuice-0.30 * arping-2.05 -* asterisk-1.2.13 * asterisk-1.4.0 * autoconf-2.59 * automake-1.9.6 @@ -48,6 +47,7 @@ * cdrtools-2.01 * cftp-0.12 * clamav-0.88.6 +* clamav-0.88.7 * coreutils-5.96 * cups-1.2.2 * cyrus-imapd-2.2.12 @@ -124,7 +124,6 @@ * libogg-1.1.3 * libpcap-0.8.3 * libpng-1.2.12 -* libpri-1.2.4 * libpri-1.4.0 * libsafe_2.0-16 * libtool-1.5.22 @@ -197,7 +196,6 @@ * rrdtool-1.2.15 * rsync-2.6.8 * samba-3.0.23b -* samba-3.0.23d * screen-4.0.2 * sed-4.1.5 * setserial-2.17 diff --git a/lfs/binutils b/lfs/binutils index d53efa3263..2102980a7c 100644 --- a/lfs/binutils +++ b/lfs/binutils @@ -38,10 +38,15 @@ DIR_APP = $(DIR_SRC)/$(THISAPP) ifeq "$(ROOT)" "" ifeq "$(LFS_PASS)" "install" TARGET = $(DIR_INFO)/$(THISAPP)-install - EXTRA_CONFIG = --target=$(MACHINE)-linux-uclibc --prefix=/opt/$(MACHINE)-uClibc --disable-nls \ - --with-sysroot=/opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc - EXTRA_MAKE = - EXTRA_INSTALL = + EXTRA_CONFIG = --prefix=/opt/$(MACHINE)-uClibc \ + --build=$(MACHINE)-pc-linux-gnu \ + --host=$(MACHINE)-pc-linux-gnu \ + --target=$(MACHINE)-linux-uclibc \ + --disable-nls \ + --enable-multilib \ + --disable-werror + EXTRA_MAKE = all + EXTRA_INSTALL = else TARGET = $(DIR_INFO)/$(THISAPP) EXTRA_CONFIG = --prefix=/usr --enable-shared --disable-nls diff --git a/lfs/cyrus-sasl b/lfs/cyrus-sasl index 815947081b..3f296c24de 100644 --- a/lfs/cyrus-sasl +++ b/lfs/cyrus-sasl @@ -83,7 +83,7 @@ ifeq "$(PASS)" "" cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \ --with-dbpath=/var/lib/sasl/sasldb2 \ --with-saslauthd=/var/run - cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make cd $(DIR_APP) && make install install -v -m700 -d /var/lib/sasl else diff --git a/lfs/gcc b/lfs/gcc index 868428c620..c7e227007c 100644 --- a/lfs/gcc +++ b/lfs/gcc @@ -34,38 +34,56 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) CFLAGS = CXXFLAGS = +TARGET_PATH = /opt/$(MACHINE)-uClibc/bin:$(PATH) # Normal build or /tools build. # ifeq "$(ROOT)" "" ifeq "$(INST)" "1" TARGET = $(DIR_INFO)/$(THISAPP)-install1 - EXTRA_CONFIG = --target=$(MACHINE)-linux-uclibc --prefix=/opt/$(MACHINE)-uClibc \ - --with-local-prefix=/opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc --with-newlib \ - --with-sysroot=/opt/$(MACHINE)-uClibc --disable-nls \ - --enable-threads=no --enable-symvers=gnu \ - --disable-__cxa_atexit --enable-languages=c \ - --disable-shared --with-gnu-as --with-gnu-ld \ - --without-headers + EXTRA_CONFIG = --prefix=/opt/$(MACHINE)-uClibc \ + --build=$(MACHINE)-pc-linux-gnu \ + --host=$(MACHINE)-pc-linux-gnu \ + --target=$(MACHINE)-linux-uclibc \ + --enable-languages=c \ + --with-sysroot=$(DIR_SRC)/uClibc_dev \ + --disable-__cxa_atexit \ + --enable-target-optspace \ + --with-gnu-ld \ + --disable-shared \ + --enable-threads \ + --enable-multilib \ + --disable-nls + EXTRA_MAKE = + EXTRA_INSTALL = else ifeq "$(INST)" "2" TARGET = $(DIR_INFO)/$(THISAPP)-install2 - EXTRA_CONFIG = --target=$(MACHINE)-linux-uclibc --prefix=/opt/$(MACHINE)-uClibc \ - --with-local-prefix=/opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc \ - --with-sysroot=/opt/$(MACHINE)-uClibc \ - --disable-nls \ - --enable-threads=posix --enable-symvers=gnu \ - --disable-__cxa_atexit --enable-languages=c,c++ \ - --enable-c99 --enable-long-long --with-gnu-as \ - --with-gnu-ld --enable-shared --enable-clocale \ - --enable-target-optspace + EXTRA_CONFIG = --prefix=/opt/$(MACHINE)-uClibc \ + --build=$(MACHINE)-pc-linux-gnu \ + --host=$(MACHINE)-pc-linux-gnu \ + --target=$(MACHINE)-linux-uclibc \ + --enable-languages=c,c++ \ + --with-sysroot=$(DIR_SRC)/uClibc_dev \ + --disable-__cxa_atexit \ + --enable-target-optspace \ + --with-gnu-ld \ + --enable-shared \ + --disable-nls \ + --enable-threads \ + --enable-multilib + EXTRA_MAKE = + EXTRA_INSTALL = else TARGET = $(DIR_INFO)/$(THISAPP) EXTRA_CONFIG = --prefix=/usr \ - --libexecdir=/usr/lib --enable-shared \ - --enable-threads=posix --enable-__cxa_atexit \ - --enable-clocale=gnu --enable-languages=c,c++ \ - --disable-nls + --libexecdir=/usr/lib \ + --enable-shared \ + --enable-threads=posix \ + --enable-__cxa_atexit \ + --enable-clocale=gnu \ + --enable-languages=c,c++ \ + --disable-nls EXTRA_MAKE = EXTRA_INSTALL = endif @@ -74,17 +92,22 @@ else ifeq "$(PASS)" "1" TARGET = $(DIR_INFO)/$(THISAPP)-tools1 EXTRA_CONFIG = --prefix=/tools \ - --with-local-prefix=/tools --disable-nls --enable-shared \ - --enable-languages=c + --with-local-prefix=/tools \ + --disable-nls \ + --enable-shared \ + --enable-languages=c EXTRA_MAKE = bootstrap BOOT_LDFLAGS="-static" EXTRA_INSTALL = else TARGET = $(DIR_INFO)/$(THISAPP)-tools2 EXTRA_CONFIG = --prefix=/tools \ - --with-local-prefix=/tools --enable-clocale=gnu \ - --enable-shared --enable-threads=posix \ - --enable-__cxa_atexit --enable-languages=c,c++ \ - --disable-libstdcxx-pch + --with-local-prefix=/tools \ + --enable-clocale=gnu \ + --enable-shared \ + --enable-threads=posix \ + --enable-__cxa_atexit \ + --enable-languages=c,c++ \ + --disable-libstdcxx-pch EXTRA_MAKE = EXTRA_INSTALL = endif @@ -132,16 +155,23 @@ ifeq "$(ROOT)" "" ifeq "$(INST)" "1" cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc-uclibc-conf.patch cd $(DIR_SRC)/gcc-build && $(DIR_APP)/configure $(EXTRA_CONFIG) -override PATH = /opt/$(MACHINE)-uClibc/bin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin - cd $(DIR_SRC)/gcc-build && make all-gcc install-gcc + cd $(DIR_SRC)/gcc-build && PATH=$(TARGET_PATH) make $(MAKETUNING) all-gcc + cd $(DIR_SRC)/gcc-build && PATH=$(TARGET_PATH) make install-gcc + cd /opt/$(MACHINE)-uClibc/bin && for i in `ls -w1 $(MACHINE)-linux-uclibc-*`; do \ + ln -svf $$i $(MACHINE)-linux-`echo $$i | cut -c 19-`; \ + done + ln -svf $(MACHINE)-linux-uclibc /opt/$(MACHINE)-uClibc/$(MACHINE)-linux + ln -svf gcc /opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc/bin/cc else ifeq "$(INST)" "2" cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc-uclibc-conf.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc-uclibc-locale.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc-libstdc++-pic.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc-sdk-libstdc++-includes.patch + ln -snf ../include /opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc/sys-include cd $(DIR_SRC)/gcc-build && $(DIR_APP)/configure $(EXTRA_CONFIG) - cd $(DIR_SRC)/gcc-build && make all install + cd $(DIR_SRC)/gcc-build && PATH=$(TARGET_PATH) make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_SRC)/gcc-build && PATH=$(TARGET_PATH) make install $(EXTRA_INSTALL) cp -f /opt/$(MACHINE)-uClibc/lib/libgcc_s.so /lib cd /lib && ln -sf libgcc_s.so libgcc_s.so.1 else diff --git a/lfs/iptraf b/lfs/iptraf index 5ed78a07bb..48e9e2daff 100644 --- a/lfs/iptraf +++ b/lfs/iptraf @@ -33,8 +33,6 @@ DL_FILE = $(THISAPP).bin.i386.tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PROG = iptraf -PAK_VER = ipfire-beta1 ############################################################################### # Top-level Rules @@ -78,5 +76,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP).bin.i386/src && yes 'n' | make install TARGET=/usr/bin - @rm -rf $(DIR_APP) + @rm -rf $(DIR_APP).bin.i386 @$(POSTBUILD) diff --git a/lfs/reiserfsprogs b/lfs/reiserfsprogs index 66f840be13..328f416dc6 100644 --- a/lfs/reiserfsprogs +++ b/lfs/reiserfsprogs @@ -79,7 +79,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) ifeq "$(LFS_PASS)" "install" cd $(DIR_APP) && ./configure --prefix=/ --sbindir=/bin cd $(DIR_APP) && make $(MAKETUNING) - cd $(DIR_APP) && install -v -m 755 mkreiserfs/mkreiserfs /install/initrd/sbin/mkreiserfs + cd $(DIR_APP) && install -v -m 755 mkreiserfs/mkreiserfs /install/initrd/bin/mkreiserfs else cd $(DIR_APP) && ./configure --prefix=/usr --sbindir=/sbin cd $(DIR_APP) && make $(MAKETUNING) diff --git a/lfs/uClibc b/lfs/uClibc index 26bb27f24e..166e1aa5ce 100644 --- a/lfs/uClibc +++ b/lfs/uClibc @@ -50,13 +50,13 @@ STAGING_DIR=/opt/$(MACHINE)-uClibc objects = $(DL_FILE) buildroot-snapshot-20061026.tar.bz2 uClibc-locale-030818.tgz -$(DL_FILE) = $(DL_FROM)/$(DL_FILE) -buildroot-snapshot-20061026.tar.bz2 = $(DL_FROM)/buildroot-snapshot-20061026.tar.bz2 -uClibc-locale-030818.tgz = $(DL_FROM)/uClibc-locale-030818.tgz +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) +buildroot-snapshot-20061026.tar.bz2 = $(DL_FROM)/buildroot-snapshot-20061026.tar.bz2 +uClibc-locale-030818.tgz = $(DL_FROM)/uClibc-locale-030818.tgz -$(DL_FILE)_MD5 = 1ada58d919a82561061e4741fb6abd29 -buildroot-snapshot-20061026.tar.bz2_MD5 = ecc5d48a780e46a56d1d39207d5868bd -uClibc-locale-030818.tgz_MD5 = d75b2239b4e27c3c9cbed1c8f6eabba6 +$(DL_FILE)_MD5 = 1ada58d919a82561061e4741fb6abd29 +buildroot-snapshot-20061026.tar.bz2_MD5 = ecc5d48a780e46a56d1d39207d5868bd +uClibc-locale-030818.tgz_MD5 = d75b2239b4e27c3c9cbed1c8f6eabba6 install : $(TARGET) @@ -87,18 +87,42 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) ifeq "$(PASS)" "1" @rm -rf $(DIR_APP) - @mkdir -p /opt/$(MACHINE)-uClibc + @mkdir -p /opt/$(MACHINE)-uClibc $(DIR_SRC)/uClibc_dev/usr/include $(DIR_SRC)/uClibc_dev/{,usr}/lib @cd $(DIR_SRC) && tar xfj $(DIR_DL)/$(DL_FILE) cp -f $(DIR_DL)/uClibc-locale-030818.tgz $(DIR_APP)/extra/locale/ cp -f $(DIR_SRC)/config/uClibc/{locales,codesets}.txt $(DIR_APP)/extra/locale cd $(DIR_APP)/extra/locale && patch -Np3 < $(DIR_SRC)/src/patches/uClibc-gcc4-genwctype.patch cp -f $(DIR_SRC)/config/uClibc/uClibc.config-$(MACHINE) $(DIR_APP)/.config - cd $(DIR_APP) && make CROSS= PREFIX=$(STAGING_DIR) oldconfig - cd $(DIR_APP) && make CROSS= PREFIX=$(STAGING_DIR) pregen headers install_dev -# cd $(DIR_APP)/extra/locale && make + cd $(DIR_APP) && make oldconfig + cd $(DIR_APP)/extra/locale && make + cd $(DIR_APP) && make PREFIX=$(DIR_SRC)/uClibc_dev \ + DEVEL_PREFIX=/usr/ \ + RUNTIME_PREFIX=$(DIR_SRC)/uClibc_dev/ \ + pregen install_dev else ifeq "$(PASS)" "2" - cd $(DIR_APP) && CROSS=$(MACHINE)-linux-uclibc- PREFIX=/opt/$(MACHINE)-uClibc make all install + cd $(DIR_APP) && make PREFIX= \ + DEVEL_PREFIX=/ \ + RUNTIME_PREFIX=/ \ + all + cd $(DIR_APP) && make PREFIX= \ + DEVEL_PREFIX=/opt/$(MACHINE)-uClibc/ \ + RUNTIME_PREFIX=/opt/$(MACHINE)-uClibc/ \ + install_runtime install_dev + + ## This is to fix a small bug + if [ ! -h /opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc/lib ]; then \ + mv -vf /opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc/lib/* /opt/$(MACHINE)-uClibc/lib/; \ + rm -rf /opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc/lib; \ + ln -sfv ../lib /opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc/lib; \ + fi + + cd $(DIR_APP) && make -C utils/ PREFIX=/opt/$(MACHINE)-uClibc \ + hostutils + cd $(DIR_APP) && make PREFIX=/install/initrd \ + DEVEL_PREFIX=/usr/ \ + RUNTIME_PREFIX=/ \ + install_runtime cp -f /opt/$(MACHINE)-uClibc/lib/ld-uClibc-$(VER).so /lib cp -f /opt/$(MACHINE)-uClibc/lib/libuClibc-$(VER).so /lib cd /lib && ln -sf ld-uClibc-$(VER).so ld-uClibc.so.0 @@ -106,12 +130,7 @@ ifeq "$(PASS)" "2" cd /lib && ln -sf libc.so.0 libc.so ln -sf /opt/$(MACHINE)-uClibc/lib/libm-$(VER).so /lib/libm.so.0 else - cd /opt/$(MACHINE)-uClibc/bin && for i in `ls -w1 $(MACHINE)-linux-uclibc-*`; do \ - ln -sf $$i $(MACHINE)-linux-`echo $$i | cut -c 19-`; \ - done - ln -sf $(MACHINE)-linux-uclibc /opt/$(MACHINE)-uClibc/$(MACHINE)-linux - ln -sf gcc /opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc/bin/cc - cd $(DIR_APP) && make RUNTIME_PREFIX=/install/initrd/ install_runtime + cd $(DIR_APP) && make PREFIX=/install/initrd utils install_utils chmod 755 /install/initrd/lib/libuClibc-$(VER).so rm -f /install/initrd/lib/{libm*,libcrypt*,libutil*,librt*} @rm -rf $(DIR_APP) diff --git a/make.sh b/make.sh index eed5af188e..20756ab37d 100644 --- a/make.sh +++ b/make.sh @@ -739,9 +739,10 @@ shell) changelog) echo -n "Loading new Changelog from SVN: " svn log http://svn.ipfire.eu/svn/ipfire > doc/ChangeLog - echo "Finished!" + beautify message DONE ;; clean) + echo -en "${BOLD}Cleaning build directory...${NORMAL}" for i in `mount | grep $BASEDIR | sed 's/^.*loop=\(.*\))/\1/'`; do $LOSETUP -d $i 2>/dev/null done @@ -762,57 +763,7 @@ clean) if [ -h /tools ]; then rm -f /tools fi - ;; -newpak) - # create structure for a new package - echo -e "Name of the new package: $2" - if [ ! -f "lfs/$2" ]; then - echo "`date -u '+%b %e %T'`: Creating directory src/paks/$2" - mkdir -p src/paks/$2 - cd src/paks/$2 - echo "`date -u '+%b %e %T'`: Creating files" - cp $BASEDIR/lfs/postfix $BASEDIR/lfs/$2 - - touch ROOTFILES - touch {,un}install.sh - ## install.sh - echo '#!/bin/bash' > install.sh - echo '#' >> install.sh - echo '#################################################################' >> install.sh - echo '# #' >> install.sh - echo '# This file belongs to IPFire Firewall - GPLv2 - www.ipfire.org #' >> install.sh - echo '# #' >> install.sh - echo '#################################################################' >> install.sh - echo '#' >> install.sh - echo '# Extract the files' >> install.sh - echo 'tar xfz files.tgz -C /' >> install.sh - echo 'cp -f ROOTFILES /opt/pakfire/installed/ROOTFILES.$2' >> install.sh - ## uninstall.sh - echo '#!/bin/bash' > uninstall.sh - echo '#################################################################' >> uninstall.sh - echo '# #' >> uninstall.sh - echo '# This file belongs to IPFire Firewall - GPLv2 - www.ipfire.org #' >> uninstall.sh - echo '# #' >> uninstall.sh - echo '#################################################################' >> uninstall.sh - echo '#' >> uninstall.sh - echo '# Delete the files' >> uninstall.sh - echo '## Befehl fehlt noch' >> uninstall.sh - echo 'rm -f /opt/pakfire/installed/ROOTFILES.$2' >> uninstall.sh - echo "`date -u '+%b %e %T'`: Adding files to SVN" - cd - && svn add lfs/$2 && svn add src/paks/$2 - - echo -n "Do you want to remove the folders? [y/n]" - read REM - if [ "$REM" == "y" ]; then - echo "Removing the folders..." - svn del src/paks/$2 --force - else - echo "Folders are kept." - fi - else - echo "$2 already exists" - fi - exit 0 + beautify message DONE ;; downloadsrc) if [ ! -d $BASEDIR/cache ]; then @@ -1104,7 +1055,7 @@ pxe) stop) stop_tftpd ;; - reload) + reload|restart) reload_tftpd ;; esac @@ -1135,7 +1086,7 @@ pxe) $0 svn update ;; "Help") - echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|downloadsrc|shell|sync|toolchain}" + echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}" cat doc/make.sh-usage ;; "LOG: Tail") @@ -1147,8 +1098,11 @@ pxe) esac done ;; +config) + make_config + ;; *) - echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|downloadsrc|shell|sync|toolchain}" + echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}" cat doc/make.sh-usage ;; esac diff --git a/tools/make-functions b/tools/make-functions index 96c2bb62be..854477cbb0 100644 --- a/tools/make-functions +++ b/tools/make-functions @@ -271,7 +271,6 @@ entershell() { # lfsmakecommoncheck() { - # Script present? if [ ! -f $BASEDIR/lfs/$1 ]; then exiterror "No such file or directory: $BASEDIR/$1" @@ -284,7 +283,7 @@ lfsmakecommoncheck() local i for i in $SKIP_PACKAGE_LIST do - if [ "$i" == "$1" ]; then + if [ "$i" == "$1" ]; then beautify result SKIP return 1; fi @@ -454,42 +453,41 @@ update_logs() { } batch_script() { - echo -ne "### UPDATE LOGS" + echo -ne "${BOLD}***This is our auto buildscript! Have fun...${NORMAL}\n" update_logs evaluate 1 if [ "$IPFIRE_REBUILD" -eq "0" ]; then - echo -ne "### SAVING TIME" export IPFIRE_START_TIME=`date` evaluate 1 - echo "### RUNNING SVN-UPDATE" + echo -ne "### RUNNING SVN-UPDATE" $0 svn update - evaluate 1 mail SVNUPDATE + evaluate 1 mail_me SVNUPDATE echo "### EXPORT SOURCES" $0 svn dist - evaluate 1 mail SVNDIST + evaluate 1 mail_me SVNDIST echo "### RUNNING PREFETCH" - $0 prefetch | grep -q "md5 difference" - evaluate 1 mail PREFETCH + $0 downloadsrc | grep -q "md5 difference" + evaluate 1 mail_me PREFETCH fi echo "### RUNNING BUILD" $0 build - evaluate 1 mail ERROR + evaluate 1 mail_me ERROR echo "### UPLOADING ISO" $0 upload iso - evaluate 1 mail ISO + evaluate 1 mail_me ISO echo -ne "### UPLOADING PAKS" $0 upload paks - evaluate 1 mail PAKS + evaluate 1 mail_me PAKS echo -n "${BOLD}***SUCCESS!${NORMAL}" - evaluate 0 mail SUCCESS + evaluate 0 mail_me SUCCESS exit 0 } @@ -499,7 +497,7 @@ watch_screen() { screen -x ipfire } -mail() { +mail_me() { chmod 755 tools/sendEmail ATTACHMENT=/tmp/ipfire-build-logs-R$SVN_REVISION.tar.gz case "$1" in @@ -557,88 +555,98 @@ END } make_config() { - echo -e "This is for creating your configuration..." - echo -e "We will need some input:" - echo -e "" - echo -n "FTP-DOMAIN FOR THE ISO: " - read IPFIRE_FTP_URL_EXT - echo -n "PATH FOR $IPFIRE_FTP_URL_EXT: " - read IPFIRE_FTP_PATH_EXT - echo -n "USERNAME FOR $IPFIRE_FTP_URL_EXT: " - read IPFIRE_FTP_USER_EXT - echo -n "PASSWORD FOR $IPFIRE_FTP_URL_EXT: " - read -s IPFIRE_FTP_PASS_EXT - echo "" - echo "(You can leave this empty if the cache-server is the same as your iso-server.)" - echo -n "FTP-DOMAIN FOR THE CACHE: " - read IPFIRE_FTP_URL_INT - echo -n "PATH FOR $IPFIRE_FTP_URL_INT: " - read IPFIRE_FTP_PATH_INT - if [ $IPFIRE_FTP_URL_INT ]; then - echo -n "USERNAME FOR $IPFIRE_FTP_URL_INT: " - read IPFIRE_FTP_USER_INT - echo -n "PASSWORD FOR $IPFIRE_FTP_URL_INT: " - read -s IPFIRE_FTP_PASS_INT - else - IPFIRE_FTP_URL_INT=$IPFIRE_FTP_URL_EXT - IPFIRE_FTP_USER_INT=$IPFIRE_FTP_USER_EXT - IPFIRE_FTP_PASS_INT=$IPFIRE_FTP_PASS_EXT - echo "USERNAME FOR $IPFIRE_FTP_URL_INT: $IPFIRE_FTP_USER_INT" - echo "PASSWORD FOR $IPFIRE_FTP_URL_INT: !HIDDEN!" + clear + echo -e "${BOLD}***This will create your configuration...${NORMAL}" + echo -ne "***If your are ready press !" + read + clear + echo -ne "***The buildscript will create a full iso image.\n" + echo -ne "***If you want to skip any package please enter its name here seperated with space.\n" + echo -ne "Actually in the list are: $SKIP_PACKAGE_LIST\n" + echo -ne "Do you want to change this? (y/N) " + read YESNO + if [ "$YESNO" == "y" ]; then + echo -ne "Please type: " + read SKIP_PACKAGE_LIST + echo -ne "You entered: $SKIP_PACKAGE_LIST\n" fi - echo "" - echo "(You can leave this empty if the pak-server is the same as your iso-server.)" - echo -n "FTP-DOMAIN FOR THE PAKS: " - read IPFIRE_FTP_URL_PAK - echo -n "PATH FOR $IPFIRE_FTP_URL_PAK: " - read IPFIRE_FTP_PATH_PAK - if [ $IPFIRE_FTP_URL_PAK ]; then - echo -n "USERNAME FOR $IPFIRE_FTP_URL_PAK: " - read IPFIRE_FTP_USER_PAK - echo -n "PASSWORD FOR $IPFIRE_FTP_URL_PAK: " - read -s IPFIRE_FTP_PASS_PAK - else - IPFIRE_FTP_URL_PAK=$IPFIRE_FTP_URL_EXT - IPFIRE_FTP_USER_PAK=$IPFIRE_FTP_USER_EXT - IPFIRE_FTP_PASS_PAK=$IPFIRE_FTP_PASS_EXT - echo "USERNAME FOR $IPFIRE_FTP_URL_PAK: $IPFIRE_FTP_USER_PAK" - echo "PASSWORD FOR $IPFIRE_FTP_URL_PAK: !HIDDEN!" + + clear + echo -ne "***When you have compiled successfully, there is the possibility\n" + echo -ne "***to upload the iso image to a ftp server.\n" + echo -ne "***If the url is empty there will be no upload.\n" + echo -ne "Actually there is: $FTP_ISO_URL\n" + echo -ne "Do you want to change this? (y/N) " + read YESNO + if [ "$YESNO" == "y" ]; then + echo -ne "Please type the url: " + read FTP_ISO_URL + echo -ne "Please type the path: " + read FTP_ISO_PATH + echo -ne "Please type the username: " + read FTP_ISO_USER + echo -ne "Please type the password (hidden): " + read -s FTP_ISO_PASS + + fi + + clear + echo -ne "***When you add some new software you can easyly\n" + echo -ne "***upload the source code to our repository server.\n" + echo -ne "***If the url is empty there will be no upload.\n" + echo -ne "Actually there is: $FTP_CACHE_URL\n" + echo -ne "Do you want to change this? (y/N) " + read YESNO + if [ "$YESNO" == "y" ]; then + echo -ne "Please type the url: " + read FTP_CACHE_URL + echo -ne "Please type the path: " + read FTP_CACHE_PATH + echo -ne "Please type the username: " + read FTP_CACHE_USER + echo -ne "Please type the password (hidden): " + read -s FTP_CACHE_PASS + + fi + + clear + echo -ne "***If there are some important messages you\n" + echo -ne "***can get a notification mail.\n" + echo -ne "***Please type one ore more email adresses (seperated by comma).\n" + echo -ne "Actually there is: $MAIL_TO\n" + echo -ne "Do you want to change this? (y/N) " + read YESNO + if [ "$YESNO" == "y" ]; then + echo -ne "Please type: " + read MAIL_TO + echo -ne "You should enter a mail server to login...\n" + echo -ne "Please type the url: " + read MAIL_SERVER + echo -ne "Please type the username: " + read MAIL_USER + echo -ne "Please type the password (hidden): " + read -s MAIL_PASS + fi - echo "" - echo -e "ONE OR MORE EMAIL ADDRESS(ES) TO WHICH THE REPORTS WILL BE SENT" - echo -e "(seperated by comma)" - read IPFIRE_MAIL_REPORT - echo -n "EMAIL FROM: " - read IPFIRE_MAIL_FROM - echo -n "EMAIL SERVER: " - read IPFIRE_MAIL_SERVER - echo -n "LOGIN TO MAIL SERVER: " - read IPFIRE_MAIL_USER - echo -n "MAIL PASSWORD: " - read -s IPFIRE_MAIL_PASS - echo -n "Saving..." - cat < .config -### ISO server -IPFIRE_FTP_URL_EXT=$IPFIRE_FTP_URL_EXT -IPFIRE_FTP_PATH_EXT=$IPFIRE_FTP_PATH_EXT -IPFIRE_FTP_USER_EXT=$IPFIRE_FTP_USER_EXT -IPFIRE_FTP_PASS_EXT=$IPFIRE_FTP_PASS_EXT + echo -ne "${BOLD}***Saving...${NORMAL}" + cat < $BASEDIR/.config +### iso server +FTP_ISO_URL=$FTP_ISO_URL +FTP_ISO_PATH=$FTP_ISO_PATH +FTP_ISO_USER=$FTP_ISO_USER +FTP_ISO_PASS=$FTP_ISO_PASS ### cache server -IPFIRE_FTP_URL_INT=$IPFIRE_FTP_URL_INT -IPFIRE_FTP_PATH_INT=$IPFIRE_FTP_PATH_INT -IPFIRE_FTP_USER_INT=$IPFIRE_FTP_USER_INT -IPFIRE_FTP_PASS_INT=$IPFIRE_FTP_PASS_INT -### paks server -IPFIRE_FTP_URL_PAK=$IPFIRE_FTP_URL_PAK -IPFIRE_FTP_PATH_PAK=$IPFIRE_FTP_PATH_PAK -IPFIRE_FTP_USER_PAK=$IPFIRE_FTP_USER_PAK -IPFIRE_FTP_PASS_PAK=$IPFIRE_FTP_PASS_PAK +FTP_CACHE_URL=$FTP_CACHE_URL +FTP_CACHE_PATH=$FTP_CACHE_PATH +FTP_CACHE_USER=$FTP_CACHE_USER +FTP_CACHE_PASS=$FTP_CACHE_PASS ### mail reports -IPFIRE_MAIL_REPORT=$IPFIRE_MAIL_REPORT -IPFIRE_MAIL_FROM=$IPFIRE_MAIL_FROM -IPFIRE_MAIL_SERVER=$IPFIRE_MAIL_SERVER -IPFIRE_MAIL_USER=$IPFIRE_MAIL_USER -IPFIRE_MAIL_PASS=$IPFIRE_MAIL_PASS +MAIL_TO="$MAIL_TO" +MAIL_SERVER=$MAIL_SERVER +MAIL_USER=$MAIL_USER +MAIL_PASS=$MAIL_PASS +### misc +SKIP_PACKAGE_LIST="$SKIP_PACKAGE_LIST" END beautify message DONE } @@ -646,13 +654,13 @@ END compile_tftpd() { mkdir $BASEDIR/tmp tar xvfz $BASEDIR/cache/tftp-hpa-0.42.tar.gz -C $BASEDIR/tmp - cd $BASEDIR/tmp/tftp-hpa-0.42 + cd $BASEDIR/tmp/tftp-hpa-* ./configure --prefix=/ipfire/trunk/tools/ \ --sbindir=/ipfire/trunk/tools/ --disable-nls make install -c tftpd/tftpd $BASEDIR/tools/in.tftpd cd - - rm -rf $BASEDIR/tmp/tftp-hpa-0.42 + rm -rf $BASEDIR/tmp/tftp-hpa-* } start_tftpd() { -- 2.39.2