From 846e756e16f9f08e0d797473e40d836d747923f1 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 18 Sep 2011 02:15:28 +0200 Subject: [PATCH] Add possibility to disable packages for some arches. --- lfs/as86 | 1 + lfs/asterisk | 1 + lfs/cpufrequtils | 1 + lfs/e1000 | 1 + lfs/e1000e | 1 + lfs/grub | 1 + lfs/igb | 1 + lfs/kqemu | 1 + lfs/kvm-kmod | 1 + lfs/lcr | 1 + lfs/mISDN | 1 + lfs/madwifi | 1 + lfs/mbr | 1 + lfs/memtest | 1 + lfs/openvmtools | 1 + lfs/qemu | 1 + lfs/qemu-kqemu | 1 + lfs/syslinux | 1 + lfs/vdr | 1 + make.sh | 58 ++++++++++++++++++-------------------------- tools/make-functions | 11 ++++++++- 21 files changed, 52 insertions(+), 36 deletions(-) diff --git a/lfs/as86 b/lfs/as86 index 0704a1a3f..0acc34027 100644 --- a/lfs/as86 +++ b/lfs/as86 @@ -31,6 +31,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 ############################################################################### # Top-level Rules diff --git a/lfs/asterisk b/lfs/asterisk index 6b8d44903..e1a39773f 100644 --- a/lfs/asterisk +++ b/lfs/asterisk @@ -31,6 +31,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 PROG = asterisk PAK_VER = 5 diff --git a/lfs/cpufrequtils b/lfs/cpufrequtils index eb3685761..e93a65d47 100644 --- a/lfs/cpufrequtils +++ b/lfs/cpufrequtils @@ -31,6 +31,7 @@ DL_FILE = $(THISAPP).tar.bz2 DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 PROG = cpufrequtils PAK_VER = 5 diff --git a/lfs/e1000 b/lfs/e1000 index 66e4fdd6e..93a01a2b5 100644 --- a/lfs/e1000 +++ b/lfs/e1000 @@ -41,6 +41,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX) +SUP_ARCH = i586 ############################################################################### # Top-level Rules diff --git a/lfs/e1000e b/lfs/e1000e index ba465952b..274676131 100644 --- a/lfs/e1000e +++ b/lfs/e1000e @@ -41,6 +41,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX) +SUP_ARCH = i586 ############################################################################### # Top-level Rules diff --git a/lfs/grub b/lfs/grub index 6e5b6bf7b..ad6e304aa 100644 --- a/lfs/grub +++ b/lfs/grub @@ -31,6 +31,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 CFLAGS = CXXFLAGS = diff --git a/lfs/igb b/lfs/igb index 678c70367..90d3d616e 100644 --- a/lfs/igb +++ b/lfs/igb @@ -41,6 +41,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX) +SUP_ARCH = i586 ############################################################################### # Top-level Rules diff --git a/lfs/kqemu b/lfs/kqemu index d07d9f1cc..ebb148fa3 100644 --- a/lfs/kqemu +++ b/lfs/kqemu @@ -41,6 +41,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX) +SUP_ARCH = i586 ############################################################################### # Top-level Rules diff --git a/lfs/kvm-kmod b/lfs/kvm-kmod index b6418acb1..94d9e8449 100644 --- a/lfs/kvm-kmod +++ b/lfs/kvm-kmod @@ -41,6 +41,7 @@ DL_FILE = $(THISAPP).tar.bz2 DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX) +SUP_ARCH = i586 ############################################################################### # Top-level Rules diff --git a/lfs/lcr b/lfs/lcr index b743fddd9..8b4e04b74 100644 --- a/lfs/lcr +++ b/lfs/lcr @@ -31,6 +31,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 PROG = lcr PAK_VER = 3 diff --git a/lfs/mISDN b/lfs/mISDN index 8eec20781..7ea0c67a1 100644 --- a/lfs/mISDN +++ b/lfs/mISDN @@ -41,6 +41,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX) +SUP_ARCH = i586 ############################################################################### # Top-level Rules diff --git a/lfs/madwifi b/lfs/madwifi index 90f1a1c67..fb44be98b 100644 --- a/lfs/madwifi +++ b/lfs/madwifi @@ -42,6 +42,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX) +SUP_ARCH = i586 ############################################################################### # Top-level Rules diff --git a/lfs/mbr b/lfs/mbr index 32db20384..077efa7b7 100644 --- a/lfs/mbr +++ b/lfs/mbr @@ -31,6 +31,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 ############################################################################### # Top-level Rules diff --git a/lfs/memtest b/lfs/memtest index a6179ed36..4914baed5 100644 --- a/lfs/memtest +++ b/lfs/memtest @@ -31,6 +31,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 ############################################################################### # Top-level Rules diff --git a/lfs/openvmtools b/lfs/openvmtools index a34e031b4..d8a7c482b 100644 --- a/lfs/openvmtools +++ b/lfs/openvmtools @@ -31,6 +31,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 PROG = openvmtools PAK_VER = 1 DEPS = "glib" diff --git a/lfs/qemu b/lfs/qemu index 03c20d554..049efff3e 100644 --- a/lfs/qemu +++ b/lfs/qemu @@ -31,6 +31,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 PROG = qemu PAK_VER = 11 diff --git a/lfs/qemu-kqemu b/lfs/qemu-kqemu index 38dc6a7da..c2b6b3369 100644 --- a/lfs/qemu-kqemu +++ b/lfs/qemu-kqemu @@ -31,6 +31,7 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)-kqemu +SUP_ARCH = i586 PROG = qemu-kqemu PAK_VER = 3 diff --git a/lfs/syslinux b/lfs/syslinux index bf682289b..ba739ea75 100644 --- a/lfs/syslinux +++ b/lfs/syslinux @@ -31,6 +31,7 @@ DL_FILE = $(THISAPP).tar.bz2 DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 ############################################################################### # Top-level Rules diff --git a/lfs/vdr b/lfs/vdr index 28e34cc0e..e98d845f4 100644 --- a/lfs/vdr +++ b/lfs/vdr @@ -35,6 +35,7 @@ DL_FILE4 = vdr-epgsearch-0.9.24.tgz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 PROG = vdr PAK_VER = 5 diff --git a/make.sh b/make.sh index 3d1381313..c121249c6 100755 --- a/make.sh +++ b/make.sh @@ -352,11 +352,7 @@ buildbase() { lfsmake2 udev lfsmake2 util-linux lfsmake2 vim - - # ARM cannot use grub. - if [ "${MACHINE_TYPE}" != "arm" ]; then - lfsmake2 grub - fi + lfsmake2 grub } buildipfire() { @@ -413,27 +409,24 @@ buildipfire() { # Default kernel build ipfiremake linux ipfiremake v4l-dvb - - if [ "${MACHINE_TYPE}" != "arm" ]; then - # Virtualization helpers are only available for x86. - ipfiremake kqemu - ipfiremake kvm-kmod - #unsupported arch (armv5) - ipfiremake madwifi + ipfiremake kqemu + ipfiremake kvm-kmod + ipfiremake madwifi + if [ "${MACHINE_TYPE}" = "arm" ]; then #todo enable alsa driver in kernel config ipfiremake alsa KMOD=1 - #undefined declaration in echo canceler try to fix later - ipfiremake mISDN fi + #undefined declaration in echo canceler try to fix later + ipfiremake mISDN ipfiremake dahdi KMOD=1 ipfiremake cryptodev ipfiremake compat-wireless # ipfiremake r8169 # ipfiremake r8168 # ipfiremake r8101 - #ipfiremake e1000 - #ipfiremake e1000e - #ipfiremake igb + ipfiremake e1000 + ipfiremake e1000e + ipfiremake igb ipfiremake pkg-config ipfiremake linux-atm ipfiremake cpio @@ -634,8 +627,8 @@ buildipfire() { ipfiremake igmpproxy ipfiremake fbset ipfiremake sdl - #ipfiremake qemu - #ipfiremake qemu-kqemu + ipfiremake qemu + ipfiremake qemu-kqemu ipfiremake sane ipfiremake netpbm ipfiremake phpSANE @@ -650,7 +643,7 @@ buildipfire() { ipfiremake faad2 ipfiremake ffmpeg ipfiremake videolan - #ipfiremake vdr + ipfiremake vdr ipfiremake w_scan ipfiremake icecast ipfiremake icegenerator @@ -666,11 +659,9 @@ buildipfire() { ipfiremake wpa_supplicant ipfiremake hostapd ipfiremake urlgrabber - if [ "${MACHINE_TYPE}" != "arm" ]; then - ipfiremake syslinux - fi + ipfiremake syslinux ipfiremake tftpd - #ipfiremake cpufrequtils + ipfiremake cpufrequtils ipfiremake dbus ipfiremake bluetooth ipfiremake gutenprint @@ -693,9 +684,7 @@ buildipfire() { ipfiremake perl-DBD-mysql ipfiremake cacti ipfiremake icecc - if [ "${MACHINE_TYPE}" != "arm" ]; then - ipfiremake openvmtools - fi + ipfiremake openvmtools ipfiremake nagiosql ipfiremake iftop ipfiremake motion @@ -704,8 +693,8 @@ buildipfire() { ipfiremake watchdog ipfiremake libpri ipfiremake dahdi - #ipfiremake asterisk - #ipfiremake lcr + ipfiremake asterisk + ipfiremake lcr ipfiremake usb_modeswitch ipfiremake usb_modeswitch_data ipfiremake zerofree @@ -751,11 +740,9 @@ buildinstaller() { # Run installer scripts one by one LOGFILE="$BASEDIR/log/_build.installer.log" export LOGFILE - if [ "${MACHINE_TYPE}" != "arm" ]; then - ipfiremake as86 - ipfiremake mbr - ipfiremake memtest - fi + ipfiremake as86 + ipfiremake mbr + ipfiremake memtest ipfiremake installer cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/ installmake strip @@ -948,7 +935,8 @@ downloadsrc) cd $BASEDIR/lfs for i in *; do if [ -f "$i" -a "$i" != "Config" ]; then - echo -ne "Loading $i" + lfsmakecommoncheck ${i} || continue + make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \ MESSAGE="$i\t ($c/$MAX_RETRIES)" download >> $LOGFILE 2>&1 if [ $? -ne 0 ]; then diff --git a/tools/make-functions b/tools/make-functions index e556994f1..e6333a383 100644 --- a/tools/make-functions +++ b/tools/make-functions @@ -185,7 +185,6 @@ beautify() echo -ne "${SET_RESULT_COL}[${FAIL} FAIL ${NORMAL}]\n" ;; SKIP) - echo -ne "${SET_TIME_COL}[ ${BOLD}${SET_TIME_COL_REAL}$PKG_TIME${NORMAL} ]" echo -ne "${SET_RESULT_COL}[${SKIP} SKIP ${NORMAL}]\n" ;; esac @@ -318,6 +317,16 @@ lfsmakecommoncheck() local PKG_VER=`get_pkg_ver $BASEDIR/lfs/$1` beautify make_pkg "$PKG_VER $*" + # Check if this package is supported by our architecture. + # If no SUP_ARCH is found, we assume the package can be built for all. + if grep "^SUP_ARCH" ${BASEDIR}/lfs/${1} >/dev/null; then + # Check if package supports ${MACHINE} or all architectures. + if ! grep -E "^SUP_ARCH.*${MACHINE}|^SUP_ARCH.*all" ${BASEDIR}/lfs/${1} >/dev/null; then + beautify result SKIP + return 1 + fi + fi + # Script slipped? local i for i in $SKIP_PACKAGE_LIST -- 2.39.2