# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
-# Copyright (C) 2007-2019 IPFire Team <info@ipfire.org>. #
+# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org>. #
# #
############################################################################
#
NAME="IPFire" # Software name
SNAME="ipfire" # Short name
# If you update the version don't forget to update backupiso and add it to core update
-VERSION="2.23" # Version number
-CORE="140" # Core Level (Filename)
-PAKFIRE_CORE="139" # Core Level (PAKFIRE)
-GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # Git Branch
+VERSION="2.25" # Version number
+CORE="146" # Core Level (Filename)
SLOGAN="www.ipfire.org" # Software slogan
CONFIG_ROOT=/var/ipfire # Configuration rootdir
NICE=10 # Nice level
MAX_RETRIES=1 # prefetch/check loop
BUILD_IMAGES=1 # Flash and Xen Downloader
KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'`
-GIT_TAG=$(git tag | tail -1) # Git Tag
-GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
-TOOLCHAINVER=20190814
+# Information from Git
+GIT_BRANCH="$(git rev-parse --abbrev-ref HEAD)" # Git Branch
+GIT_TAG="$(git tag | tail -1)" # Git Tag
+GIT_LASTCOMMIT="$(git rev-parse --verify HEAD)" # Last commit
+
+TOOLCHAINVER=20200324
###############################################################################
#
umount $BASEDIR/build/usr/src/log 2>/dev/null;
umount $BASEDIR/build/usr/src/src 2>/dev/null;
umount $BASEDIR/build/usr/src 2>/dev/null;
+ umount $BASEDIR/build/tmp 2>/dev/null;
}
now() {
if [ "${ENABLE_RAMDISK}" = "on" ]; then
mkdir -p $BASEDIR/build/usr/src
mount -t tmpfs tmpfs -o size=4G,nr_inodes=1M,mode=1777 $BASEDIR/build/usr/src
+
+ mkdir -p ${BASEDIR}/build/tmp
+ mount -t tmpfs tmpfs -o size=4G,nr_inodes=1M,mode=1777 ${BASEDIR}/build/tmp
fi
mkdir -p $BASEDIR/build/usr/src/{cache,config,doc,html,langs,lfs,log,src,ccache}
# Run LFS static binary creation scripts one by one
export CCACHE_DIR=$BASEDIR/ccache
+ export CCACHE_TEMPDIR="/tmp"
export CCACHE_COMPRESS=1
export CCACHE_COMPILERCHECK="string:toolchain-${TOOLCHAINVER} ${BUILD_ARCH}"
rm -f $BASEDIR/build/usr/src/lsalr 2>/dev/null
# Prepare string for /etc/system-release.
- SYSTEM_RELEASE="${NAME} ${VERSION} (${BUILD_ARCH})"
- if [ "$(git status -s | wc -l)" == "0" ]; then
- GIT_STATUS=""
- else
- GIT_STATUS="-dirty"
+ local system_release="${NAME} ${VERSION} (${BUILD_ARCH})"
+
+ case "${GIT_BRANCH}" in
+ core*|beta?|rc?)
+ system_release="${system_release} - ${GIT_BRANCH}"
+ ;;
+ *)
+ system_release="${system_release} - core${CORE} Development Build: ${GIT_BRANCH}/${GIT_LASTCOMMIT:0:8}"
+ ;;
+ esac
+
+ # Append -dirty tag for local changes
+ if [ "$(git status -s | wc -l)" != "0" ]; then
+ system_release="${system_release}-dirty"
fi
- case "$GIT_BRANCH" in
- core*|beta?|rc?)
- SYSTEM_RELEASE="${SYSTEM_RELEASE} - $GIT_BRANCH$GIT_STATUS"
- ;;
- *)
- SYSTEM_RELEASE="${SYSTEM_RELEASE} - Development Build: $GIT_BRANCH/$GIT_LASTCOMMIT$GIT_STATUS"
- ;;
+
+ # Export variable
+ SYSTEM_RELEASE="${system_release}"
+
+ # Decide on PAKFIRE_TREE
+ case "${GIT_BRANCH}" in
+ core*)
+ PAKFIRE_TREE="stable"
+ ;;
+ master)
+ PAKFIRE_TREE="testing"
+ ;;
+ *)
+ PAKFIRE_TREE="unstable"
+ ;;
esac
# Setup ccache cache size
PS1="${PS1}" \
PATH="${PATH}" \
SYSTEM_RELEASE="${SYSTEM_RELEASE}" \
- PAKFIRE_CORE="${PAKFIRE_CORE}" \
+ PAKFIRE_TREE="${PAKFIRE_TREE}" \
NAME="${NAME}" \
SNAME="${SNAME}" \
VERSION="${VERSION}" \
BUILD_ARCH="${BUILD_ARCH}" \
BUILD_PLATFORM="${BUILD_PLATFORM}" \
CCACHE_DIR=/usr/src/ccache \
+ CCACHE_TEMPDIR="${CCACHE_TEMPDIR}" \
CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
+ GOCACHE="/usr/src/ccache/go" \
KVER="${KVER}" \
XZ_OPT="${XZ_OPT}" \
DEFAULT_PARALLELISM="${DEFAULT_PARALLELISM}" \
cd $BASEDIR/lfs && env -i \
PATH="${TOOLS_DIR}/ccache/bin:${TOOLS_DIR}/bin:$PATH" \
CCACHE_DIR="${CCACHE_DIR}" \
+ CCACHE_TEMPDIR="${CCACHE_TEMPDIR}" \
CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
CFLAGS="${CFLAGS}" \
local contributors="$(contributors | paste -sd , - | sed -e "s/,/&\\\\n/g")"
# Edit contributors into credits.cgi
- awk -i inplace \
- "/<!-- CONTRIBUTORS -->/{ p=1; print; printf \"${contributors}\n\"}/<!-- END -->/{ p=0 } !p" \
- "${BASEDIR}/html/cgi-bin/credits.cgi"
+ local tmp="$(mktemp)"
+
+ awk "/<!-- CONTRIBUTORS -->/{ p=1; print; printf \"${contributors}\n\"}/<!-- END -->/{ p=0 } !p" \
+ < "${BASEDIR}/html/cgi-bin/credits.cgi" > "${tmp}"
+
+ # Copy back modified content
+ cat "${tmp}" > "${BASEDIR}/html/cgi-bin/credits.cgi"
+ unlink "${tmp}"
print_status DONE
return 0
lfsmake2 autoconf
lfsmake2 automake
lfsmake2 berkeley
+ lfsmake2 berkeley-compat
lfsmake2 coreutils
lfsmake2 iana-etc
lfsmake2 m4
lfsmake2 flex
lfsmake2 gawk
lfsmake2 gettext
+ lfsmake2 go
lfsmake2 grep
lfsmake2 groff
lfsmake2 gperf
lfsmake2 pkg-config
lfsmake2 make
lfsmake2 man
- lfsmake2 kmod
lfsmake2 net-tools
lfsmake2 patch
lfsmake2 psmisc
lfsmake2 tar
lfsmake2 texinfo
lfsmake2 util-linux
- lfsmake2 udev
lfsmake2 vim
}
lfsmake2 backup
lfsmake2 openssl
[ "${BUILD_ARCH}" = "i586" ] && lfsmake2 openssl KCFG='-sse2'
+ lfsmake2 kmod
+ lfsmake2 udev
lfsmake2 popt
lfsmake2 libedit
lfsmake2 libusb
lfsmake2 linux-initrd KCFG=""
;;
i586)
- # x86-pae (Native and new XEN) kernel build
- lfsmake2 linux KCFG="-pae"
-# lfsmake2 backports KCFG="-pae"
-# lfsmake2 e1000e KCFG="-pae"
-# lfsmake2 igb KCFG="-pae"
-# lfsmake2 ixgbe KCFG="-pae"
- lfsmake2 xtables-addons KCFG="-pae"
- lfsmake2 linux-initrd KCFG="-pae"
-
# x86 kernel build
lfsmake2 linux KCFG=""
# lfsmake2 backports KCFG=""
;;
armv5tel)
- # arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
- lfsmake2 linux KCFG="-kirkwood"
-# lfsmake2 backports KCFG="-kirkwood"
-# lfsmake2 e1000e KCFG="-kirkwood"
-# lfsmake2 igb KCFG="-kirkwood"
-# lfsmake2 ixgbe KCFG="-kirkwood"
- lfsmake2 xtables-addons KCFG="-kirkwood"
- lfsmake2 linux-initrd KCFG="-kirkwood"
-
# arm multi platform (Panda, Wandboard ...) kernel build
lfsmake2 linux KCFG="-multi"
# lfsmake2 backports KCFG="-multi"
lfsmake2 libnl-3
lfsmake2 libidn
lfsmake2 nasm
+ lfsmake2 libarchive
+ lfsmake2 cmake
lfsmake2 libjpeg
lfsmake2 libjpeg-compat
lfsmake2 libexif
lfsmake2 bootstrap
lfsmake2 arping
lfsmake2 beep
- lfsmake2 libarchive
- lfsmake2 cmake
lfsmake2 libssh
lfsmake2 cdrkit
lfsmake2 dosfstools
lfsmake2 fuse
lfsmake2 ntfs-3g
lfsmake2 ethtool
- lfsmake2 ez-ipupdate
lfsmake2 fcron
lfsmake2 perl-GD
lfsmake2 GD-Graph
lfsmake2 python-ipaddress
lfsmake2 glib
lfsmake2 GeoIP
+ lfsmake2 geoip-database
lfsmake2 ntp
lfsmake2 openssh
lfsmake2 fontconfig
lfsmake2 cairo
lfsmake2 pango
lfsmake2 rrdtool
- lfsmake2 setserial
lfsmake2 setup
lfsmake2 libdnet
lfsmake2 rust
lfsmake2 cifs-utils
lfsmake2 krb5
lfsmake2 samba
+ lfsmake2 netatalk
lfsmake2 sudo
lfsmake2 mc
lfsmake2 wget
lfsmake2 chkconfig
lfsmake2 postfix
lfsmake2 fetchmail
- lfsmake2 cyrus-imapd
lfsmake2 clamav
lfsmake2 perl-NetAddr-IP
lfsmake2 spamassassin
lfsmake2 icinga
lfsmake2 observium-agent
lfsmake2 ebtables
- lfsmake2 directfb
lfsmake2 faad2
lfsmake2 alac
lfsmake2 ffmpeg
lfsmake2 vdr_dvbapi
lfsmake2 vdr_eepg
lfsmake2 w_scan
- lfsmake2 icecast
- lfsmake2 icegenerator
lfsmake2 mpd
lfsmake2 libmpdclient
lfsmake2 mpc
lfsmake2 syslinux
lfsmake2 tftpd
lfsmake2 cpufrequtils
- lfsmake2 bluetooth
lfsmake2 gutenprint
lfsmake2 apcupsd
lfsmake2 iperf
lfsmake2 iperf3
lfsmake2 7zip
lfsmake2 lynis
- lfsmake2 streamripper
lfsmake2 sshfs
lfsmake2 taglib
lfsmake2 sslh
lfsmake2 perl-DBD-SQLite
lfsmake2 perl-File-ReadBackwards
lfsmake2 openvmtools
+ lfsmake2 libmicrohttpd
lfsmake2 motion
lfsmake2 joe
lfsmake2 monit
lfsmake2 parted
lfsmake2 swig
lfsmake2 u-boot
- lfsmake2 u-boot-kirkwood
lfsmake2 u-boot-friendlyarm
lfsmake2 python-typing
lfsmake2 python-m2crypto
lfsmake2 stress
lfsmake2 libstatgrab
lfsmake2 sarg
- lfsmake2 check_mk_agent
lfsmake2 nginx
lfsmake2 sendEmail
lfsmake2 sysbench
lfsmake2 ltrace
lfsmake2 ipfire-netboot
lfsmake2 lcdproc
- lfsmake2 bitstream
- lfsmake2 multicat
lfsmake2 keepalived
lfsmake2 ipvsadm
lfsmake2 perl-Carp-Clan
lfsmake2 perl-TimeDate
lfsmake2 swatch
lfsmake2 tor
- lfsmake2 arm
lfsmake2 wavemon
lfsmake2 iptraf-ng
lfsmake2 iotop
lfsmake2 stunnel
lfsmake2 bacula
- lfsmake2 batctl
lfsmake2 perl-Font-TTF
lfsmake2 perl-IO-String
lfsmake2 perl-PDF-API2
lfsmake2 pigz
lfsmake2 tmux
lfsmake2 perl-Text-CSV_XS
+ lfsmake2 lua
lfsmake2 haproxy
lfsmake2 ipset
- lfsmake2 lua
lfsmake2 dnsdist
lfsmake2 bird
lfsmake2 frr
lfsmake2 dmidecode
lfsmake2 mcelog
- lfsmake2 rtpproxy
lfsmake2 util-macros
lfsmake2 libpciaccess
lfsmake2 libyajl
lfsmake2 geoip-generator
lfsmake2 speedtest-cli
lfsmake2 rfkill
+ lfsmake2 amazon-ssm-agent
}
buildinstaller() {
ipfirepackages
- lfsmake2 xen-image
- mv $LFS/install/images/*.bz2 $BASEDIR >> $LOGFILE 2>&1
-
cd $BASEDIR
# remove not useable iso on armv5tel (needed to build flash images)
[ "${BUILD_ARCH}" = "armv5tel" ] && rm -rf *.iso
- for i in `ls *.bz2 *.img.xz *.iso`; do
+ for i in $(ls *.bz2 *.img.xz *.iso 2>/dev/null); do
md5sum $i > $i.md5
done
cd $PWD
update-contributors)
update_contributors
;;
+find-dependencies)
+ shift
+ exec "${BASEDIR}/tools/find-dependencies" "${BASEDIR}/build" "$@"
+ ;;
*)
- echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain|update-contributors}"
+ echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain|update-contributors|find-dependencies}"
cat doc/make.sh-usage
;;
esac