Browse Source

Add arch and subarch as parameters

Mikael Magnusson 7 years ago
parent
commit
6b320900b7
2 changed files with 15 additions and 7 deletions
  1. 1 3
      build.sh
  2. 14 4
      scripts/build_rootfs.sh

+ 1 - 3
build.sh

@@ -154,10 +154,8 @@ build_procd() {
 
 
 build_tarball() {
 build_tarball() {
 	export SDK="$(pwd)/${sdk}"
 	export SDK="$(pwd)/${sdk}"
-	export ARCH=${arch}
-	export SUBARCH=${subarch}
 	local opts="-m $metadata"
 	local opts="-m $metadata"
-	fakeroot scripts/build_rootfs.sh $rootfs $opts -o $lxc_tar --packages="${packages}" --files="${files}"
+	fakeroot scripts/build_rootfs.sh $rootfs $opts -o $lxc_tar --arch=${arch} --subarch=${subarch} --packages="${packages}" --files="${files}"
 }
 }
 
 
 build_metadata() {
 build_metadata() {

+ 14 - 4
scripts/build_rootfs.sh

@@ -3,16 +3,26 @@
 set -e
 set -e
 
 
 usage() {
 usage() {
-	echo "Usage: $0 [-o|--output <dst file>] [-p|--packages <packages>] [-f|--files <files>] [-m|--metadata <metadata.yaml>] <src tar>"
+	echo "Usage: $0 [-a|--arch <arch>] [-s|--subarch <subarch>] [-o|--output <dst file>] [-p|--packages <packages>] [-f|--files <files>] [-m|--metadata <metadata.yaml>] <src tar>"
 	exit 1
 	exit 1
 }
 }
 
 
+arch=x86
+subarch=64
+packages=
 dst_file=/dev/stdout
 dst_file=/dev/stdout
+files=
+metadata=
+metadata_dir=
 
 
-temp=$(getopt -o "o:p:f:m:" -l "output:,packages:,files:,metadata:,help" -- "$@")
+temp=$(getopt -o "a:o:p:s:f:m:" -l "arch:,output:,packages:,subarch:,files:,metadata:,help" -- "$@")
 eval set -- "$temp"
 eval set -- "$temp"
 while true; do
 while true; do
 	case "$1" in
 	case "$1" in
+		-a|--arch)
+			arch="$2"; shift 2;;
+		-s|--subarch)
+			subarch="$2"; shift 2;;
 		-p|--packages)
 		-p|--packages)
 			packages="$2"; shift 2;;
 			packages="$2"; shift 2;;
 		-o|--output)
 		-o|--output)
@@ -39,7 +49,7 @@ base=`basename $src_tar`
 dir=/tmp/build.$$
 dir=/tmp/build.$$
 files_dir=files/
 files_dir=files/
 instroot=$dir/rootfs
 instroot=$dir/rootfs
-cache=dl/packages/$ARCH/$SUBARCH
+cache=dl/packages/$arch/$subarch
 
 
 test -e $cache || mkdir -p $cache
 test -e $cache || mkdir -p $cache
 OPKG="env LD_PRELOAD= IPKG_NO_SCRIPT=1 IPKG_INSTROOT=$instroot $SDK/staging_dir/host/bin/opkg -o $instroot --cache $cache"
 OPKG="env LD_PRELOAD= IPKG_NO_SCRIPT=1 IPKG_INSTROOT=$instroot $SDK/staging_dir/host/bin/opkg -o $instroot --cache $cache"
@@ -133,7 +143,7 @@ if test -n "$metadata"; then
 	add_file $metadata $metadata_dir $dir
 	add_file $metadata $metadata_dir $dir
 fi
 fi
 add_files templates/ $dir/templates/
 add_files templates/ $dir/templates/
-add_packages bin/packages/${ARCH}/${SUBARCH}
+add_packages bin/packages/${arch}/${subarch}
 update_packages
 update_packages
 install_packages "$packages"
 install_packages "$packages"
 add_files $files_dir $instroot
 add_files $files_dir $instroot