|
@@ -38,6 +38,14 @@ setup-vbuilder(){
|
|
|
## set current stable relase version
|
|
|
STABLE_VERSION=@@VBUILDER_STABLE_VERSION@@
|
|
|
|
|
|
+ ## set default chroot archtecture
|
|
|
+ UARCH=$(uname -i)
|
|
|
+ case "${UARCH}" in
|
|
|
+ arm*)
|
|
|
+ UARCH="arm"
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
+
|
|
|
## set boolian variables
|
|
|
with_setup_vbootstrap=0
|
|
|
with_dist_upgrade=0
|
|
@@ -72,10 +80,13 @@ setup-vbootstrap(){
|
|
|
[ -d $VBOOTSTRAP_DIR ] || mkdir -p $VBOOTSTRAP_DIR
|
|
|
[ -d $CACHE_DIR ] || mkdir -p $CACHE_DIR
|
|
|
|
|
|
- UARCH=$(uname -i)
|
|
|
- case "${UARCH}" in
|
|
|
- arm*)
|
|
|
- UARCH="arm"
|
|
|
+ ## check chroot version
|
|
|
+ case ${VERSION} in
|
|
|
+ 4.2|5.2|VineSeed)
|
|
|
+ ;;
|
|
|
+ *)
|
|
|
+ echo $"E: ${VERSION} is NOT supported"
|
|
|
+ return 1
|
|
|
;;
|
|
|
esac
|
|
|
|
|
@@ -90,58 +101,49 @@ setup-vbootstrap(){
|
|
|
VARCH=${UARCH}
|
|
|
else
|
|
|
case "${VARCH}" in
|
|
|
- i386|i686|x86_64)
|
|
|
- [ "$(uname -i)" = "ppc" -o "${UARCH}" = "arm" ] && \
|
|
|
- echo $"E: arch ${VARCH} is NOT supported on $(uname -i)" && return 1
|
|
|
+ i386|x86_64)
|
|
|
+ [ "${UARCH}" = "ppc" -o "${UARCH}" = "arm" ] && \
|
|
|
+ echo $"E: arch ${VARCH} is NOT supported on ${UARCH}" && return 1
|
|
|
;;
|
|
|
ppc)
|
|
|
- [ "$(uname -i)" = "i386" -o "$(uname -i)" = "i686" -o "$(uname -i)" = "x86_64" -o "${UARCH}" = "arm" ] && \
|
|
|
- echo $"E: arch ${VARCH} is NOT supported on $(uname -i)" && return 1
|
|
|
+ [ "${UARCH}" = "i386" -o "${UARCH}" = "x86_64" -o "${UARCH}" = "arm" ] && \
|
|
|
+ echo $"E: arch ${VARCH} is NOT supported on ${UARCH}" && return 1
|
|
|
;;
|
|
|
arm)
|
|
|
- [ "${UARCH}" = "i386" -o "${UARCH}" = "i686" -o "${UARCH}" = "x86_64" -o "${UARCH}" = "ppc" ] && \
|
|
|
+ [ "${UARCH}" = "i386" -o "${UARCH}" = "x86_64" -o "${UARCH}" = "ppc" ] && \
|
|
|
echo $"E: arch ${VARCH} is NOT supported on ${UARCH}" && return 1
|
|
|
;;
|
|
|
esac
|
|
|
fi
|
|
|
|
|
|
- ##!! 4.2 is NO support on VARCH=x86_64
|
|
|
- if [ "${VERSION}" = "4.2" -a "${VARCH}" = "x86_64" ]; then
|
|
|
- echo $"E: ${VERSION} is NOT supported"
|
|
|
- return 1
|
|
|
- fi
|
|
|
-
|
|
|
- ##!! 4.2 is NO support on VARCH=arm
|
|
|
- if [ "${VERSION}" = "4.2" -a "${VARCH}" = "arm" ]; then
|
|
|
- echo $"E: ${VERSION} is NOT supported"
|
|
|
- return 1
|
|
|
+ ##!! 4.2 is NO support on VARCH=x86_64 or VARCH=arch
|
|
|
+ if [ "${VERSION}" = "4.2" ]; then
|
|
|
+ if [ "${VARCH}" = "x86_64" -o "${VARCH}" = "arm" ]; then
|
|
|
+ echo $"E: ${VERSION}_${VARCH} is NOT supported"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
fi
|
|
|
|
|
|
- ## support i386 chroot on x86_64 below:
|
|
|
- [ "${VARCH}" != "${UARCH}" ] && \
|
|
|
- VERSION=${VERSION}_${VARCH} && \
|
|
|
- with_ix86_on_x86_64=1
|
|
|
-
|
|
|
- ## hack arm repository to local
|
|
|
- [ "${VARCH}" = "arm" ] && \
|
|
|
- VERSION=${VERSION}_${VARCH}
|
|
|
+ ## set the profile <version>_<arch>
|
|
|
+ PROFILE=${VERSION}_${VARCH}
|
|
|
|
|
|
- ## check support ${VERSION}
|
|
|
- if [ -z "$(/usr/sbin/vbootstrap | sed -e s/^Usage:.*// -e s/^E:.*// | grep -m 1 ${VERSION})" ]; then
|
|
|
- echo $"E: ${VERSION} is NOT supported"
|
|
|
+ ## check support ${PROFILE}
|
|
|
+ if [ -z "$(/usr/sbin/vbootstrap | sed -e s/^Usage:.*// -e s/^E:.*// | grep -m 1 ${PROFILE})" ]; then
|
|
|
+ echo $"E: ${PROFILE} is NOT supported"
|
|
|
return 1
|
|
|
fi
|
|
|
|
|
|
## check ${VERSION} equals VineSeed*, when with_dist_upgrade=1
|
|
|
if [ $with_dist_upgrade -eq 1 ]; then
|
|
|
- if [ "$(echo ${VERSION} | sed -e "s/\(VineSeed\).*/\1/")" != "VineSeed" ]; then
|
|
|
+ if [ "${VERSION}" != "VineSeed" ]; then
|
|
|
echo $"E: version ${VERSION} does not support --dist-upgrade option"
|
|
|
return 1
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
- ## set ${MAJOR_VERSION}
|
|
|
- MAJOR_VERSION=$(echo ${VERSION} | sed -e "s/_i[0-9]86//")
|
|
|
+ ## support i386 chroot on x86_64 below:
|
|
|
+ [ "${UARCH}" = "x86_64" -a "${VARCH}" = "i386" ] && \
|
|
|
+ with_ix86_on_x86_64=1
|
|
|
|
|
|
## check apt categories
|
|
|
## "main" category is unconditionally permited
|
|
@@ -159,20 +161,20 @@ setup-vbootstrap(){
|
|
|
;;
|
|
|
test)
|
|
|
## "test" category only exists in VineSeed
|
|
|
- [ "${MAJOR_VERSION}" = "VineSeed" ] || \
|
|
|
+ [ "${VERSION}" = "VineSeed" ] || \
|
|
|
echo $"E: No such category exists: $cat" && return 1
|
|
|
with_category_test=1
|
|
|
;;
|
|
|
proposed-updates)
|
|
|
##!! "proposed-updates" category does not exist in 4.2
|
|
|
- [ "${MAJOR_VERSION}" = "4.2" ] && \
|
|
|
+ [ "${VERSION}" = "4.2" ] && \
|
|
|
echo $"E: No such category exists: $cat" && return 1
|
|
|
|
|
|
with_category_proposed_updates=1
|
|
|
;;
|
|
|
security)
|
|
|
## "security" category does not exist in VineSeed
|
|
|
- [ "${MAJOR_VERSION}" = "VineSeed" ] && \
|
|
|
+ [ "${VERSION}" = "VineSeed" ] && \
|
|
|
echo $"E: No such category exists: $cat" && return 1
|
|
|
with_category_security=1
|
|
|
;;
|
|
@@ -185,7 +187,8 @@ setup-vbootstrap(){
|
|
|
## check build target option ${TARGET}
|
|
|
if [ ! -z "${TARGET}" ]; then
|
|
|
RPM_TARGET_LIST="$(cat /usr/lib/rpm/rpmrc | grep arch_canon: | sed -e "s/arch_canon:[[:blank:]]*\(.*\):.*/\1/")"
|
|
|
- if [ -z "$(echo $RPM_TARGET_LIST | grep $TARGET)" ]; then
|
|
|
+ RPM_TARGET_LIST="${RPM_TARGET_LIST} noarch"
|
|
|
+ if [ -z "$(echo ${RPM_TARGET_LIST} | grep ${TARGET})" ]; then
|
|
|
echo $"E: rpm build target ${TARGET} is NOT supported"
|
|
|
return 1
|
|
|
fi
|
|
@@ -199,12 +202,12 @@ setup-vbootstrap(){
|
|
|
fi
|
|
|
|
|
|
## set global variables
|
|
|
- BUILD_ROOT=${VBOOTSTRAP_DIR}/${VERSION}
|
|
|
+ BUILD_ROOT=${VBOOTSTRAP_DIR}/${PROFILE}
|
|
|
BUILD_USER=vbuilder
|
|
|
BUILD_DIR=/home/${BUILD_USER}/rpm
|
|
|
- UNIONFS_ROOT=${UNIONFS_DIR}/${VERSION}
|
|
|
+ UNIONFS_ROOT=${UNIONFS_DIR}/${PROFILE}
|
|
|
ARCHIVES_DIR=${BUILD_ROOT}/var/cache/apt/archives
|
|
|
- EXTERNAL_ARCHIVES_DIR=${CACHE_DIR}/${VERSION}/apt/archives
|
|
|
+ EXTERNAL_ARCHIVES_DIR=${CACHE_DIR}/${PROFILE}/apt/archives
|
|
|
|
|
|
__chroot_sh="/usr/sbin/chroot ${BUILD_ROOT} /bin/sh -c -l"
|
|
|
|