Преглед на файлове

- chroot 内のビルドユーザを設定、ユーザ権限で rpmbuild を実行
- 5.0 用 scripts と sources.list を追加



git-svn-id: http://trac.vinelinux.org/repos/projects/vbootstrap/trunk@296 ec354946-7b23-47d6-9f5a-488ba84defc7

daisuke преди 14 години
родител
ревизия
c7be8fee93
променени са 6 файла, в които са добавени 47 реда и са изтрити 3 реда
  1. 1 1
      Makefile
  2. 18 0
      vbootstrap/scripts/5.0
  3. 18 0
      vbootstrap/scripts/5.0_i386
  4. 1 0
      vbootstrap/sources.list.d/5.0
  5. 1 0
      vbootstrap/sources.list.d/5.0_i386
  6. 8 2
      vbuilder.sh.in

+ 1 - 1
Makefile

@@ -18,7 +18,7 @@ install:
 
 tarbz2: clean
 	cd .. && rm -rf ${NAME}-${VERSION}
-	cd .. && cp -arf ${NAME} ${NAME}-${VERSION}
+	cd .. && cp -arf trunk ${NAME}-${VERSION}
 	cd .. && tar --exclude CVS -cf - ${NAME}-${VERSION} | bzip2 -9 > ${NAME}-${VERSION}.tar.bz2
 	mv ../${NAME}-${VERSION}.tar.bz2 ~/rpm/SOURCES/
 	rm -rf ${NAME}-${VERSION}

+ 18 - 0
vbootstrap/scripts/5.0

@@ -0,0 +1,18 @@
+# 5.0
+
+INSTVER="5.0"
+BASE_PKGS="setup glibc coreutils bash rpm apt rootfiles libstdc++34"
+APT_LINE="-o Dir::Etc::sourcelist=$VBOOTSTRAPDIR/sources.list.d/$INSTVER"
+
+vbootstrap_post()
+{
+echo "running vbootstrap post install scripts for $INSTVER on $INSTDIR"
+cp -a /etc/resolv.conf $INSTDIR/etc/
+rm -f $INSTDIR/var/lib/rpm/__db.00*
+echo " rebuilding rpm database"
+chroot $INSTDIR rpm --rebuilddb
+echo " updating apt database"
+chroot $INSTDIR apt-get -qq update
+echo " installing vine-keyring"
+chroot $INSTDIR apt-get -qq -y --reinstall install vine-keyring
+}

+ 18 - 0
vbootstrap/scripts/5.0_i386

@@ -0,0 +1,18 @@
+# 5.0_i386
+
+INSTVER="5.0_i386"
+BASE_PKGS="setup glibc coreutils bash rpm apt rootfiles libstdc++34"
+APT_LINE="-o Dir::Etc::sourcelist=$VBOOTSTRAPDIR/sources.list.d/$INSTVER"
+
+vbootstrap_post()
+{
+echo "running vbootstrap post install scripts for $INSTVER on $INSTDIR"
+cp -a /etc/resolv.conf $INSTDIR/etc/
+rm -f $INSTDIR/var/lib/rpm/__db.00*
+echo " rebuilding rpm database"
+chroot $INSTDIR rpm --rebuilddb
+echo " updating apt database"
+chroot $INSTDIR apt-get -qq update
+echo " installing vine-keyring"
+chroot $INSTDIR apt-get -qq -y --reinstall install vine-keyring
+}

+ 1 - 0
vbootstrap/sources.list.d/5.0

@@ -0,0 +1 @@
+rpm http://updates.vinelinux.org/apt 5.0/$(ARCH) main plus nonfree

+ 1 - 0
vbootstrap/sources.list.d/5.0_i386

@@ -0,0 +1 @@
+rpm http://updates.vinelinux.org/apt 5.0/i386 main plus nonfree

+ 8 - 2
vbuilder.sh.in

@@ -44,8 +44,9 @@ setup-vbootstrap(){
     fi
 	
     BUILD_ROOT=${VBOOTSTRAP_DIR}/${VERSION}
+    BUILD_USER=vbuilder
     CACHE_DIR=${VBOOTSTRAP_DIR}/cache/${VERSION}
-    BUILD_DIR=/usr/src/vine
+    BUILD_DIR=/home/${BUILD_USER}/rpm
 
     mkdir -p $VBOOTSTRAP_DIR
 }
@@ -84,10 +85,15 @@ Build(){
 	/bin/sh -c 'apt-get -y install apt-sourceslist-nonfree && apt-get update'
     /usr/sbin/chroot ${BUILD_ROOT} \
 	/bin/sh -c 'apt-get -y install build-essential self-build-setup'
+    /usr/sbin/chroot ${BUILD_ROOT} \
+	/bin/sh -c 'apt-get -y install etcskel shadow-utils'
 
     /usr/sbin/chroot ${BUILD_ROOT} /bin/sh -c 'cd /dev && /sbin/MAKEDEV console'
     /usr/sbin/chroot ${BUILD_ROOT} /bin/sh -c 'cd /dev && /sbin/MAKEDEV null'
     /usr/sbin/chroot ${BUILD_ROOT} /bin/sh -c 'cd /dev && /sbin/MAKEDEV zero'
+    
+    /usr/sbin/chroot ${BUILD_ROOT} /bin/sh -c '/usr/sbin/pwconv'
+    /usr/sbin/chroot ${BUILD_ROOT} /bin/sh -c "/usr/sbin/useradd ${BUILD_USER}"
 }
 
 setup-vbootstrap-rpm(){
@@ -129,7 +135,7 @@ RPM_Build(){
     /usr/sbin/chroot ${BUILD_ROOT} \
 	/bin/sh -c "cd ${BUILD_DIR} && apt-get -y build-dep $BASE_RPM_PKG"
     /usr/sbin/chroot ${BUILD_ROOT} \
-	/bin/sh -c "cd ${BUILD_DIR} && rpmbuild --rebuild $RPM_OPTS $BASE_RPM_PKG"
+	/bin/sh -c "cd ${BUILD_DIR} && su ${BUILD_USER} -c 'rpmbuild --rebuild $RPM_OPTS $BASE_RPM_PKG'"
     /usr/sbin/chroot ${BUILD_ROOT} \
 	/bin/sh -c "cd ${BUILD_DIR} && apt-get -y install $(find $BUILD_ROOT${BUILD_DIR}/RPMS -type f -regex '.*\.rpm' | sed -e s@${BUILD_ROOT}@@g -e 's|.*\/compat32-.*||g' -e 's/$/ \\/g')"
 }