sed -i $(DIR_TMP_PAK)/ROOTFILES -e "/^#/d"
# Make package
- cd $(DIR_TMP_PAK) && tar cf /install/packages/$(PROG)-$(VER)-$(PAK_VER).ipfire *
+ cd $(DIR_TMP_PAK) && tar cf $(PACKAGES_DIR)/$(PROG)-$(VER)-$(PAK_VER).ipfire *
# Cleanup
rm -rf $(DIR_TMP_PAK)
-e "s/VER/$(VER)/g" \
-e "s/RELEASE/$(PAK_VER)/g" \
-e "s/DEPS/$(DEPS)/g" \
- -e "s/SIZE/$$(stat --format=%s /install/packages/$(PROG)-$(VER)-$(PAK_VER).ipfire)/g" \
+ -e "s/SIZE/$$(stat --format=%s $(PACKAGES_DIR)/$(PROG)-$(VER)-$(PAK_VER).ipfire)/g" \
-e "s/SERVICES/$(SERVICES)/g" \
- < /usr/src/src/pakfire/meta > /install/packages/meta-$(PROG)
+ < /usr/src/src/pakfire/meta > $(PACKAGES_DIR)/meta-$(PROG)
endef
define INSTALL_INITSCRIPT
# Make some extra directories
mkdir -p "${CCACHE_DIR}"
mkdir -p "${IMAGES_DIR}"
+ mkdir -pv "${PACKAGES_DIR}"
mkdir -p "${BUILD_DIR}/${TOOLS_DIR}"
mkdir -p "${BUILD_DIR}/cache"
mkdir -p "${BUILD_DIR}/dev"
# Paths
[LFS_BASEDIR]="${BASEDIR}"
[IMAGES_DIR]="${IMAGES_DIR}"
+ [PACKAGES_DIR]="${PACKAGES_DIR}"
[TOOLS_DIR]="${TOOLS_DIR}"
)
# Paths
[LFS_BASEDIR]="/usr/src"
[IMAGES_DIR]="/usr/src/images"
+ [PACKAGES_DIR]="/usr/src/images/packages"
# Compiler Cache
[CCACHE_DIR]="/usr/src/ccache"
lfsmake2 flash-images
}
-buildpackages() {
- local LOGFILE="${LOG_DIR}/_build.packages.log"
+build_packages() {
+ local LOGFILE="${LOG_DIR}/_build.packages.log"
- ipfirepackages
-
- cd $BASEDIR
-
- for i in $(ls *.bz2 *.img.xz *.iso 2>/dev/null); do
- b2sum $i > $i.b2
- done
- cd $PWD
-
- # Cleanup
- rm -rf $BASEDIR/build/tmp/*
+ # Build packages
+ print_build_stage "Building Packages"
- cd $PWD
-}
+ local path
+ local -A pkgs=()
+ local pkg
-ipfirepackages() {
- lfsmake2 core-updates
+ # Collect all packages
+ for path in \
+ "${BASEDIR}/config/rootfiles/packages/"* \
+ "${BASEDIR}/config/rootfiles/packages/${BUILD_ARCH}"/*; do
+ pkgs["${path##*/}"]="${path}"
+ done
- local i
- for i in $(find $BASEDIR/config/rootfiles/packages{/${BUILD_ARCH},} -maxdepth 1 -type f); do
- i=$(basename ${i})
- if [ -e $BASEDIR/lfs/$i ]; then
- ipfiredist $i
- else
- echo -n $i
- print_status SKIP
- fi
+ # Package them all
+ for pkg in ${!pkgs[@]}; do
+ ipfiredist "${pkg}"
done
- test -d $BASEDIR/packages || mkdir $BASEDIR/packages
- mv -f ${BUILD_DIR}/install/packages/* $BASEDIR/packages >> $LOGFILE 2>&1
- rm -rf $BASEDIR/build/install/packages/*
}
# This function will re-execute a command in a new namespace
readonly BUILD_DIR="${BASEDIR}/build_${BUILD_ARCH}"
readonly IMAGES_DIR="${BASEDIR}/images_${BUILD_ARCH}"
readonly LOG_DIR="${BASEDIR}/log_${BUILD_ARCH}"
+readonly PACKAGES_DIR="${IMAGES_DIR}/packages"
readonly TOOLS_DIR="/tools_${BUILD_ARCH}"
# Set URLs
print_build_stage "Building ${NAME}"
build_system
- print_build_stage "Building Packages"
- buildpackages
+ # Build all packages
+ build_packages
print_build_stage "Checking Logfiles for new Files"