Perry Myers
2008-Nov-09 07:49 UTC
[Ovirt-devel] [PATCH appliance] Move appliance creation out of spec file to Makefile
The appliance-creator RPM is now just used to store the create-ovirt-appliance script and contains dependencies for installing and running the appliance. The appliance is also modified to be packaged in zip format. Qcow2 format for the disks is used until appliance-tools support tar. Signed-off-by: Perry Myers <pmyers at redhat.com> --- Makefile.am | 105 ++++++++++++++++++++++++++++++++++++++++------- ovirt-appliance.spec.in | 70 ++----------------------------- 2 files changed, 95 insertions(+), 80 deletions(-) diff --git a/Makefile.am b/Makefile.am index b464da0..61df672 100644 --- a/Makefile.am +++ b/Makefile.am @@ -16,16 +16,28 @@ # also available at http://www.gnu.org/copyleft/gpl.html. OVIRT_CACHE_DIR ?= $(HOME)/ovirt-cache +OVIRT_LOCAL_REPO ?= file://$(OVIRT_CACHE_DIR)/ovirt +OVIRT_URL ?= http://ovirt.org/repos/ovirt +THINCRUST_URL ?= http://thincrust.org/repo +PKG_FMT = zip +DISK_FMT ?= qcow2 + +FEDORA = $(shell rpm --eval '%{fedora}') +ARCH = $(shell rpm --eval '%{_arch}') + +NVR = $(PACKAGE)-$(VERSION)-$(ARCH) EXTRA_DIST = \ .gitignore \ - create-ovirt-appliance \ + create-$(PACKAGE) \ gettree.sh \ - ovirt-appliance.ks \ - ovirt-appliance.spec \ - ovirt-appliance.spec.in + $(PACKAGE).ks \ + $(PACKAGE).spec \ + $(PACKAGE).spec.in -DISTCLEANFILES = $(PACKAGE)-$(VERSION).tar.gz +DISTCLEANFILES = $(PACKAGE)-$(VERSION).tar.gz \ + $(NVR).$(PKG_FMT) \ + $(NVR).$(PKG_FMT).md5sum # For Release: 0..., set _ovirt_dev=1 so that we get extra_release.GIT- # annotated rpm version strings. @@ -38,15 +50,78 @@ GIT_RELEASE = $$(date --utc +%Y%m%d%H%M%S)git$(git_head) RPMDIR = $$(rpm --eval '%{_rpmdir}') RPM_FLAGS = --define "ovirt_cache_dir $(OVIRT_CACHE_DIR)" RPM_FLAGS += $(if $(_ovirt_dev),--define "extra_release .$(GIT_RELEASE)") -# FEDORA_URL env var can be set to the root of a fedora mirror -RPM_FLAGS += $(if $(FEDORA_URL),--define "fedora_url $(FEDORA_URL)") -# OVIRT_URL env var can be set to the root of an ovirt.org mirror -RPM_FLAGS += $(if $(OVIRT_URL),--define "ovirt_url $(OVIRT_URL)") -# THINCRUST_URL env var can be set to the root of an thincrust.net mirror -# FIXME: This is temporary until thincrust RPMS are in Fedora 9 Updates -RPM_FLAGS += $(if $(THINCRUST_URL),--define "thincrust_url $(THINCRUST_URL)") - -rpms: dist + +FEDORA_MIRROR = http://mirrors.fedoraproject.org/mirrorlist +FEDORA_URL_DEF = http://download.fedoraproject.org/pub/fedora/linux +CUR_RAWHIDE = 10 + +repos.ks: + ( \ + if [ 0$(FEDORA) == 0$(CUR_RAWHIDE) ]; then \ + FEDORA_REPO=rawhide ;\ + FEDORA_REPO_LOC="$(if $(FEDORA_URL),--baseurl=$(FEDORA_URL)/development/$(ARCH)/os,--mirrorlist=$(FEDORA_MIRROR)?repo=rawhide&arch=$(ARCH))" ;\ + OVIRT_DISTRO=development ;\ + else \ + FEDORA_REPO=f$(FEDORA) ;\ + FEDORA_REPO_LOC="$(if $(FEDORA_URL),--baseurl=$(FEDORA_URL)/releases/$(FEDORA)/Everything/$(ARCH)/os,--mirrorlist=$(FEDORA_MIRROR)?repo=fedora-$(FEDORA)&arch=$(ARCH))" ;\ + OVIRT_DISTRO=$(FEDORA) ;\ + UPDATE_REPO_LINE="repo --name=$${FEDORA_REPO}-updates-newkey $(if $(FEDORA_URL),--baseurl=$(FEDORA_URL)/updates/$(FEDORA)/$(ARCH).newkey,--mirrorlist=$(FEDORA_MIRROR)?repo=updates-released-f$(FEDORA).newkey&arch=$(ARCH))" ;\ + fi ;\ + echo "repo --name=$${FEDORA_REPO} $${FEDORA_REPO_LOC}" > $@ ;\ + echo "repo --name=ovirt-org --baseurl=$(OVIRT_URL)/$${OVIRT_DISTRO}/$(ARCH)" >> $@ ;\ + echo "repo --name=thincrust-org --baseurl=$(THINCRUST_URL)/noarch" >> $@ ;\ + echo "$${UPDATE_REPO_LINE}" >> $@ ;\ + echo "repo --name=ovirt-local --baseurl=$(OVIRT_LOCAL_REPO)" >> $@ \ + ) + +SELINUX_ENFORCING=$(shell /usr/sbin/getenforce) +$(NVR).$(PKG_FMT): repos.ks + mkdir -p $(OVIRT_CACHE_DIR)/$(PACKAGE)-tmp/tree + mkdir -p $(OVIRT_CACHE_DIR)/yum + ( \ + case $(SELINUX_ENFORCING) in \ + Enforcing) sudo /usr/sbin/setenforce Permissive ;; \ + Permissive) ;; \ + *) if ksflatten $(PACKAGE).ks 2>/dev/null \ + | grep -q '^selinux --disabled'; then \ + echo WARNING: SELinux disabled in kickstart ;\ + else \ + echo ERROR: SELinux enabled in kickstart, \ + but disabled on the build machine ;\ + exit 1 ;\ + fi ;; \ + esac ;\ + if [ 0$(FEDORA) == 0$(CUR_RAWHIDE) ]; then \ + FEDORA_TREE_URL="$(if $(FEDORA_URL),$(FEDORA_URL)/development/$(ARCH)/os,$(FEDORA_URL_DEF)/development/$(ARCH)/os)" ;\ + else \ + FEDORA_TREE_URL="$(if $(FEDORA_URL),$(FEDORA_URL)/releases/$(FEDORA)/Fedora/$(ARCH)/os,$(FEDORA_URL_DEF)/releases/$(FEDORA)/Fedora/$(ARCH)/os)" ;\ + fi ;\ + ./gettree.sh $${FEDORA_TREE_URL} $(OVIRT_CACHE_DIR)/$(PACKAGE)-tmp/tree ;\ + ) + + ln -s $(OVIRT_CACHE_DIR)/$(PACKAGE)-tmp tmp + sudo -E appliance-creator --config $(PACKAGE).ks \ + --name $(PACKAGE) -f $(DISK_FMT) -p $(PKG_FMT) -d -v \ + --tmpdir='$(OVIRT_CACHE_DIR)/$(PACKAGE)-tmp' \ + --cache='$(OVIRT_CACHE_DIR)/yum' \ + --vmem=768 + sudo chown $${USER} $(PACKAGE).$(PKG_FMT) + ( \ + if [ $(SELINUX_ENFORCING) = Enforcing ]; then \ + sudo /usr/sbin/setenforce Enforcing || exit 1 ;\ + fi \ + ) + + mv $(PACKAGE).$(PKG_FMT) $(NVR).$(PKG_FMT) + zip -u $(NVR).$(PKG_FMT) create-$(PACKAGE) create-ovirt-nodes \ + create-ovirt-network $(PACKAGE)-functions get-$(PACKAGE) + +$(NVR).$(PKG_FMT).md5sum: $(NVR).$(PKG_FMT) + md5sum $(NVR).$(PKG_FMT) > $(NVR).$(PKG_FMT).md5sum + +appliance: $(NVR).$(PKG_FMT).md5sum + +rpms: dist appliance rpmbuild $(RPM_FLAGS) -ta $(distdir).tar.gz publish: rpms @@ -55,4 +130,4 @@ publish: rpms rsync -aq $(shell rpm --eval '%{_srcrpmdir}')/ $(OVIRT_CACHE_DIR)/ovirt/src/ createrepo $(OVIRT_CACHE_DIR)/ovirt -.PHONY: rpms publish +.PHONY: rpms publish $(NVR).$(PKG_FMT).md5sum $(NVR).$(PKG_FMT) diff --git a/ovirt-appliance.spec.in b/ovirt-appliance.spec.in index fdf942f..df02a85 100644 --- a/ovirt-appliance.spec.in +++ b/ovirt-appliance.spec.in @@ -1,12 +1,3 @@ -%{!?ovirt_cache_dir: %define ovirt_cache_dir /var/tmp/ovirt-cache} -%{!?ovirt_local_repo: %define ovirt_local_repo file://%{ovirt_cache_dir}/ovirt} -%{!?ovirt_url: %define ovirt_url http://ovirt.org/repos/ovirt} -%{!?thincrust_url: %define thincrust_url http://www.thincrust.net/repo} -%{?fedora_url: %define fedora_tree_url %{fedora_url}/releases/%{fedora}/Fedora/%{_arch}/os} -%{!?fedora_tree_url: %define fedora_tree_url http://download.fedoraproject.org/pub/fedora/linux/releases/%{fedora}/Fedora/%{_arch}/os} -%{!?bad_pkgs: %define bad_pkgs ""} -%define fedora_mirror http://mirrors.fedoraproject.org/mirrorlist - Summary: oVirt Appliance Name: ovirt-appliance Version: @VERSION@ @@ -15,12 +6,8 @@ Source0: %{name}-%{version}.tar.gz License: GPLv2+ Group: Applications/System BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot +BuildArch: noarch URL: http://ovirt.org/ -BuildRequires: appliance-tools appliance-os -BuildRequires: livecd-tools >= 017 -BuildRequires: syslinux -BuildRequires: qemu-img -BuildRequires: wget # FIXME: libvirt and kvm require ovirt specific patches presently due to # the fact that migration has not been fixed upstream. Once upstream migration # is fixed, these Requires should be fixed. @@ -35,59 +22,12 @@ Requires: augeas %define debug_package %{nil} %description -The oVirt Appliance image and scripts to install on a Fedora Host +The oVirt Appliance scripts to install on a Fedora Host %prep %setup -q %build -%if 0%{?fedora} == 010 - # XXX current rawhide - %if "%{?fedora_url}" == "" -cat > repos.ks << EOF -repo --name=rawhide --mirrorlist=%{fedora_mirror}?repo=rawhide&arch=%{_arch} -EOF - %else -cat > repos.ks << EOF -repo --name=rawhide --baseurl=%{fedora_url}/development/%{_arch}/os -EOF - %endif -cat >> repos.ks << EOF -repo --name=ovirt-org --baseurl=%{ovirt_url}/development/%{_arch} -EOF -%else - %if "%{?fedora_url}" == "" -cat > repos.ks << EOF -repo --name=f%{fedora} --mirrorlist=%{fedora_mirror}?repo=fedora-%{fedora}&arch=%{_arch} -repo --name=f%{fedora}-updates-newkey --mirrorlist=%{fedora_mirror}?repo=updates-released-f%{fedora}.newkey&arch=%{_arch} --excludepkgs=%{bad_pkgs} -EOF - %else -cat > repos.ks << EOF -repo --name=f%{fedora} --baseurl=%{fedora_url}/releases/%{fedora}/Everything/%{_arch}/os -repo --name=f%{fedora}-updates-newkey --baseurl=%{fedora_url}/updates/%{fedora}/%{_arch}.newkey --excludepkgs=%{bad_pkgs} -EOF - %endif -cat >> repos.ks << EOF -repo --name=ovirt-org --baseurl=%{ovirt_url}/%{fedora}/%{_arch} -EOF -%endif - -cat >> repos.ks << EOF -repo --name=ovirt-local --baseurl=%{ovirt_local_repo} -repo --name=thincrust-org --baseurl=%{thincrust_url}/noarch - -EOF - -mkdir -p %{ovirt_cache_dir}/appliance-tmp/tree -mkdir -p %{ovirt_cache_dir}/yum -./gettree.sh %{fedora_tree_url} %{ovirt_cache_dir}/appliance-tmp/tree -ln -s %{ovirt_cache_dir}/appliance-tmp tmp -sudo su - -c "cd $(pwd) && appliance-creator --config ovirt-appliance.ks \ - --name %{name} -f qcow2 -d -v \ - --tmpdir='%{ovirt_cache_dir}/appliance-tmp' \ - --cache='%{ovirt_cache_dir}/yum'" -sudo su - -c "cd $(pwd) && chown -R $USER ." -mv %{name}-sda.qcow2 %{name}.img %install %{__rm} -rf %{buildroot} @@ -95,8 +35,6 @@ mkdir %{buildroot} %{__install} -d -m0755 %{buildroot}%{app_root} %{__install} -p -m0644 COPYING %{buildroot}%{app_root} -%{__install} -d -m0755 %{buildroot}%{_localstatedir}/lib/libvirt/images -%{__install} -p -m0644 %{name}.img %{buildroot}%{_localstatedir}/lib/libvirt/images %{__install} -d -m0755 %{buildroot}%{_sbindir} %{__install} -p -m0755 create-%{name} %{buildroot}%{_sbindir} @@ -106,11 +44,13 @@ mkdir %{buildroot} %files %defattr(-,root,root,0644) %{app_root}/COPYING -%{_localstatedir}/lib/libvirt/images/%{name}.img %defattr(-,root,root,0755) %{_sbindir}/create-%{name} %changelog +* Wed Nov 05 2008 Perry Myers <pmyers at redhat.com> 0.96 +- Removed appliance building from rpm. RPM now just contains tools to + download image and install it * Sun Sep 14 2008 Perry Myers <pmyers at redhat.com> 0.92-1 - Added Requires on libvirt/kvm * Fri Sep 05 2008 Perry Myers <pmyers at redhat.com> 0.92-1 -- 1.6.0.3
Alan Pevec
2008-Nov-10 14:16 UTC
[Ovirt-devel] Re: [PATCH appliance] Move appliance creation out of spec file to Makefile
Perry Myers wrote:> -ln -s %{ovirt_cache_dir}/appliance-tmp tmp > + ln -s $(OVIRT_CACHE_DIR)/$(PACKAGE)-tmp tmpln -snf ... otherwise it fails 2nd time prolly not worth optimizing, but due to tmpdir name change (appliance-tmp -> ovirt-appliance-tmp) Fedora image will be re-downloaded ( ~100MB )> -sudo su - -c "cd $(pwd) && appliance-creator --config ovirt-appliance.ks \ > + sudo -E appliance-creator --config $(PACKAGE).ks \appliance-creator assumes grub in PATH, so this fails when installing grub. Until appliance-tools is fixed, workaround could be to modify PATH before running sudo
Perry Myers
2008-Nov-10 15:10 UTC
[Ovirt-devel] [PATCH appliance] Move appliance creation out of spec file to Makefile
The appliance-creator RPM is now just used to store the create-ovirt-appliance script and contains dependencies for installing and running the appliance. The appliance is also modified to be packaged in zip format. Qcow2 format for the disks is used until appliance-tools support tar. Signed-off-by: Perry Myers <pmyers at redhat.com> --- Makefile.am | 105 ++++++++++++++++++++++++++++++++++++++++------- ovirt-appliance.spec.in | 70 ++----------------------------- 2 files changed, 95 insertions(+), 80 deletions(-) diff --git a/Makefile.am b/Makefile.am index b464da0..add3f79 100644 --- a/Makefile.am +++ b/Makefile.am @@ -16,16 +16,28 @@ # also available at http://www.gnu.org/copyleft/gpl.html. OVIRT_CACHE_DIR ?= $(HOME)/ovirt-cache +OVIRT_LOCAL_REPO ?= file://$(OVIRT_CACHE_DIR)/ovirt +OVIRT_URL ?= http://ovirt.org/repos/ovirt +THINCRUST_URL ?= http://thincrust.org/repo +PKG_FMT = zip +DISK_FMT ?= qcow2 + +FEDORA = $(shell rpm --eval '%{fedora}') +ARCH = $(shell rpm --eval '%{_arch}') + +NVR = $(PACKAGE)-$(VERSION)-$(ARCH) EXTRA_DIST = \ .gitignore \ - create-ovirt-appliance \ + create-$(PACKAGE) \ gettree.sh \ - ovirt-appliance.ks \ - ovirt-appliance.spec \ - ovirt-appliance.spec.in + $(PACKAGE).ks \ + $(PACKAGE).spec \ + $(PACKAGE).spec.in -DISTCLEANFILES = $(PACKAGE)-$(VERSION).tar.gz +DISTCLEANFILES = $(PACKAGE)-$(VERSION).tar.gz \ + $(NVR).$(PKG_FMT) \ + $(NVR).$(PKG_FMT).md5sum # For Release: 0..., set _ovirt_dev=1 so that we get extra_release.GIT- # annotated rpm version strings. @@ -38,15 +50,78 @@ GIT_RELEASE = $$(date --utc +%Y%m%d%H%M%S)git$(git_head) RPMDIR = $$(rpm --eval '%{_rpmdir}') RPM_FLAGS = --define "ovirt_cache_dir $(OVIRT_CACHE_DIR)" RPM_FLAGS += $(if $(_ovirt_dev),--define "extra_release .$(GIT_RELEASE)") -# FEDORA_URL env var can be set to the root of a fedora mirror -RPM_FLAGS += $(if $(FEDORA_URL),--define "fedora_url $(FEDORA_URL)") -# OVIRT_URL env var can be set to the root of an ovirt.org mirror -RPM_FLAGS += $(if $(OVIRT_URL),--define "ovirt_url $(OVIRT_URL)") -# THINCRUST_URL env var can be set to the root of an thincrust.net mirror -# FIXME: This is temporary until thincrust RPMS are in Fedora 9 Updates -RPM_FLAGS += $(if $(THINCRUST_URL),--define "thincrust_url $(THINCRUST_URL)") - -rpms: dist + +FEDORA_MIRROR = http://mirrors.fedoraproject.org/mirrorlist +FEDORA_URL_DEF = http://download.fedoraproject.org/pub/fedora/linux +CUR_RAWHIDE = 10 + +repos.ks: + ( \ + if [ 0$(FEDORA) == 0$(CUR_RAWHIDE) ]; then \ + FEDORA_REPO=rawhide ;\ + FEDORA_REPO_LOC="$(if $(FEDORA_URL),--baseurl=$(FEDORA_URL)/development/$(ARCH)/os,--mirrorlist=$(FEDORA_MIRROR)?repo=rawhide&arch=$(ARCH))" ;\ + OVIRT_DISTRO=development ;\ + else \ + FEDORA_REPO=f$(FEDORA) ;\ + FEDORA_REPO_LOC="$(if $(FEDORA_URL),--baseurl=$(FEDORA_URL)/releases/$(FEDORA)/Everything/$(ARCH)/os,--mirrorlist=$(FEDORA_MIRROR)?repo=fedora-$(FEDORA)&arch=$(ARCH))" ;\ + OVIRT_DISTRO=$(FEDORA) ;\ + UPDATE_REPO_LINE="repo --name=$${FEDORA_REPO}-updates-newkey $(if $(FEDORA_URL),--baseurl=$(FEDORA_URL)/updates/$(FEDORA)/$(ARCH).newkey,--mirrorlist=$(FEDORA_MIRROR)?repo=updates-released-f$(FEDORA).newkey&arch=$(ARCH))" ;\ + fi ;\ + echo "repo --name=$${FEDORA_REPO} $${FEDORA_REPO_LOC}" > $@ ;\ + echo "repo --name=ovirt-org --baseurl=$(OVIRT_URL)/$${OVIRT_DISTRO}/$(ARCH)" >> $@ ;\ + echo "repo --name=thincrust-org --baseurl=$(THINCRUST_URL)/noarch" >> $@ ;\ + echo "$${UPDATE_REPO_LINE}" >> $@ ;\ + echo "repo --name=ovirt-local --baseurl=$(OVIRT_LOCAL_REPO)" >> $@ \ + ) + +SELINUX_ENFORCING=$(shell /usr/sbin/getenforce) +$(NVR).$(PKG_FMT): repos.ks + mkdir -p $(OVIRT_CACHE_DIR)/$(PACKAGE)-tmp/tree + mkdir -p $(OVIRT_CACHE_DIR)/yum + ( \ + case $(SELINUX_ENFORCING) in \ + Enforcing) sudo /usr/sbin/setenforce Permissive ;; \ + Permissive) ;; \ + *) if ksflatten $(PACKAGE).ks 2>/dev/null \ + | grep -q '^selinux --disabled'; then \ + echo WARNING: SELinux disabled in kickstart ;\ + else \ + echo ERROR: SELinux enabled in kickstart, \ + but disabled on the build machine ;\ + exit 1 ;\ + fi ;; \ + esac ;\ + if [ 0$(FEDORA) == 0$(CUR_RAWHIDE) ]; then \ + FEDORA_TREE_URL="$(if $(FEDORA_URL),$(FEDORA_URL)/development/$(ARCH)/os,$(FEDORA_URL_DEF)/development/$(ARCH)/os)" ;\ + else \ + FEDORA_TREE_URL="$(if $(FEDORA_URL),$(FEDORA_URL)/releases/$(FEDORA)/Fedora/$(ARCH)/os,$(FEDORA_URL_DEF)/releases/$(FEDORA)/Fedora/$(ARCH)/os)" ;\ + fi ;\ + ./gettree.sh $${FEDORA_TREE_URL} $(OVIRT_CACHE_DIR)/$(PACKAGE)-tmp/tree ;\ + ) + + ln -snf $(OVIRT_CACHE_DIR)/$(PACKAGE)-tmp tmp + sudo su - -c "cd $(PWD) && appliance-creator --config $(PACKAGE).ks \ + --name $(PACKAGE) -f $(DISK_FMT) -p $(PKG_FMT) -d -v \ + --tmpdir='$(OVIRT_CACHE_DIR)/$(PACKAGE)-tmp' \ + --cache='$(OVIRT_CACHE_DIR)/yum' \ + --vmem=768" + sudo chown $${USER} $(PACKAGE).$(PKG_FMT) + ( \ + if [ $(SELINUX_ENFORCING) = Enforcing ]; then \ + sudo /usr/sbin/setenforce Enforcing || exit 1 ;\ + fi \ + ) + + mv $(PACKAGE).$(PKG_FMT) $(NVR).$(PKG_FMT) + zip -u $(NVR).$(PKG_FMT) create-$(PACKAGE) create-ovirt-nodes \ + create-ovirt-network $(PACKAGE)-functions get-$(PACKAGE) + +$(NVR).$(PKG_FMT).md5sum: $(NVR).$(PKG_FMT) + md5sum $(NVR).$(PKG_FMT) > $(NVR).$(PKG_FMT).md5sum + +appliance: $(NVR).$(PKG_FMT).md5sum + +rpms: dist appliance rpmbuild $(RPM_FLAGS) -ta $(distdir).tar.gz publish: rpms @@ -55,4 +130,4 @@ publish: rpms rsync -aq $(shell rpm --eval '%{_srcrpmdir}')/ $(OVIRT_CACHE_DIR)/ovirt/src/ createrepo $(OVIRT_CACHE_DIR)/ovirt -.PHONY: rpms publish +.PHONY: rpms publish $(NVR).$(PKG_FMT).md5sum $(NVR).$(PKG_FMT) diff --git a/ovirt-appliance.spec.in b/ovirt-appliance.spec.in index fdf942f..df02a85 100644 --- a/ovirt-appliance.spec.in +++ b/ovirt-appliance.spec.in @@ -1,12 +1,3 @@ -%{!?ovirt_cache_dir: %define ovirt_cache_dir /var/tmp/ovirt-cache} -%{!?ovirt_local_repo: %define ovirt_local_repo file://%{ovirt_cache_dir}/ovirt} -%{!?ovirt_url: %define ovirt_url http://ovirt.org/repos/ovirt} -%{!?thincrust_url: %define thincrust_url http://www.thincrust.net/repo} -%{?fedora_url: %define fedora_tree_url %{fedora_url}/releases/%{fedora}/Fedora/%{_arch}/os} -%{!?fedora_tree_url: %define fedora_tree_url http://download.fedoraproject.org/pub/fedora/linux/releases/%{fedora}/Fedora/%{_arch}/os} -%{!?bad_pkgs: %define bad_pkgs ""} -%define fedora_mirror http://mirrors.fedoraproject.org/mirrorlist - Summary: oVirt Appliance Name: ovirt-appliance Version: @VERSION@ @@ -15,12 +6,8 @@ Source0: %{name}-%{version}.tar.gz License: GPLv2+ Group: Applications/System BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot +BuildArch: noarch URL: http://ovirt.org/ -BuildRequires: appliance-tools appliance-os -BuildRequires: livecd-tools >= 017 -BuildRequires: syslinux -BuildRequires: qemu-img -BuildRequires: wget # FIXME: libvirt and kvm require ovirt specific patches presently due to # the fact that migration has not been fixed upstream. Once upstream migration # is fixed, these Requires should be fixed. @@ -35,59 +22,12 @@ Requires: augeas %define debug_package %{nil} %description -The oVirt Appliance image and scripts to install on a Fedora Host +The oVirt Appliance scripts to install on a Fedora Host %prep %setup -q %build -%if 0%{?fedora} == 010 - # XXX current rawhide - %if "%{?fedora_url}" == "" -cat > repos.ks << EOF -repo --name=rawhide --mirrorlist=%{fedora_mirror}?repo=rawhide&arch=%{_arch} -EOF - %else -cat > repos.ks << EOF -repo --name=rawhide --baseurl=%{fedora_url}/development/%{_arch}/os -EOF - %endif -cat >> repos.ks << EOF -repo --name=ovirt-org --baseurl=%{ovirt_url}/development/%{_arch} -EOF -%else - %if "%{?fedora_url}" == "" -cat > repos.ks << EOF -repo --name=f%{fedora} --mirrorlist=%{fedora_mirror}?repo=fedora-%{fedora}&arch=%{_arch} -repo --name=f%{fedora}-updates-newkey --mirrorlist=%{fedora_mirror}?repo=updates-released-f%{fedora}.newkey&arch=%{_arch} --excludepkgs=%{bad_pkgs} -EOF - %else -cat > repos.ks << EOF -repo --name=f%{fedora} --baseurl=%{fedora_url}/releases/%{fedora}/Everything/%{_arch}/os -repo --name=f%{fedora}-updates-newkey --baseurl=%{fedora_url}/updates/%{fedora}/%{_arch}.newkey --excludepkgs=%{bad_pkgs} -EOF - %endif -cat >> repos.ks << EOF -repo --name=ovirt-org --baseurl=%{ovirt_url}/%{fedora}/%{_arch} -EOF -%endif - -cat >> repos.ks << EOF -repo --name=ovirt-local --baseurl=%{ovirt_local_repo} -repo --name=thincrust-org --baseurl=%{thincrust_url}/noarch - -EOF - -mkdir -p %{ovirt_cache_dir}/appliance-tmp/tree -mkdir -p %{ovirt_cache_dir}/yum -./gettree.sh %{fedora_tree_url} %{ovirt_cache_dir}/appliance-tmp/tree -ln -s %{ovirt_cache_dir}/appliance-tmp tmp -sudo su - -c "cd $(pwd) && appliance-creator --config ovirt-appliance.ks \ - --name %{name} -f qcow2 -d -v \ - --tmpdir='%{ovirt_cache_dir}/appliance-tmp' \ - --cache='%{ovirt_cache_dir}/yum'" -sudo su - -c "cd $(pwd) && chown -R $USER ." -mv %{name}-sda.qcow2 %{name}.img %install %{__rm} -rf %{buildroot} @@ -95,8 +35,6 @@ mkdir %{buildroot} %{__install} -d -m0755 %{buildroot}%{app_root} %{__install} -p -m0644 COPYING %{buildroot}%{app_root} -%{__install} -d -m0755 %{buildroot}%{_localstatedir}/lib/libvirt/images -%{__install} -p -m0644 %{name}.img %{buildroot}%{_localstatedir}/lib/libvirt/images %{__install} -d -m0755 %{buildroot}%{_sbindir} %{__install} -p -m0755 create-%{name} %{buildroot}%{_sbindir} @@ -106,11 +44,13 @@ mkdir %{buildroot} %files %defattr(-,root,root,0644) %{app_root}/COPYING -%{_localstatedir}/lib/libvirt/images/%{name}.img %defattr(-,root,root,0755) %{_sbindir}/create-%{name} %changelog +* Wed Nov 05 2008 Perry Myers <pmyers at redhat.com> 0.96 +- Removed appliance building from rpm. RPM now just contains tools to + download image and install it * Sun Sep 14 2008 Perry Myers <pmyers at redhat.com> 0.92-1 - Added Requires on libvirt/kvm * Fri Sep 05 2008 Perry Myers <pmyers at redhat.com> 0.92-1 -- 1.6.0.3