- escape % correctly
[sliceimage.git] / vserver-reference.spec
index 9082a80..40328d5 100644 (file)
@@ -103,7 +103,9 @@ EOF
 # Prevent all locales from being installed in reference image
 mkdir -p %{installroot}/etc/rpm
 cat > %{installroot}/etc/rpm/macros <<EOF
-%_install_langs en_US:en
+%%_install_langs en_US:en
+%%_excludedocs 1
+%%__file_context_path /dev/null
 EOF
 
 # Initialize RPM database in reference image
@@ -118,6 +120,9 @@ yum -c ./yum.conf \
 --installroot=%{installroot} \
 -y groupinstall VServer
 
+# Freshen any new RPMs
+find %{_topdir}/RPMS -type f | xargs rpm --root %{installroot} -F
+
 # Clean up /dev in reference image
 MAKEDEV
 
@@ -149,6 +154,28 @@ fi
 chattr -R -i $RPM_BUILD_ROOT
 rm -rf $RPM_BUILD_ROOT
 
+# Make sure the original user can remove the generated files
+if [ -n "$SUDO_UID" ] ; then
+    chown -R $SUDO_UID.$SUDO_GID .
+    for i in \
+       %{_topdir}/BUILD \
+       %{_topdir}/RPMS/noarch/%{name}-%{version}-%{release}.noarch.rpm \
+       %{_topdir}/RPMS/noarch \
+       %{_topdir}/RPMS/ \
+       %{_topdir}/SRPMS/%{name}-%{version}-%{release}.src.rpm \
+       %{_topdir}/SRPMS/ ; do
+      if [ -e $i ] ; then
+         chown $SUDO_UID.$SUDO_GID $i
+      fi
+    done
+fi
+
+%pre
+# 1 = install, 2 = upgrade/reinstall
+if [ $1 -eq 2 ] ; then
+    chattr -R -i %{vrefdir}
+fi
+
 %post
 # Copy configuration files from host to reference image
 for file in /etc/hosts /etc/resolv.conf /etc/yum.conf ; do