Browse Source

vbuilder.sh.in: defined some mount functions; added Japanese translations for error messages

git-svn-id: http://trac.vinelinux.org/repos/projects/vbootstrap/trunk@412 ec354946-7b23-47d6-9f5a-488ba84defc7
munepi 15 years ago
parent
commit
388a1248ad
2 changed files with 148 additions and 69 deletions
  1. 6 0
      vbootstrap.spec
  2. 142 69
      vbuilder.sh.in

+ 6 - 0
vbootstrap.spec

@@ -59,6 +59,12 @@ make DESTDIR=$RPM_BUILD_ROOT install
 
 
 %changelog
+# * Xxx Xxx XX 2010 Munehiro Yamamoto <munepi@vinelinux.org> 0.0.11-1
+# - updated vbuilder.sh.in
+#   - added Japanese translations for error messages
+#   - improved some mounting processes
+#     - defined some mount functions
+
 * Tue Dec 29 2009 Munehiro Yamamoto <munepi@vinelinux.org> 0.0.10-1
 - updated vbuilder.sh.in
   - added --dist-upgrade option which provides a flag to build 

+ 142 - 69
vbuilder.sh.in

@@ -8,7 +8,7 @@ Usage:	$(basename $0) {--version [version]} {--arch [arch]} {--dist-upgrade} {--
 Options:
 	--version:		set [version] (default: ${DEFAULT_VERSION})
 	--arch:			set [arch] (default: $(uname -i))
-	--dist-upgrade:		build VineSeed bootstrap via ${STABLE_VERSION}
+	--dist-upgrade:		make VineSeed bootstrap via ${STABLE_VERSION}
 	--target:		build rpms with [target]
 	--with-compat32:	build rpms with compat32 on boostrap
 
@@ -41,15 +41,17 @@ Usage_ja(){
 }
 
 Msg_MissingParameter_C(){
-    while read para; do
-	cat<<EOF
+    para=$1
+    cat<<EOF
 E: Missing some parameter before ${para}
 EOF
-    done
 }
 
 Msg_MissingParameter_ja(){
-    Msg_MissingParameter_C
+    para=$1
+    cat<<EOF
+E: ${para} 以前のいくつかのパラメータに間違いがあります
+EOF
 }
 
 Msg_NoSupportVARCH_C(){
@@ -59,17 +61,21 @@ EOF
 }
 
 Msg_NoSupportVARCH_ja(){
-    Msg_NoSupportVARCH_C
+    cat<<EOF
+E: ${VARCH} アーキテクチャは $(uname -i) 上で非サポートです
+EOF
 }
 
 Msg_NoSupportVERSION_C(){
     cat<<EOF
-E: version ${VERSION} is NO support
+E: ${VERSION} is NO support
 EOF
 }
 
 Msg_NoSupportVERSION_ja(){
-    Msg_NoSupportVERSION_C
+    cat<<EOF
+E: バージョン ${VERSION} は非サポートです
+EOF
 }
 
 Msg_NoSupportDistUpgradeVERSION_C(){
@@ -79,7 +85,9 @@ EOF
 }
 
 Msg_NoSupportDistUpgradeVERSION_ja(){
-    Msg_NoSupportDistUpgradeVERSION_C
+    cat<<EOF
+E: バージョン ${VERSION} は --dist-upgrade オプションを非サポートです
+EOF
 }
 
 Msg_NoSupportTARGET_C(){
@@ -89,11 +97,46 @@ EOF
 }
 
 Msg_NoSupportTARGET_ja(){
-    Msg_NoSupportTARGET_C
+    cat<<EOF
+E: rpm ビルドターゲット ${TARGET} は非サポートです
+EOF
+}
+
+Msg_NotPackageName_C(){
+    cat<<EOF
+E: $RPM_PKG is not package name
+EOF
+}
+
+Msg_NotPackageName_ja(){
+    cat<<EOF
+E: $RPM_PKG はパッケージ名でありません
+EOF
+}
+
+Msg_NotSourceRPM_C(){
+    cat<<EOF
+E: $RPM_PKG is not source RPM package
+EOF
+}
+
+Msg_NotSourceRPM_ja(){
+    cat<<EOF
+E: $RPM_PKG はソース RPM パッケージでありません
+EOF
 }
 
 ##############################################################################
 
+check-next-parameter(){
+    arg=$1
+    if [ $(echo ${arg} | grep '^-') ]; then
+	Msg_MissingParameter_$LOCALE ${arg}
+	return 1
+    fi
+    return 0
+}
+
 setup-vbuilder(){
     ## load default settings
     if [ -r /etc/vbootstrap/vbuilder.conf ]; then
@@ -122,15 +165,6 @@ setup-vbuilder(){
     with_dist_upgrade=0
 }
 
-check-next-parameter(){
-    while read arg; do
-	if [ $(echo ${arg} | grep '^-') ]; then
-	    echo ${arg} | Msg_MissingParameter_$LOCALE
-	    return 1
-	fi
-    done
-}
-
 setup-vbootstrap(){
     if [ ${with_setup_vbootstrap} -eq 0 ]; then
 	with_setup_vbootstrap=1
@@ -200,26 +234,78 @@ setup-vbootstrap(){
     mkdir -p $VBOOTSTRAP_DIR
 }
 
+setup-vbootstrap-rpm(){
+    setup-vbootstrap
+
+    ## check ${BUILD_ROOT}
+    [ -d ${BUILD_ROOT} ] || Build
+
+    DIST_RELEASE=$(cat ${BUILD_ROOT}/etc/vine-release | cut -f3 -d" " | cut -f1 -d.)
+
+    if [ -f $RPM_PKG ]; then
+	BASE_RPM_PKG=$(basename $RPM_PKG)
+	cp -f $RPM_PKG $BUILD_ROOT${BUILD_DIR}
+    else
+	BASE_RPM_PKG=$RPM_PKG	
+    fi
+}
+
+## mount /home
+mount_home(){
+    if [ "$1" = "--umount" ]; then
+	[ -d ${BUILD_ROOT}/home ] || return 1
+	[ -z "$(mount | grep ${BUILD_ROOT}/home)" ] || \
+    	    umount ${BUILD_ROOT}/home
+    else
+	[ -d ${BUILD_ROOT}/home ] || mkdir -p ${BUILD_ROOT}/home
+	[ -z "$(mount | grep ${BUILD_ROOT}/home)" ] && \
+	    mount -o rbind /home ${BUILD_ROOT}/home
+    fi
+}
+
+## mount /tmp for applications which use X
+mount_tmp(){
+    if [ "$1" = "--umount" ]; then
+	[ -d ${BUILD_ROOT}/tmp ] || return 1
+	[ -z "$(mount | grep ${BUILD_ROOT}/tmp)" ] || \
+    	    umount ${BUILD_ROOT}/tmp
+    else
+	[ -d ${BUILD_ROOT}/tmp ] || mkdir -p ${BUILD_ROOT}/tmp
+	[ -z "$(mount | grep ${BUILD_ROOT}/tmp)" ] && \
+	    mount --bind /tmp ${BUILD_ROOT}/tmp
+    fi
+}
+
+## mount virtual file systems
+mount_vfs(){
+    if [ "$1" = "--umount" ]; then
+	# for dir in /sys /proc /dev/shm /dev/pts /dev; do
+	# [ -z "$(mount | grep ${BUILD_ROOT}${dir})" ] || \
+	# 	umount ${BUILD_ROOT}${dir}
+	# done
+	[ -d ${BUILD_ROOT}/proc ] || return 1
+	[ -z "$(mount | grep ${BUILD_ROOT}/proc)" ] || \
+	    umount ${BUILD_ROOT}/proc
+    else
+	# for dir in /dev /dev/pts /dev/shm /proc /sys; do
+	# 	[ -d ${BUILD_ROOT}${dir} ] || mkdir -p ${BUILD_ROOT}${dir}
+	# 	mount --bind ${dir} ${BUILD_ROOT}${dir}
+	# done
+	[ -d ${BUILD_ROOT}/proc ] || mkdir -p ${BUILD_ROOT}/proc
+	[ -z "$(mount | grep ${BUILD_ROOT}/proc)" ] && \
+	    mount --bind /proc ${BUILD_ROOT}/proc
+    fi
+}
+
+
 ##############################################################################
 
 Clean(){
     setup-vbootstrap
 
-    # ## umount /home
-    # [ -z "$(mount | grep ${BUILD_ROOT}/home)" ] || \
-    # 	umount ${BUILD_ROOT}/home
-
-    # ## umount /tmp for applications which use X
-    # [ -z "$(mount | grep ${BUILD_ROOT}/tmp)" ] || \
-    # 	umount ${BUILD_ROOT}/tmp
-
-    # ## umount virtual file systems
-    # for dir in /sys /proc /dev/shm /dev/pts /dev; do
-    # [ -z "$(mount | grep ${BUILD_ROOT}${dir})" ] || \
-    # 	umount ${BUILD_ROOT}${dir}
-    # done
-    [ -z "$(mount | grep ${BUILD_ROOT}/proc)" ] || \
-	umount ${BUILD_ROOT}/proc
+    # mount_home --umount
+    # mount_tmp --umount
+    mount_vfs --umount
 
     if [ -d ${BUILD_ROOT}/var/cache/apt/archives ]; then
 	echo -n "Caching RPMs in ${CACHE_DIR}/apt/archives ... "
@@ -233,6 +319,8 @@ Clean(){
 	rm -rf ${BUILD_ROOT}
 	echo "done."
     fi
+
+    echo "Cleanup a build farm for ${VERSION} done."
 }
 
 Build(){
@@ -251,21 +339,9 @@ Build(){
 	/usr/sbin/vbootstrap ${VERSION} ${BUILD_ROOT}
     fi
 
-    # ## mount virtual file systems
-    # for dir in /dev /dev/pts /dev/shm /proc /sys; do
-    # 	[ -d ${BUILD_ROOT}${dir} ] || mkdir -p ${BUILD_ROOT}${dir}
-    # 	mount --bind ${dir} ${BUILD_ROOT}${dir}
-    # done
-    [ -d ${BUILD_ROOT}/proc ] || mkdir -p ${BUILD_ROOT}/proc
-    mount --bind /proc ${BUILD_ROOT}/proc
-
-    # ## mount /tmp for applications which use X
-    # [ -d ${BUILD_ROOT}/tmp ] || mkdir -p ${BUILD_ROOT}/tmp
-    # mount --bind /tmp ${BUILD_ROOT}/tmp
-
-    # ## mount /home
-    # [ -d ${BUILD_ROOT}/home ] || mkdir -p ${BUILD_ROOT}/home
-    # mount -o rbind /home ${BUILD_ROOT}/home
+    mount_vfs
+    # mount_tmp
+    # mount_home
 
     if [ -d ${CACHE_DIR} ]; then
 	echo -n "Copying cached RPMs to ${BUILD_ROOT}/var/cache/apt/archives ... "
@@ -299,48 +375,43 @@ Build(){
     /usr/sbin/chroot ${BUILD_ROOT} /bin/sh -c '/usr/sbin/pwconv'
     /usr/sbin/chroot ${BUILD_ROOT} /bin/sh -c "/usr/sbin/useradd ${BUILD_USER}"
 
-    echo "Making a build farm for ${VERSION} done."
-}
-
-setup-vbootstrap-rpm(){
-    setup-vbootstrap
-
-    ## check ${BUILD_ROOT}
-    [ -d ${BUILD_ROOT} ] || Build
-
-    DIST_RELEASE=$(cat ${BUILD_ROOT}/etc/vine-release | cut -f3 -d" " | cut -f1 -d.)
+    # mount_home --umount
+    # mount_tmp --umount
+    mount_vfs --umount
 
-    if [ -f $RPM_PKG ]; then
-	BASE_RPM_PKG=$(basename $RPM_PKG)
-	cp -f $RPM_PKG $BUILD_ROOT${BUILD_DIR}
-    else
-	BASE_RPM_PKG=$RPM_PKG	
-    fi
+    echo "Making a build farm for ${VERSION} done."
 }
 
 RPM_Remove(){
     setup-vbootstrap-rpm
+    mount_vfs
 
     if [ -f $RPM_PKG ]; then
-	echo "$RPM_PKG: not package name."
+	Msg_NotPackageName_$LOCALE
 	exit 1
     fi
     /usr/sbin/chroot ${BUILD_ROOT} \
 	/bin/sh -c "apt-get -y remove $BASE_RPM_PKG"
+
+    mount_vfs --umount
 }
 
 RPM_Install(){
     setup-vbootstrap-rpm
+    mount_vfs
 
     /usr/sbin/chroot ${BUILD_ROOT} \
 	/bin/sh -c "cd ${BUILD_DIR} && apt-get -y install $BASE_RPM_PKG"
+
+    mount_vfs --umount
 }
 
 RPM_Build(){
     setup-vbootstrap-rpm
+    mount_vfs
 
     if [ ! -f $RPM_PKG ]; then
-	echo "$RPM_PKG: not source RPM package."
+	Msg_NotSourceRPM_$LOCALE
 	exit 1
     fi
     
@@ -379,6 +450,9 @@ RPM_Build(){
 		-exec $__install -m0644 {} ${BUILT_RPMS_DIR}/${i}/ \;
 	fi
     done
+
+    mount_vfs --umount
+
     echo "done."
 }
 
@@ -393,8 +467,7 @@ while [ $# -gt 0 ]; do
     case $tmpARG in
 	--version|--arch|--target|--build-rpm|--install-rpm|--remove-rpm)
 	    shift
-	    echo $1 | check-next-parameter
-	    [ $? -eq 1 ] && exit 1
+	    check-next-parameter $1 || exit 1
 	    ;;
 	--dist-upgrade|--with-compat32|--build|--clean)
 	    ;;