diff --git a/gnomeos/yocto/gnomeos-clone-qemu.sh b/gnomeos/yocto/gnomeos-clone-qemu.sh index 4e893d09..e87332e4 100755 --- a/gnomeos/yocto/gnomeos-clone-qemu.sh +++ b/gnomeos/yocto/gnomeos-clone-qemu.sh @@ -79,7 +79,7 @@ if ! test -d ostree; then $SRCDIR/ostree-setup.sh $(pwd)/ostree fi -rsync -a -H -v ${WORKDIR}/repo ${WORKDIR}/modules ${WORKDIR}/gnomeos-3.4-* ./ostree +rsync -a -H -v ${WORKDIR}/repo ${WORKDIR}/current ${WORKDIR}/modules ${WORKDIR}/gnomeos-3.4-* ./ostree current_uname=$(uname -r) @@ -89,8 +89,9 @@ sync umount fs rmdir fs +ARGS="$@" if ! echo $ARGS | grep -q 'ostree='; then - ARGS="ostree=${BRANCH_PREFIX}runtime-current $ARGS" + ARGS="ostree=current $ARGS" fi ARGS="rd.plymouth=0 root=/dev/sda $ARGS" KERNEL=/boot/vmlinuz-${current_uname} diff --git a/gnomeos/yocto/gnomeos-install.sh b/gnomeos/yocto/gnomeos-install.sh index 051b5d60..d66c16f4 100755 --- a/gnomeos/yocto/gnomeos-install.sh +++ b/gnomeos/yocto/gnomeos-install.sh @@ -45,7 +45,7 @@ cd /ostree if ! test -d /ostree/repo/objects; then mkdir -p /ostree - $SRCDIR/ostree-setup.sh /ostree + $SRCDIR/gnomeos-setup.sh /ostree fi ostree --repo=repo remote add origin http://ostree.gnome.org/repo @@ -54,17 +54,7 @@ ostree-pull --repo=repo origin gnomeos-3.4-i686-devel uname=$(uname -r) -for branch in runtime devel; do - rev=$(ostree --repo=$(pwd)/repo rev-parse ${BRANCH_PREFIX}${branch}); - if ! test -d ${BRANCH_PREFIX}${branch}-${rev}; then - ostree --repo=repo checkout ${rev} ${BRANCH_PREFIX}${branch}-${rev} - ostbuild chroot-run-triggers ${BRANCH_PREFIX}${branch}-${rev} - fi - rm -f ${BRANCH_PREFIX}${branch}-current - ln -s ${BRANCH_PREFIX}${branch}-${rev} ${BRANCH_PREFIX}${branch}-current -done -rm -f current -ln -s ${BRANCH_PREFIX}runtime-current current +$SRCDIR/gnomeos-update-branches.sh cd - @@ -87,8 +77,9 @@ fi cp -ar /lib/modules/${uname} /ostree/modules/${uname} initrd_name=initramfs-ostree-${uname}.img -initrd_tmpdir=$(mktemp -d '/tmp/gnomeos-dracut.XXXXXXXXXX') -linux-user-chroot \ +if ! test -f "/boot/${initrd_name}"; then + initrd_tmpdir=$(mktemp -d '/tmp/gnomeos-dracut.XXXXXXXXXX') + linux-user-chroot \ --mount-readonly / \ --mount-proc /proc \ --mount-bind /dev /dev \ @@ -97,5 +88,6 @@ linux-user-chroot \ --mount-bind /ostree/modules /lib/modules \ /ostree/${BRANCH_PREFIX}devel-current \ dracut -f /tmp/${initrd_name} "${uname}" -mv "${initrd_tmpdir}/${initrd_name}" "/boot/${initrd_name}" -rm -rf "${initrd_tmpdir}" + mv "${initrd_tmpdir}/${initrd_name}" "/boot/${initrd_name}" + rm -rf "${initrd_tmpdir}" +fi diff --git a/gnomeos/yocto/ostree-setup.sh b/gnomeos/yocto/gnomeos-setup.sh similarity index 100% rename from gnomeos/yocto/ostree-setup.sh rename to gnomeos/yocto/gnomeos-setup.sh diff --git a/gnomeos/yocto/gnomeos-update-branches.sh b/gnomeos/yocto/gnomeos-update-branches.sh new file mode 100755 index 00000000..eb73d483 --- /dev/null +++ b/gnomeos/yocto/gnomeos-update-branches.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# +# Copyright (C) 2011,2012 Colin Walters +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +set -e +set -x + +ARCH=i686 +BRANCH_PREFIX="gnomeos-3.4-${ARCH}-" + +test -d repo || exit 1 + +for branch in runtime devel; do + rev=$(ostree --repo=$(pwd)/repo rev-parse ${BRANCH_PREFIX}${branch}); + if ! test -d ${BRANCH_PREFIX}${branch}-${rev}; then + ostree --repo=repo checkout ${rev} ${BRANCH_PREFIX}${branch}-${rev} + ostbuild chroot-run-triggers ${BRANCH_PREFIX}${branch}-${rev} + cp -ar /lib/modules/${uname} ${BRANCH_PREFIX}${branch}-${rev}/lib/modules/${uname} + fi + ln -sf ${BRANCH_PREFIX}${branch}-${rev} ${BRANCH_PREFIX}${branch}-current.new + mv ${BRANCH_PREFIX}${branch}-current{.new,} +done +ln -sf ${BRANCH_PREFIX}runtime-current current.new +mv current.new current diff --git a/gnomeos/yocto/make-gnomeos-fs.sh b/gnomeos/yocto/make-gnomeos-fs.sh deleted file mode 100755 index 757189f9..00000000 --- a/gnomeos/yocto/make-gnomeos-fs.sh +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2011 Colin Walters -# - -set -e -set -x - -if test $(id -u) = 0; then - cat <