diff options
author | Colin Walters <walters@verbum.org> | 2013-07-08 10:10:52 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2013-07-08 10:10:52 -0400 |
commit | 01f1932796560755bba7236007dc6a020155e316 (patch) | |
tree | 028c11cbc1ba2df587de39470eeda596ce5e3ac7 | |
parent | 3eb35f6e9c2e9924b0abc78ec02d4d40ac9e4b6e (diff) | |
download | fedora-ostree-01f1932796560755bba7236007dc6a020155e316.tar.gz fedora-ostree-01f1932796560755bba7236007dc6a020155e316.tar.xz fedora-ostree-01f1932796560755bba7236007dc6a020155e316.zip |
-rwxr-xr-x | make-fedora-ostree-tarball | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/make-fedora-ostree-tarball b/make-fedora-ostree-tarball index c774ce7..c27c5a2 100755 --- a/make-fedora-ostree-tarball +++ b/make-fedora-ostree-tarball @@ -1,32 +1,34 @@ #!/usr/bin/env bash srcdir=$(dirname $0) +builddir=$(pwd) releasever=19 name=fedora-ostree-${releasever} prefix=$(pwd)/${name} -root=${prefix}.tmp +yumroot=${prefix}.yum +targetroot=${prefix}.root output=${name}.tar.gz -yumcachedir=${root}/var/cache/yum -yumcache_lookaside=${prefix}-yum-cache -logs_lookaside=${prefix}-logs +yumcachedir=${yumroot}/var/cache/yum +yumcache_lookaside=${prefix}.yum-cache +logs_lookaside=${prefix}.logs set -x set -e -rm ${root} -rf +rm ${yumroot} -rf if test -d ${yumcache_lookaside}; then - mkdir -p ${root}/var/cache/ + mkdir -p ${yumroot}/var/cache/ cp -a ${yumcache_lookaside} ${yumcachedir} fi -yum -c ${srcdir}/fedora-ostree.repo -y --releasever=${releasever} --nogpg --installroot=${root} --disablerepo='*' --enablerepo=fedora --enablerepo=fedora-ostree install systemd passwd yum ostree fedora-release vim-minimal kernel dracut e2fsprogs less +yum -c ${srcdir}/fedora-ostree.repo -y --releasever=${releasever} --nogpg --installroot=${yumroot} --disablerepo='*' --enablerepo=fedora --enablerepo=fedora-ostree install systemd passwd yum ostree fedora-release vim-minimal kernel dracut e2fsprogs less if test "${mfotbreak}" = "post-yum"; then bash fi # Now make an empty "real" root -rm ${root}.real -rf -mkdir ${root}.real -cd ${root}.real +rm ${targetroot} -rf +mkdir ${targetroot} +cd ${targetroot} for d in dev proc run sys var; do mkdir $d @@ -55,16 +57,16 @@ ln -s sysroot/tmp tmp ln -s var/home home # These are the only directories we take from the Fedora build -mv ${root}/usr . +mv ${yumroot}/usr . # Except /usr/local -> ../var/usrlocal rm usr/local -rf ln -s ../var/usrlocal usr/local # And /etc -> /usr/etc rm usr/etc -rf -mv ${root}/etc usr/etc +mv ${yumroot}/etc usr/etc # Move boot, but rename the kernel/initramfs to have a checksum -mv ${root}/boot . +mv ${yumroot}/boot . kernel=$(ls boot/vmlinuz-3*) initramfs=$(ls boot/initramfs-3*) bootcsum=$(cat ${kernel} ${initramfs} | sha256sum | cut -f 1 -d ' ') @@ -72,25 +74,24 @@ mv ${kernel} ${kernel}-${bootcsum} mv ${initramfs} ${initramfs}-${bootcsum} # Also move the toplevel compat links -mv ${root}/lib . -if test -L ${root}/lib64; then - mv ${root}/lib64 . +mv ${yumroot}/lib . +if test -L ${yumroot}/lib64; then + mv ${yumroot}/lib64 . fi -mv ${root}/bin . -mv ${root}/sbin . +mv ${yumroot}/bin . +mv ${yumroot}/sbin . mkdir -p usr/lib/tmpfiles.d -cp $(srcdir)/tmpfiles-gnome-ostree.conf usr/lib/tmpfiles.d +cp ${srcdir}/tmpfiles-gnome-ostree.conf usr/lib/tmpfiles.d # Ok, let's globally fix permissions in the Fedora content; # everything is root owned, all directories are u=rwx,g=rx,og=rx. -chown -R -h 0:0 usr etc boot -for x in usr etc boot; do +chown -R -h 0:0 usr boot +for x in usr boot; do find $x -type d -exec chmod u=rwx,g=rx,og=rx "{}" \; done -# Blow away stuff we don't want here -rm ${root}/var/lib/yum/* -rf +cd ${builddir} # Attempt to cache stuff between runs rm ${yumcache_lookaside} -rf @@ -99,8 +100,9 @@ mv ${yumcachedir} ${yumcache_lookaside} # And move the log files out rm "${logs_lookaside}" -rf mkdir -p "${logs_lookaside}" -mv ${root}/var/log/* ${logs_lookaside} +mv ${yumroot}/var/log/* ${logs_lookaside} -tar -c -z -C ${root} -f ${output} . +tar -c -z -C ${targetroot} -f ${output} . echo "Generated ${output}" -rm ${root} -rf +rm ${yumroot} -rf +rm ${targetroot} -rf |