DIR_SOURCE = $(CURDIR)
DIR_PACKAGES = /usr/src/packages
DIR_TOOLS = $(BASEDIR)/tools
+DIR_LOGS = $(BASEDIR)/logs
BUILD_HOST ?= $(shell cat /proc/sys/kernel/hostname)
-export DIR_DL DIR_PATCHES DIR_TMP
VPATH = $(DIR_DL):$(DIR_PATCHES)
PKG_OBJECTS = $(PKG_TARBALL)
DO_PACKAGE_FILENAME = $(subst --,-,$(PKG_NAME_REAL)-$(subst default,,$(1))-$(PKG_VER)-$(DISTRO_SNAME)$(DISTRO_EPOCH)-$(PKG_REL).ipk)
-TC_PACKAGES = binutils gcc glibc make
+TC_PACKAGES = binutils gcc glibc make libtool
PKG_TOOLCHAIN_DEPS ?= $(TC_PACKAGES)
PKG_BUILD_DEPS ?= $(TC_PACKAGES)
DO_EXTRACT = $(DIR_TOOLS)/extractor
-DO_LOAD = $(DIR_TOOLS)/downloader http://source.ipfire.org/source-3.x/$@
DO_PATCHES = cd $(DIR_APP) && $(DIR_TOOLS)/patch $(foreach patch,$(PKG_PATCHES),$(DIR_PATCHES)/$(patch))
DO_QUALITY_AGENT = $(DIR_TOOLS)/quality-agent
export PKG_DEPS PKG_BUILD_DEPS
export CONTROL_PREIN CONTROL_PREUN CONTROL_POSTIN CONTROL_POSTUN
+
+define DO_PREPARE
+ @echo "#####################################################################"
+ @echo "# $(PKG_NAME) - Preparation started"
+ @echo "#####################################################################"
+
+ $(STAGE_PREPARE)
+
+ @echo "#####################################################################"
+ @echo "# $(PKG_NAME) - Preparation finished"
+ @echo "#####################################################################"
+endef
+
+define DO_BUILD
+ @echo "#####################################################################"
+ @echo "# $(PKG_NAME) - Build started"
+ @echo "#####################################################################"
+
+ $(STAGE_BUILD)
+
+ @echo "#####################################################################"
+ @echo "# $(PKG_NAME) - Build finished"
+ @echo "#####################################################################"
+endef
+
+define DO_INSTALL
+ @echo "#####################################################################"
+ @echo "# $(PKG_NAME) - Install started"
+ @echo "#####################################################################"
+
+ $(STAGE_INSTALL)
+
+ @echo "#####################################################################"
+ @echo "# $(PKG_NAME) - Install finished"
+ @echo "#####################################################################"
+
+ $(DO_QUALITY_AGENT)
+
+ @echo "# Filelist dump"
+ @cd $(BUILDROOT) && find -ls
+endef
+
+define STAGE_PREPARE
+ $(if $(PKG_TARBALL),cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL))
+
+ $(if $(PKG_PATCHES),$(DO_PATCHES))
+
+ $(STAGE_PREPARE_CMDS)
+endef
+
+define STAGE_BUILD
+ cd $(DIR_APP) && \
+ ./configure \
+ $(CONFIGURE_ARCH) \
+ --prefix=/usr
+
+ cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
+
+define STAGE_INSTALL
+ cd $(DIR_APP) && make install $(if $(TOOLCHAIN),,DESTDIR=$(BUILDROOT))
+endef
include $(dir $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))/gmsl
STAGE_PACKAGE_TARGETS = $(call reverse,$(PKG_PACKAGES))
-
-STAGE_PREPARE = $(ROOT)/.prepared
-STAGE_BUILD = $(ROOT)/.built
-STAGE_INSTALL = $(ROOT)/.installed
-STAGE_PACKAGE = $(STAGE_PACKAGE_TARGETS)
-
-define PRE_PREPARE
- echo "#####################################################################"
- echo "# $(PKG_NAME) - Preparation started"
- echo "#####################################################################"
-endef
-
-define POST_PREPARE
- echo "#####################################################################"
- echo "# $(PKG_NAME) - Preparation finished"
- echo "#####################################################################"
- touch $(STAGE_PREPARE)
-endef
-
-define PRE_BUILD
- echo "#####################################################################"
- echo "# $(PKG_NAME) - Build started"
- echo "#####################################################################"
-endef
-
-define POST_BUILD
- echo "#####################################################################"
- echo "# $(PKG_NAME) - Build finished"
- echo "#####################################################################"
- touch $(STAGE_BUILD)
-endef
-
-define PRE_INSTALL
- echo "#####################################################################"
- echo "# $(PKG_NAME) - Install started"
- echo "#####################################################################"
-endef
-
-define POST_INSTALL
- echo "#####################################################################"
- echo "# $(PKG_NAME) - Install finished"
- echo "#####################################################################"
-
- $(DO_QUALITY_AGENT)
-
- # Dump filelist
- cd $(BUILDROOT) && find -ls
-
- touch $(STAGE_INSTALL)
-endef
-
-.PHONY: prepare build install package
-prepare: $(STAGE_PREPARE)
-build : $(STAGE_BUILD)
-install: $(STAGE_INSTALL)
-package: $(STAGE_PACKAGE)
-
-download: $(OBJECTS)
+STAGE_DONE = $(ROOT)/.done
info:
@echo "PKG_BUILD_DEPENDENCIES=\"$(PKG_BUILD_DEPS)\""
@echo "PKG_DEPENDENCIES=\"$(PKG_DEPS)\""
- @echo "PKG_DESCRIPTION=\"$(value PKG_DESCRIPTION)\""
- @echo "PKG_FILES=\"$(objects)\""
+ @echo "PKG_DESCRIPTION=\"$(strip $(PKG_DESCRIPTION))\""
@echo "PKG_GROUP=\"$(PKG_GROUP)\""
@echo "PKG_LICENSE=\"$(PKG_LICENSE)\""
@echo "PKG_MAINTAINER=\"$(PKG_MAINTAINER)\""
@echo "PKG_NAME=\"$(PKG_NAME_REAL)\""
+ @echo "PKG_OBJECTS=\"$(strip $(PKG_OBJECTS))\""
@echo "PKG_PACKAGES=\"$(PKG_PACKAGES)\""
@echo "PKG_PACKAGES_FILES=\"$(PKG_PACKAGES_FILES)\""
@echo "PKG_VER=\"$(PKG_VER)\""
@echo "PKG_REL=\"$(PKG_REL)\""
- @echo "PKG_SUMMARY=\"$(PKG_SUMMARY)\""
+ @echo "PKG_SUMMARY=\"$(strip $(PKG_SUMMARY))\""
@echo "PKG_URL=\"$(PKG_URL)\""
ifeq "$(TOOLCHAIN)" "1"
@echo "PKG_TOOLCHAIN_DEPS=\"$(PKG_TOOLCHAIN_DEPS)\""
endif
$(OBJECTS):
- $(DO_LOAD)
+ @echo "Object file \"$@\" is required." >&2
+ @exit 1
-$(STAGE_PACKAGE_TARGETS): $(STAGE_INSTALL)
+$(STAGE_PACKAGE_TARGETS): $(STAGE_DONE)
@echo "$(strip $(PKG_FILES_$@))" > $(DIR_TMP)/filelist_$@
@/usr/src/src/pakfire/compressor $(DIR_PACKAGES)/$(call DO_PACKAGE_FILENAME,$@) \
--root=$(BUILDROOT) $(if $(PKG_FILES_$@), --regexes=$(DIR_TMP)/filelist_$@)
-$(STAGE_PREPARE): $(OBJECTS)
- @$(PRE_PREPARE)
-ifneq "$(PKG_TARBALL)" ""
- cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL)
-endif
-
- $(DO_PATCHES)
-
- @$(POST_PREPARE)
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- $(PRE_BUILD)
-
- cd $(DIR_APP) && \
- ./configure \
- $(CONFIGURE_ARCH) \
- --prefix=/usr
-
- cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- $(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
+package: $(STAGE_PACKAGE_TARGETS)
- cd $(DIR_APP) && make install $(if $(TOOLCHAIN),,DESTDIR=$(BUILDROOT))
+shell: $(OBJECTS)
+ $(if $(STAGE_PREPARE),$(DO_PREPARE))
- @$(POST_INSTALL)
+$(STAGE_DONE): $(OBJECTS)
+ $(if $(STAGE_PREPARE),$(DO_PREPARE))
+ $(if $(STAGE_BUILD),$(DO_BUILD))
+ $(if $(STAGE_INSTALL),$(DO_INSTALL))
+ @touch $@
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--disable-static
cd $(DIR_APP) && make LIBTOOL="libtool --tag=CC" #$(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
install -v -m0755 $(DIR_APP)/libacl/.libs/libacl.so.1.1.0 $(BUILDROOT)/lib
-mkdir -pv $(BUILDROOT)/usr/include/{acl,sys}
cp -vf $(DIR_APP)/include/libacl.h $(BUILDROOT)/usr/include/acl/
cp -vf $(DIR_APP)/include/acl.h $(BUILDROOT)/usr/include/sys/
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--enable-shared
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
install -v -m0755 $(DIR_APP)/libattr/.libs/libattr.so.1.1.0 $(BUILDROOT)/lib
install -v -d $(BUILDROOT)/usr/include/attr
cp -vf $(DIR_APP)/include/{attributes.h,error_context.h,libattr.h,xattr.h} \
$(BUILDROOT)/usr/include/attr/
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_PREPARE): $(OBJECTS)
- @$(PRE_PREPARE)
- cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL)
-
- $(DO_PATCHES)
-
+define STAGE_PREPARE_CMDS
# Bash uses the RTLD_LAZY option when loading libraries. We want to use
# RTLD_NOW (it is defined from <dlfcn.h>:
cd $(DIR_APP) && sed -e "s/filename, RTLD_LAZY/filename, RTLD_NOW/" \
-i builtins/enable.def
- @$(POST_PREPARE)
-
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
cd $(DIR_APP) && sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/$(THISAPP)|" \
Makefile.in
+endef
+define STAGE_BUILD
cd $(DIR_APP) && \
ac_cv_func_working_mktime=yes \
./configure \
--with-installed-readline
cd $(DIR_APP) && make #$(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
+endef
+define STAGE_INSTALL
-mkdir -pv $(BUILDROOT)/{bin,etc/profile.d}
cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
# /etc/profile.d
cp -vf $(DIR_SOURCE)/profile.d/* $(BUILDROOT)/etc/profile.d
-
- @$(POST_INSTALL)
+endef
PKG_BUILD_DEPS = glibc
PKG_DEPS += zlib
-PKG_OBJECTS += $(THISAPP).tar.bz2
+PKG_TARBALL += $(THISAPP).tar.bz2
PKG_PATCHES += $(THISAPP)-ld_makefile.patch
PKG_PATCHES += $(THISAPP)-pt_pax-1.patch
-PKG_PATCHES += $(THISAPP)-lazy-1.patch
+#PKG_PATCHES += $(THISAPP)-lazy-1.patch
PKG_PATCHES += $(THISAPP)-asprintf_fix.patch
include ../../Rules
# Installation Details
###############################################################################
-$(STAGE_PREPARE): $(OBJECTS)
- @$(PRE_PREPARE)
- cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(THISAPP).tar.bz2
-
- cd $(DIR_APP) && patch -Np1 -i $(DIR_PATCHES)/$(THISAPP)-pt_pax-1.patch
- cd $(DIR_APP) && patch -Np0 -i $(DIR_PATCHES)/$(THISAPP)-asprintf_fix.patch
-
+define STAGE_PREPARE_CMDS
-mkdir -pv $(DIR_SRC)/binutils-build
+endef
- @$(POST_PREPARE)
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_SRC)/binutils-build && \
CC="gcc -specs=$$(dirname $$(gcc --print-libgcc-file-name))/myspecs -B/usr/lib/ -B/usr/bin/" \
../$(THISAPP)/configure \
--disable-static
cd $(DIR_SRC)/binutils-build && make tooldir=/usr $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
+endef
+define STAGE_INSTALL
cd $(DIR_SRC)/binutils-build && make tooldir=/usr install DESTDIR=$(BUILDROOT)
cp -fv $(DIR_APP)/include/libiberty.h $(BUILDROOT)/usr/include
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_PREPARE): $(OBJECTS)
- @$(PRE_PREPARE)
- cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL)
-
- $(DO_PATCHES)
-
+define STAGE_PREPARE_CMDS
cd $(DIR_APP) && sed -i 's@\(ln -s -f \)\$$(PREFIX)/bin/@\1@' Makefile
cd $(DIR_APP) && sed -e "s/$$(CC) -shared/& $(CFLAGS)/" -i Makefile-libbz2_so
+endef
- @$(POST_PREPARE)
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
- cd $(DIR_APP) && make -f Makefile-libbz2_so
+define STAGE_BUILD
+ cd $(DIR_APP) && make -f Makefile-libbz2_so $(PARALLELISMFLAGS)
cd $(DIR_APP) && make clean
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make PREFIX=$(BUILDROOT)/usr install
-mkdir -pv $(BUILDROOT)/{bin,lib}
ln -sfv bzip2 $(BUILDROOT)/bin/bunzip2
ln -sfv bzip2 $(BUILDROOT)/bin/bzcat
rm -vf $(BUILDROOT)/usr/lib/libbz2.a
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_PREPARE): $(OBJECTS)
- @$(PRE_PREPARE)
- cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL)
-
- $(DO_PATCHES)
-
+define STAGE_PRAPRE_CMDS
cd $(DIR_APP) && autoreconf --force
+endef
- @$(POST_PREPARE)
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
gl_cv_func_printf_directive_n=no \
./configure \
cd $(DIR_APP) && make $(PARALLELISMFLAGS) \
CPPFLAGS="-DUSE_PAM" su_LDFLAGS="-pie -lpam -lpam_misc"
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
-mkdir -pv $(BUILDROOT)/{bin,etc/{pam,profile}.d}
# PAM
cp -vf $(DIR_SOURCE)/pam.d/su{,-l} $(BUILDROOT)/etc/pam.d
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_PREPARE): $(OBJECTS)
- $(PRE_PREPARE)
-ifneq "$(PKG_TARBALL)" ""
- cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL)
-endif
-
- $(DO_PATCHES)
-
+define STAGE_PREPARE_CMDS
cd $(DIR_APP) && autoreconf --force
+endef
- $(POST_PREPARE)
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH)\
--with-rmt=/usr/sbin/rmt
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
PKG_PATCHES += $(THISAPP)-hardened_tmp-1.patch
include ../../Rules
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
- cd $(DIR_APP) && \
- ./configure \
- $(CONFIGURE_ARCH) \
- --prefix=/usr
-
- cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
# Installation Details
###############################################################################
-$(STAGE_PREPARE): $(OBJECTS)
- @$(PRE_PREPARE)
- cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL)
-
- $(DO_PATCHES)
-
+define STAGE_PREPARE
-mkdir $(DIR_APP)/build
# Fix DT_TEXTREL in e2fsprogs libraries. --disable-shared and
cd $(DIR_APP) && sed \
-e "s/getenv(\"BLKID_DEBUG\")/safe_getenv(\"BLKID_DEBUG\")/" \
-i lib/blkid/cache.c
+endef
- @$(POST_PREPARE)
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP)/build && \
LDFLAGS=-lblkid \
../configure \
--disable-libuuid
cd $(DIR_APP)/build && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP)/build && make install DESTDIR=$(BUILDROOT)
cd $(DIR_APP)/build && make install-libs DESTDIR=$(BUILDROOT)
ln -svf ../../lib/libext2fs.so.2 $(BUILDROOT)/usr/lib/libext2fs.so
ln -svf ../../lib/libss.so.2 $(BUILDROOT)/usr/lib/libss.so
ln -svf ../../lib/libuuid.so.1 $(BUILDROOT)/usr/lib/libuuid.so
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--disable-static
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
- cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
-
- rm -vf $(BUILDROOT)/usr/lib/libmagic.la
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--localstatedir=/var/lib/locate
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
mv -v $(BUILDROOT)/usr/bin/find $(BUILDROOT)/bin
sed -i -e 's/find:=$${BINDIR}/find:=\/bin/' $(BUILDROOT)/usr/bin/updatedb
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--disable-static
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
echo "#!/bin/sh" > $(BUILDROOT)/usr/bin/lex
echo "exec /usr/bin/flex -l \"$$@\"" >> $(BUILDROOT)/usr/bin/lex
chmod 755 $(BUILDROOT)/usr/bin/lex
+endef
- @$(POST_INSTALL)
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
ac_cv_func_working_mktime=yes \
./configure \
cd $(DIR_APP) && echo "#define HAVE_LC_MESSAGES 1" >> config.h
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
You'll need this package in order to compile C code.
endef
-PKG_BUILD_DEPS = binutils glibc
+PKG_BUILD_DEPS = binutils glibc kernel-headers
CFLAGS = -D__USE_XOPEN2K8 -pipe
CXXFLAGS =
CONFIG_CPU = --with-cpu=$(TARGET_MACHINE) --with-arch=$(TARGET_MACHINE)
endif
-PKG_OBJECTS += $(THISAPP).tar.bz2
+PKG_TARBALL += $(THISAPP).tar.bz2
PKG_OBJECTS += gmp-$(GMP).tar.bz2
PKG_OBJECTS += mpfr-$(MPFR).tar.bz2
include ../../Rules
+export CPP = $(TOOLS_DIR)/bin/cpp
+
###############################################################################
# Installation Details
###############################################################################
-$(STAGE_PREPARE): $(OBJECTS)
- @$(PRE_PREPARE)
- @rm -rf $(DIR_APP) $(DIR_SRC)/gcc-build && cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(firstword $(PKG_OBJECTS))
+define STAGE_PREPARE_CMDS
-mkdir -v $(DIR_SRC)/gcc-build
# First, unpack gmp and mpfr.
$(DIR_APP)/gcc/{fortran,java,objc,objcp}
# Branding gcc
- cd $(DIR_APP) && sed -e "s:PKGVERSION:\"(GCC for $(NAME)-${VERSION}) \":" \
+ cd $(DIR_APP) && sed -e "s:PKGVERSION:\"(GCC for $(DISTRO_NAME)-$(DISTRO_VERSION)) \":" \
-i gcc/version.c
# Libgomp uses -Werror regardless of --disable-werror, and this will cause a
# build failure when -D_FORTIFY_SOURCE=2 causes build time warnings:
cd $(DIR_APP) && sed -e "s/-Werror//" -i libgomp/configure
- @$(POST_PREPARE)
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
- cd $(DIR_APP) && patch -Np1 -i $(DIR_PATCHES)/$(THISAPP)-espf-1.patch
-
cd $(DIR_APP) && sed -i 's/install_to_$$(INSTALL_DEST) //' libiberty/Makefile.in
cd $(DIR_APP) && sed -i 's/^XCFLAGS =$$/& -fomit-frame-pointer/' gcc/Makefile.in
cd $(DIR_APP) && sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+endef
- # Libgomp uses -Werror regardless of --disable-werror, and this will cause a
- # build failure when -D_FORTIFY_SOURCE=2 causes build time warnings:
- cd $(DIR_APP) && sed -e "s/-Werror//" -i libgomp/configure
-
+define STAGE_BUILD
cd $(DIR_SRC)/gcc-build && \
../$(THISAPP)/configure \
$(CONFIGURE_ARCH) \
$(CONFIGURE_ARGS)
cd $(DIR_SRC)/gcc-build && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_SRC)/gcc-build && make install DESTDIR=$(BUILDROOT)
ln -sfv ../usr/bin/cpp $(BUILDROOT)/lib
ln -sfv gcc $(BUILDROOT)/usr/bin/cc
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--disable-static
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
- cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
-
- rm -vf $(BUILDROOT)/usr/lib/lib{asprintf,gettext{lib,po,src}}.la
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_PREPARE): $(OBJECTS)
- @@$(PRE_PREPARE)
- @rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build && cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(firstword $(PKG_OBJECTS))
+define STAGE_PREPARE
+ @cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(firstword $(PKG_OBJECTS))
@mkdir $(DIR_SRC)/glibc-build
# In the vi_VN.TCVN locale, bash enters an infinite loop at startup. It is
cat $(DIR_SOURCE)/$(THISAPP)-stack_chk_fail.c \
> $(DIR_APP)/debug/stack_chk_fail.c
+endef
- @$(POST_PREPARE)
-
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
+define STAGE_BUILD
# --enable-stackguard-randomization could be added here, but this is primarily
# for attacks by local users, and we shouldn't have those in the rebooted
# system. Adding this will empty the /dev/random entropy pool (via
echo "CXXFLAGS = $(CXXFLAGS)" >> $(DIR_SRC)/glibc-build/configparms
cd $(DIR_SRC)/glibc-build && make PARALLELMFLAGS=$(PARALLELISMFLAGS) \
CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)"
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_SRC)/glibc-build && make install install_root=$(BUILDROOT)
# Locales
# Configuration
cp -vf $(DIR_SOURCE)/{ld.so.conf,nsswitch.conf} $(BUILDROOT)/etc
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
# --without-included-regex makes Grep use libc for regex. This gets rid of
# some compiler warnings, and I can't imagine why it's unsafe.
--without-included-regex
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
# NO_ASM is for textrels.
cd $(DIR_APP) && \
DEFS=NO_ASM \
--bindir=/bin
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
-mkdir -pv $(BUILDROOT)/usr/bin
mv -v $(BUILDROOT)/bin/{gzexe,uncompress,zcmp,zdiff,zegrep} $(BUILDROOT)/usr/bin
mv -v $(BUILDROOT)/bin/{zfgrep,zforce,zgrep,zless,zmore,znew} $(BUILDROOT)/usr/bin
-
- @$(POST_INSTALL)
+endef
include ../../core/kernel/kernel.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+STAGE_PREPARE_CMDS =
+
+define STAGE_BUILD
cd $(DIR_APP) && make mrproper
cd $(DIR_APP) && make ARCH=x86 headers_check
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make ARCH=x86 INSTALL_HDR_PATH=dest headers_install
-mkdir -pv $(BUILDROOT)/usr/include
cd $(DIR_APP) && cp -rv dest/include/* $(BUILDROOT)/usr/include
-
- @$(POST_INSTALL)
+endef
ROUTES_PATCH = routes-$(PKG_VER)-16.diff
PKG_PATCHES += $(ROUTES_PATCH)
-PKG_OBJECTS += $(THISAPP).tar.bz2
+PKG_TARBALL = $(THISAPP).tar.bz2
-PKG_PATCHES += $(THISAPP)-disable-compat_vdso-1.patch
+#PKG_PATCHES += $(THISAPP)-disable-compat_vdso-1.patch
include ../../Rules
# Installation Details
###############################################################################
-$(STAGE_PREPARE): $(OBJECTS)
- @$(PRE_PREPARE)
- rm -rf $(DIR_APP) && cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(firstword $(PKG_OBJECTS))
-
+define STAGE_PREPARE_CMDS
cd $(DIR_APP) && echo "$(LOCALVERSION)" > localversion-ipfire
-
- cd $(DIR_APP) && patch -Np1 -i $(DIR_PATCHES)/$(AUFS_PATCH)
- #cd $(DIR_APP) && patch -Np1 -i $(DIR_PATCHES)/$(OCF_PATCH)
- #cd $(DIR_APP) && echo "source \"crypto/ocf/Kconfig\"" >> crypto/Kconfig
- cd $(DIR_APP) && patch -Np1 -i $(DIR_PATCHES)/$(REISER4_PATCH)
- cd $(DIR_APP) && patch -Np1 -i $(DIR_PATCHES)/$(ROUTES_PATCH)
- cd $(DIR_APP) && patch -Np1 -i $(DIR_PATCHES)/$(GRSEC_PATCH)
rm -f $(DIR_APP)/localversion-grsec
- #cd $(DIR_APP) && patch -Np1 -i $(DIR_PATCHES)/$(THISAPP)-disable-compat_vdso-1.patch
-
cd $(DIR_APP) && sed -e "s/^HOSTCFLAGS.*=.*/& -fPIC/g" -i Makefile
- @$(POST_PREPARE)
-
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
+ #cd $(DIR_APP) && echo "source \"crypto/ocf/Kconfig\"" >> crypto/Kconfig
+
+ cd $(DIR_APP) && cp -vf $(DIR_SOURCE)/$(DISTRO_SNAME)_logo.ppm \
+ drivers/video/logo/logo_linux_clut224.ppm
+endef
+define STAGE_BUILD
cd $(DIR_APP) && make mrproper
# Select right optimization for the linux kernel.
if [ "$(TARGET)" == "i486" ]; then \
sed -e "s/^CONFIG_M686=y/# CONFIG_686 is not set/" \
-e "s/^# CONFIG_M486 is not set/CONFIG_M486=y/" \
- < $(DIR_SOURCE)/kernel/kernel.config > $(DIR_APP)/.config; \
+ < $(DIR_SOURCE)/config > $(DIR_APP)/.config; \
elif [ "$(TARGET)" == "i586" ]; then \
sed -e "s/^CONFIG_M686=y/# CONFIG_686 is not set/" \
-e "s/^# CONFIG_M586TSC is not set/CONFIG_M586TSC=y/" \
- < $(DIR_SOURCE)/kernel/kernel.config > $(DIR_APP)/.config; \
+ < $(DIR_SOURCE)/config > $(DIR_APP)/.config; \
elif [ "$(TARGET)" == "via-c7" ]; then \
sed -e "s/^CONFIG_M686=y/# CONFIG_686 is not set/" \
-e "s/^# CONFIG_MVIAC7 is not set/CONFIG_MVIAC7=y/" \
- < $(DIR_SOURCE)/kernel/kernel.config > $(DIR_APP)/.config; \
+ < $(DIR_SOURCE)/config > $(DIR_APP)/.config; \
elif [ "$(TARGET)" == "via-c3" ]; then \
sed -e "s/^CONFIG_M686=y/# CONFIG_686 is not set/" \
-e "s/^# CONFIG_MVIAC3_2 is not set/CONFIG_MVIAC3_2=y/" \
- < $(DIR_SOURCE)/kernel/kernel.config > $(DIR_APP)/.config; \
+ < $(DIR_SOURCE)/config > $(DIR_APP)/.config; \
else \
- cp -f $(DIR_SOURCE)/kernel/kernel.config $(DIR_APP)/.config; \
+ cp -f $(DIR_SOURCE)/config $(DIR_APP)/.config; \
fi
cd $(DIR_APP) && yes "" | make oldconfig
-
- cd $(DIR_APP) && cp -vf $(DIR_SOURCE)/kernel/$(SNAME)_logo.ppm \
- drivers/video/logo/logo_linux_clut224.ppm
cd $(DIR_APP) && make CC="gcc -nopie" $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make modules_install
cd $(DIR_APP) && cp -v arch/x86/boot/bzImage /boot/$(SNAME)kernel-$(FULLVER)
ln -svf $(DIR_SRC)/$(PKG_NAME)-$(FULLVER) /lib/modules/$(KVER)/build
ln -svf $(DIR_SRC)/$(PKG_NAME)-$(FULLVER) /lib/modules/$(KVER)/source
-mkdir -pv /lib/modules/$(KVER)/extra
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_PREPARE): $(OBJECTS)
- @$(PRE_PREPARE)
- cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL)
-
- $(DO_PATCHES)
-
+define STAGE_PREPARE_CMDS
cd $(DIR_APP) && sed -e "s@<stdlib.h>@&\n#include <asm/types.h>@g" \
-i progs/capsh.c
cd $(DIR_APP) && sed 's/--static//' -i.orig progs/Makefile
+endef
- @$(POST_PREPARE)
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && make $(PARALLELISMFLAGS) CC="gcc $(CFLAGS)"
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT) lib=/lib
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
# We need -D_GNU_SOURCE because this version of M4 has a bug in gnulib (or
# possibly autoconf) that doesn't recognise that we have asprintf() in libc.
cd $(DIR_APP) && \
--prefix=/usr
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
PKG_TARBALL = $(THISAPP).tar.bz2
include ../../Rules
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
- cd $(DIR_APP) && \
- ./configure \
- $(CONFIGURE_ARCH) \
- --prefix=/usr
-
- cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--disable-root-environ
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
-mkdir -pv $(BUILDROOT)/lib
rm -vf $(BUILDROOT)/usr/lib/libcursesw.so
echo "INPUT(-lncursesw)" >$(BUILDROOT)/usr/lib/libcursesw.so
ln -sfv libncurses.so $(BUILDROOT)/usr/lib/libcurses.so
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install prefix=$(BUILDROOT)/usr
-
- @$(POST_INSTALL)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && make CFLAGS="$(CFLAGS)" USE_CAP=yes $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
# Installation Details
###############################################################################
-$(STAGE_PREPARE): $(OBJECTS)
- @$(PRE_PREPARE)
- cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL)
-
- $(DO_PATCHES)
-
+define STAGE_PREPARE_CMDS
cd $(DIR_APP) && sed -i 's/command /command[ -]/' makedepend.SH
+endef
- @$(POST_PREPARE)
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && sed -i -e "s|BUILD_ZLIB\s*= True|BUILD_ZLIB = False|" \
-e "s|INCLUDE\s*= ./zlib-src|INCLUDE = /usr/include|" \
-e "s|LIB\s*= ./zlib-src|LIB = /usr/lib|" \
-Dpager="/usr/bin/less -isR"
cd $(DIR_APP) && make #$(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--without-included-regex
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
CC="$(TARGET)-gcc -std=gnu99 -fgnu89-inline" \
./configure \
--libexecdir=/usr/sbin
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
LDFLAGS="-lncursesw" \
./configure \
--prefix=/usr
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--disable-static
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
# Installation Details
###############################################################################
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
ac_cv_func_working_mktime=yes \
./configure \
--libdir=/lib \
--disable-static
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
-mkdir -pv $(BUILDROOT)/usr/{include,lib}
cd $(DIR_APP) && cp -pfv zconf.h zlib.h $(BUILDROOT)/usr/include
rm -vf $(BUILDROOT)/lib/libz.so
ln -sfv ../../lib/libz.so.$(PKG_VER) $(BUILDROOT)/usr/lib/libz.so
-
- @$(POST_INSTALL)
+endef
include ../../core/acl/acl.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--prefix=$(TOOLS_DIR)
cd $(DIR_APP) && make LIBTOOL="libtool --tag=CC" #$(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install install-dev install-lib
-
- @$(POST_INSTALL)
+endef
include ../../core/attr/attr.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--enable-shared
cd $(DIR_APP) && make LIBTOOL="libtool --tag=CC" #$(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install
install -v -m0755 $(DIR_APP)/libattr/.libs/libattr.so.1.1.0 $(TOOLS_DIR)/lib
install -v -d $(TOOLS_DIR)/include/attr
cp -vf $(DIR_APP)/include/{attributes.h,error_context.h,libattr.h,xattr.h} \
$(TOOLS_DIR)/include/attr/
-
- @$(POST_INSTALL)
+endef
include ../../core/autoconf/autoconf.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--prefix=$(TOOLS_DIR)
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
include ../../core/automake/automake.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--prefix=$(TOOLS_DIR)
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
include ../../core/bash/bash.nm
-$(STAGE_PREPARE): $(OBJECTS)
- @$(PRE_PREPARE)
- cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL)
-
- #$(DO_PATCHES) Do not apply patches at toolchain because
- # this will require an autoreconf that is only possible
- # with the latest version of autoconf (which CentOS hasn't got)
-
- @$(POST_PREPARE)
-
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
+PKG_PATCHES =
+define STAGE_BUILD
cd $(DIR_APP) && \
ac_cv_func_working_mktime=yes \
./configure \
--without-bash-malloc
cd $(DIR_APP) && make #$(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install
ln -svf bash $(TOOLS_DIR)/bin/sh
-
- @$(POST_INSTALL)
+endef
include ../../core/binutils/binutils.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_SRC)/binutils-build && \
CC="gcc -B/usr/bin/" \
../$(THISAPP)/configure \
--disable-werror
cd $(DIR_SRC)/binutils-build && make tooldir=$(TOOLS_DIR) $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_SRC)/binutils-build && make tooldir=$(TOOLS_DIR) install
-
- @$(POST_INSTALL)
+endef
include ../binutils-static/binutils-static.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_SRC)/binutils-build && \
../$(THISAPP)/configure \
$(CONFIGURE_ARCH) \
--disable-werror
cd $(DIR_SRC)/binutils-build && make tooldir=$(TOOLS_DIR) $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_SRC)/binutils-build && make tooldir=$(TOOLS_DIR) install
cd $(DIR_SRC)/binutils-build && make -C ld clean
cd $(DIR_SRC)/binutils-build && make -C ld LIB_PATH=/lib:/usr/lib
cd $(DIR_SRC)/binutils-build && cp -v ld/.libs/ld-new $(TOOLS_DIR)/bin
-
- @$(POST_INSTALL)
+endef
include ../../core/bzip2/bzip2.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make PREFIX=$(TOOLS_DIR) install
-
- @$(POST_INSTALL)
+endef
include ../../core/coreutils/coreutils.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
gl_cv_func_printf_directive_n=no \
./configure \
--enable-install-program=hostname
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install
cd $(DIR_APP) && cp -v src/su $(TOOLS_DIR)/bin/su-tools
-
- @$(POST_INSTALL)
+endef
include ../../core/cpio/cpio.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--prefix=$(TOOLS_DIR)
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
include ../../core/diffutils/diffutils.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--prefix=$(TOOLS_DIR)
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
include ../../core/e2fsprogs/e2fsprogs.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP)/build && \
../configure \
$(CONFIGURE_ARCH) \
--enable-elf-shlibs
cd $(DIR_APP)/build && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP)/build && make install-libs
-
- @$(POST_INSTALL)
+endef
include ../../core/file/file.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--disable-static
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install
-
- @$(POST_INSTALL)
+endef
include ../../core/findutils/findutils.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--libexecdir=$(TOOLS_DIR)/lib/findutils
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install
-
- @$(POST_INSTALL)
+endef
include ../../core/flex/flex.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--disable-static
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install
-
- @$(POST_INSTALL)
+endef
include ../../core/gawk/gawk.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
ac_cv_func_working_mktime=yes \
./configure \
cd $(DIR_APP) && echo "#define HAVE_LC_MESSAGES 1" >> config.h
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
include ../../core/gcc/gcc.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
## Enable -fPIC by default
cd $(DIR_APP) && sed 's/^\(#define CC1_SPEC.*\)\("\)$$/\1 %{fno-pic|fpic|fPIC:;:-fPIC}\2/' \
-i gcc/config/i386/linux.h
# functions in libssp, linking to libssp will cause conflicts with libc, so
# libssp is a waste of space... so --disable-libssp.
- set
-
cd $(DIR_SRC)/gcc-build && \
CC="gcc -B/usr/bin/" \
../$(THISAPP)/configure \
$(CONFIGURE_ARGS)
cd $(DIR_SRC)/gcc-build && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_SRC)/gcc-build && make install
ln -fvs gcc $(TOOLS_DIR)/bin/cc
$(TARGET)-gcc -dumpspecs | sed \
-e 's@$(LINKER)@$(TOOLS_DIR)&@g' \
> $$(dirname $$($(TARGET)-gcc -print-libgcc-file-name))/specs
-
- @$(POST_INSTALL)
+endef
include ../gcc-static/gcc-static.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
# Enable hardening by default:
cd $(DIR_APP) && patch -Np1 -i $(DIR_PATCHES)/$(THISAPP)-espf-1.patch
$(CONFIGURE_ARGS)
cd $(DIR_SRC)/gcc-build && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_SRC)/gcc-build && make install
-
- @$(POST_INSTALL)
+endef
include ../../core/gettext/gettext.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP)/gettext-tools && \
./configure \
$(CONFIGURE_ARCH) \
cd $(DIR_APP)/gettext-tools && make -C gnulib-lib
cd $(DIR_APP)/gettext-tools && make -C src msgfmt
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP)/gettext-tools && cp -v src/msgfmt $(TOOLS_DIR)/bin
-
- @$(POST_INSTALL)
+endef
include ../../core/glibc/glibc.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
# Glibc uses a hard coded path for /etc/ld.so.preload. To keep Glibc from
# preloading libraries from the host machine perform the following command:
cd $(DIR_APP) && sed -e "s@/etc/ld.so.preload@$(TOOLS_DIR)@" -i elf/rtld.c
echo "CXXFLAGS = $(CXXFLAGS)" >> $(DIR_SRC)/glibc-build/configparms
cd $(DIR_SRC)/glibc-build && make PARALLELMFLAGS=$(PARALLELISMFLAGS) \
CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)"
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
-mkdir -v $(TOOLS_DIR)/etc
touch $(TOOLS_DIR)/etc/ld.so.conf
cd $(DIR_SRC)/glibc-build && make install
-
- @$(POST_INSTALL)
+endef
include ../../core/grep/grep.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--without-included-regex
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
include ../../core/gzip/gzip.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
# NO_ASM is for textrels.
cd $(DIR_APP) && \
DEFS=NO_ASM \
--prefix=$(TOOLS_DIR)
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install
-
- @$(POST_INSTALL)
+endef
include ../../core/kernel-headers/kernel-headers.nm
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make ARCH=x86 INSTALL_HDR_PATH=dest headers_install
cd $(DIR_APP) && cp -rv dest/include/* $(TOOLS_DIR)/include
-
- @$(POST_INSTALL)
+endef
include ../../core/m4/m4.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
CPPFLAGS="-D_GNU_SOURCE" \
gl_cv_func_printf_directive_n=no \
--prefix=$(TOOLS_DIR)
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
include ../../core/make/make.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_INSTALL
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--prefix=$(TOOLS_DIR)
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
include ../../core/ncurses/ncurses.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--disable-static
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
+endef
+define STAGE_INSTALL
cd $(DIR_APP) && make install
for lib in curses ncurses form panel menu; do \
rm -vf $(TOOLS_DIR)/lib/lib$${lib}.so ; \
echo "INPUT(-l$${lib}w)" >$(TOOLS_DIR)/lib/lib$${lib}.so ; \
done
-
- @$(POST_INSTALL)
+endef
include ../../core/patch/patch.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--prefix=$(TOOLS_DIR)
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
include ../../core/pax-utils/pax-utils.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && make scanelf CFLAGS="$(CFLAGS)" $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && install -m 755 -v scanelf $(TOOLS_DIR)/bin/scanelf
-
- @$(POST_INSTALL)
+endef
include ../../core/perl/perl.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
-mkdir -pv $(DIR_SRC)/perl-build
# -Dlibc, locincpth, loclibpth, glibpth, and usrinc, are equivilent to the LFS
-d -e
cd $(DIR_SRC)/perl-build && make #$(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_SRC)/perl-build && make LNS="cp" install
-
- @$(POST_INSTALL)
+endef
include ../../core/sed/sed.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--without-included-regex
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
include ../../core/tar/tar.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
# Normally the 'rmt' programs goes in sbin/.
cd $(DIR_APP) && LDFLAGS="-z muldefs" \
./configure \
$(CONFIGURE_ARCH) \
--prefix=$(TOOLS_DIR) \
--libexecdir=$(TOOLS_DIR)/bin
- cd $(DIR_APP) && make $(PARALLELISMFLAGS)
- @$(POST_BUILD)
+ cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
include ../../core/texinfo/texinfo.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
LDFLAGS="-lncursesw" \
./configure \
--prefix=$(TOOLS_DIR)
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
-
- @$(POST_BUILD)
+endef
include ../../core/xz/xz.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && \
./configure \
$(CONFIGURE_ARCH) \
--disable-static
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_INSTALL
cd $(DIR_APP) && make install
-
- @$(POST_INSTALL)
+endef
include ../../core/zlib/zlib.nm
-$(STAGE_BUILD): $(STAGE_PREPARE)
- @$(PRE_BUILD)
-
+define STAGE_BUILD
cd $(DIR_APP) && sed -e "s/^AC_PROG_CXX$$//g" -i configure.ac
cd $(DIR_APP) && autoreconf --install --force
cd $(DIR_APP) && \
--disable-static
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
- @$(POST_BUILD)
-
-$(STAGE_INSTALL): $(STAGE_BUILD)
- @$(PRE_INSTALL)
-
+define STAGE_BUILD
cd $(DIR_APP) && make install
-
- @$(POST_INSTALL)
+endef
MACHINE=$(uname -m)
NAOKI=${BASEDIR}/tools/naoki
+DOWNLOADER=${BASEDIR}/tools/downloader
+DIR_CACHE=${BASEDIR}/cache
DIR_LOGS=${BASEDIR}/logs
DIR_PACKAGES=${BASEDIR}/packages
+DIR_PATCHES=${DIR_CACHE}/patches
DIR_PKGS=${BASEDIR}/pkgs
+DIR_TARBALLS=${DIR_CACHE}/tarballs
return 1
}
+function listremove() {
+ local arg=${1}
+ shift
+
+ local value
+ for value in $@; do
+ if [ "${arg}" != "${value}" ]; then
+ echo "${value}"
+ fi
+ done | tr "\n" " "
+}
+
function is_package() {
local package=$(find_package ${1})
}
function package_runtime_dependencies() {
+ local recursive=0
+ if [ "${1}" = "--recursive" ]; then
+ recursive=1
+ shift
+ fi
+
+ local ret
local package
for package in $(package_get ${1} PKG_DEPENDENCIES); do
package=$(find_package ${package})
- echo "${package}"
+ ret="${ret} ${package}"
log DEBUG " Got runtime dep: ${package}"
done
+
+ if [ "${recursive}" = "1" ]; then
+ package_recursive_dependencies package_runtime_dependencies ${ret}
+ else
+ echo ${ret}
+ fi
}
function package_build_dependencies() {
}
function package_toolchain_dependencies() {
+ local recursive=0
+ if [ "${1}" = "--recursive" ]; then
+ recursive=1
+ shift
+ fi
+
+ local ret
local package
for package in $(package_get ${1} PKG_TOOLCHAIN_DEPS); do
package=$(find_package ${package})
- echo "${package}"
+ ret="${ret} ${package}"
log DEBUG " Got toolchain dep: ${package}"
done
+
+ if [ "${recursive}" = "1" ]; then
+ package_recursive_dependencies package_toolchain_dependencies ${ret}
+ else
+ echo ${ret}
+ fi
}
function package_dependencies() {
fi
}
+function package_recursive_dependencies() {
+ local func=${1}
+ shift
+
+ local to_check=$@
+ local checked
+ while true; do
+ if [ -z "${to_check}" ]; then
+ break
+ fi
+
+ local i
+ for i in ${to_check}; do
+ if ! listmatch ${i} ${to_check}; then
+ to_check="${to_check} $(${func} ${i})"
+ fi
+ checked="${checked} ${i}"
+ to_check="$(listremove ${i} ${to_check})"
+ done
+ done
+ echo ${checked}
+}
+
+function package_dependencies_for_build() {
+ local p=$(find_package ${1})
+
+ local i
+ local ret="$(package_dependencies ${p})"
+ for i in ${ret}; do
+ ret="${ret} $(package_runtime_dependencies --recursive ${i})"
+ done
+
+ echo ${ret}
+}
+
function package_packages() {
package_get ${1} PKG_PACKAGES_FILES
}
package_get ${1} PKG_LICENSE
}
-function package_extract_dependencies() {
- local package=$(find_package ${1})
- local to_extract="${PACKAGES_TO_EXTRACT}"
-
- local dep
- for dep in $(dependencies_resolve ${PACKAGES_TO_EXTRACT} ${package}); do
- echo ${dep}
- done
+function package_objects() {
+ package_get ${1} PKG_OBJECTS
}
+#function package_extract_dependencies() {
+# local package=$(find_package ${1})
+# local to_extract="${PACKAGES_TO_EXTRACT}"
+#
+# local dep
+# for dep in $(dependencies_resolve ${PACKAGES_TO_EXTRACT} ${package}); do
+# echo ${dep}
+# done
+#}
+
function package_is_built() {
local package=$(find_package ${1})
return 0
}
-function dependencies_resolve() {
- local dependencies
- local package
- local ret
-
- for package in $@; do
- log DEBUG "Resolving dependencies for ${package}..."
-
- dependencies="$(package_build_dependencies ${package})"
- dependencies="${dependencies} $(package_dependencies ${package})"
-
- if [ "${dependencies}" != " " ]; then
- log DEBUG " Got: ${dependencies}"
- fi
-
- ret="${ret} ${dependencies} $(dependencies_resolve ${dependencies})"
- done
-
- # Sort and unique the package list
- for package in ${ret}; do
- echo "${package}"
- done | sort -u
-}
+#function dependencies_resolve() {
+# local dependencies
+# local package
+# local ret
+#
+# for package in $@; do
+# log DEBUG "Resolving dependencies for ${package}..."
+#
+# dependencies=$(package_dependencies ${package})
+#
+# if [ -n "${dependencies}" ]; then
+# log DEBUG " Got: ${dependencies}"
+#
+# for dep in ${dependencies}; do
+# if ! listmatch ${dep} ${ret}; then
+# ret="${ret} ${dep} $(dependencies_resolve ${dep})"
+# fi
+# done
+# fi
+# done
+#
+# # Sort and unique the package list
+# for package in ${ret}; do
+# echo "${package}"
+# done | sort -u
+#}
function package_sort() {
local pkg
PACKAGES_TO_EXTRACT="coreutils filesystem perl util-linux-ng"
PACKAGES_PARALLELISM=2
-PARALLELISMFLAGS=-j5
+PARALLELISMFLAGS=-j1
CFLAGS="-fomit-frame-pointer -pipe"
case "${ARCH}" in
done <<<"${mounts}"
done
- if [ "${ERROR}" != "1" ]; then
- [ -d "${BUILD_DIR}" ] && rm -rf ${BUILD_DIR}
+ if [ ! -e "${BUILD_DIR}/.failed" ]; then
+ rm -rf ${BUILD_DIR}
fi
log DEBUG "Shut down naoki instance with pid $$."
local p=$(find_package ${1})
shift
-
-
msg "Preparing environment ${BUILD_DIR}..."
mkdir -p \
${BUILD_DIR} \
- ${BUILD_DIR}/{root,tmp} \
+ ${BUILD_DIR}/{boot,root,tmp} \
${BUILD_DIR}/{dev,proc,sys} \
${BUILD_DIR}/{,usr/}{bin,lib,sbin} \
${BUILD_DIR}/usr/src \
mount --bind /${i} ${BUILD_DIR}/${i}
done
- CHROOT=0 naoki_make ${p} --without-chroot download
+ local object
+ local to_download
+ for object in $(package_objects ${p}); do
+ if [ -e "${DIR_TARBALLS}/${object}" ] || \
+ [ -e "${DIR_PATCHES}/${object}" ]; then
+ continue
+ fi
+ to_download="${to_download} ${object}"
+ done
+ if [ -n "${to_download}" ]; then
+ log DEBUG "Going to get file(s): ${to_download}"
+ ${DOWNLOADER} --tarballs="${DIR_TARBALLS}" \
+ --patches="${DIR_PATCHES}" ${to_download}
+ if [ "$?" != "0" ]; then
+ return 1
+ fi
+ fi
# Extract needed packages
- local pkg_dependencies=$(dependencies_resolve ${p} | tr "\n" " ")
+ local pkg_dependencies=$(package_dependencies_for_build ${p})
msg " Resolving dependencies: ${pkg_dependencies-None}"
local dep
+ local missing
for dep in ${pkg_dependencies}; do
if ! package_is_built ${dep}; then
- msg "Dependencies for ${p} are missing. Cannot prepare."
- return 4
+ missing="${missing} ${dep}"
fi
done
+ if [ -n "${missing}" ]; then
+ msg "Dependencies for ${p} are missing: ${missing}"
+ return 4
+ fi
for dep in ${pkg_dependencies}; do
msg "Decompressing ${dep}..."
ln -sf ${TOOLS_DIR}${i} ${BUILD_DIR}${i}
done
- naoki_make ${p} prepare $@
- return $?
+ return 0
}
function naoki_cleanup() {
fi
cmd="${cmd} -f ${p##*/}.nm"
- naoki_cmd ${p} "${cmd}" $@ 2>&1 | __erase_log
+ naoki_cmd ${p} "${cmd}" $@
return ${PIPESTATUS[0]}
}
-function __erase_log() {
- local line
-
- local IFS='\n'
- while read line; do
- grep -q "commands for target" <<<"${line}" && continue
- echo -e "${line}"
- done
-}
-
function naoki_build() {
local p=$(find_package ${1})
shift
exit ${ret}
fi
- naoki_make ${p} build $@
- ret=$?
-
- if [ "${ret}" != "0" ]; then
- error "Build command failed."
- exit ${ret}
- fi
-
- naoki_make ${p} install $@
- ret=$?
-
- if [ "${ret}" != "0" ]; then
- error "Install command failed."
- exit ${ret}
- fi
-
naoki_make ${p} package $@
ret=$?
if [ "${ret}" != "0" ]; then
- error "Package command failed."
+ error "Package build failed."
+ touch ${BUILD_DIR}/.failed
exit ${ret}
fi
}
shift
naoki_prepare ${p}
+ naoki_make ${p} shell
# A little help message
echo
naoki_cmd ${p} "bash --login"
local ret=$?
-
+
echo
echo "Exit code: ${ret}"
echo
--- /dev/null
+#!/bin/bash
+
+. $(dirname ${0})/qa-include
+
+# Fix include files
+echo "${0##*/}: Fix include files"
+
+if [ ! -d "${BUILDROOT}/usr/include" ]; then
+ exit 0
+fi
+
+chown -R root:root ${BUILDROOT}/usr/include