Installer-Toolchain nochmals ueberarbeitet.

Kompiliert wenigstens schonmal durch...


git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@373 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
ms
2007-01-01 10:49:07 +00:00
parent 5e204d581b
commit a50d04ab1c
11 changed files with 246 additions and 216 deletions

View File

@@ -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

View File

@@ -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 <name> : Create a new package with name: <name>.
pxe : <start|stop|reload>
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|diff|commit|dist>
update <rev> : Loads the latest source files from svn or if <rev> 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 <rev> : Tar the source code from revision.

View File

@@ -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

View File

@@ -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

View File

@@ -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

88
lfs/gcc
View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

64
make.sh
View File

@@ -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

View File

@@ -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 <ENTER>!"
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
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 <<END > .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
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 -ne "${BOLD}***Saving...${NORMAL}"
cat <<END > $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() {