0589e35f48
1) Use /tmp/qubes-installer-workdir instead of the ugly /Devel/Qubes 2) Use local fedora repo instead of the remote one 3) Still keep the remote fedora repo for extra packages (with higher cost though) 4) Use local repo keys!!! 5) Use nice update_repo.sh script All in all now use 5 repos during installation: * build/yum/installer (installer-related rpms) * build/yum/qubes-dom0 (all the Qubes stuff) * build/yum/dom0-updates (for select 3rd party packages, e.g. Xorg) * build/fedora13-repo (local fedora 13 repo, copy from DVD, we don't keep it uder build/yum, because we don't want our update script to process it every time) * remote fedora repo for extra packages (usually deps for qubes-dom0)
93 lines
3.9 KiB
Makefile
93 lines
3.9 KiB
Makefile
#
|
|
# The Qubes OS Project, http://www.qubes-os.org
|
|
#
|
|
# Copyright (C) 2011 Tomasz Sterna <tomek@xiaoka.com>
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
#
|
|
# This program 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 General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
#
|
|
#
|
|
|
|
TOP := $(shell pwd)
|
|
RPMBUILD_DEFINES := --define "_rpmdir rpm/" --define "_sourcedir $(TOP)/rpm/SOURCES"
|
|
|
|
spec_version = $(shell sed -n '/^Version:/s/.*:[ \t]\+//p' $(1))
|
|
package = $(shell \
|
|
cd rpm/SOURCES; \
|
|
rm -f $(1)-$(2)*; \
|
|
ln -s ../../$(1) $(1)-$(2); \
|
|
tar jcf $(1)-$(2).tar.bz2 --dereference --exclude-vcs $(1)-$(2); \
|
|
rm $(1)-$(2) )
|
|
|
|
ANACONDA_VERSION := $(call spec_version,anaconda/anaconda.spec)
|
|
FIRSTBOOT_VERSION := $(call spec_version,firstboot/firstboot.spec)
|
|
QBSLOGOS_VERSION := $(call spec_version,qubes-logos/qubes-logos.spec)
|
|
QBSRELEASE_VERSION := $(call spec_version,qubes-release/qubes-release.spec)
|
|
REVISOR_VERSION := $(call spec_version,revisor/revisor.spec)
|
|
|
|
help:
|
|
@echo "make rpms <--- make all rpms and sign them";\
|
|
echo "make rpms_anaconda <--- create binary rpms for Anaconda"; \
|
|
echo "make rpms_firstboot <--- create binary rpms for Firstboot"; \
|
|
echo "make rpms_logos <--- create binary rpms for Qubes Logos package"; \
|
|
echo "make rpms_release <--- create binary rpms for Qubes Release package"; \
|
|
echo "make rpms_revisor <--- create binary rpms for Revisor"; \
|
|
echo; \
|
|
echo "make update-repo <-- copy newly generated rpms to installer yum repo";\
|
|
exit 0;
|
|
|
|
.PHONY: rpms rpms_anaconda rpms_firstboot rpms_logos rpms_release rpms_revisor \
|
|
update-repo update-repo-testing clean
|
|
|
|
rpms: rpms_anaconda rpms_firstboot rpms_logos rpms_release rpms_revisor
|
|
rpm --addsign `ls -d rpm/x86_64/*.rpm rpm/i686/*.rpm rpm/noarch/*.rpm 2>/dev/null`
|
|
|
|
rpm/SOURCES/anaconda-$(ANACONDA_VERSION).tar.bz2: anaconda anaconda/anaconda.spec
|
|
$(call package,anaconda,$(ANACONDA_VERSION))
|
|
|
|
rpm/SOURCES/firstboot-$(FIRSTBOOT_VERSION).tar.bz2: firstboot firstboot/firstboot.spec
|
|
$(call package,firstboot,$(FIRSTBOOT_VERSION))
|
|
|
|
rpm/SOURCES/qubes-logos-$(QBSLOGOS_VERSION).tar.bz2: qubes-logos qubes-logos/qubes-logos.spec
|
|
$(call package,qubes-logos,$(QBSLOGOS_VERSION))
|
|
|
|
rpm/SOURCES/qubes-release-$(QBSRELEASE_VERSION).tar.bz2: qubes-release qubes-release/qubes-release.spec
|
|
$(call package,qubes-release,$(QBSRELEASE_VERSION))
|
|
|
|
rpms_anaconda: rpm/SOURCES/anaconda-$(ANACONDA_VERSION).tar.bz2
|
|
rpmbuild $(RPMBUILD_DEFINES) -bb anaconda/anaconda.spec
|
|
|
|
rpms_firstboot: rpm/SOURCES/firstboot-$(FIRSTBOOT_VERSION).tar.bz2
|
|
rpmbuild $(RPMBUILD_DEFINES) -bb firstboot/firstboot.spec
|
|
|
|
rpms_logos: rpm/SOURCES/qubes-logos-$(QBSLOGOS_VERSION).tar.bz2
|
|
rpmbuild $(RPMBUILD_DEFINES) -bb qubes-logos/qubes-logos.spec
|
|
|
|
rpms_release: rpm/SOURCES/qubes-release-$(QBSRELEASE_VERSION).tar.bz2
|
|
rpmbuild $(RPMBUILD_DEFINES) -bb qubes-release/qubes-release.spec
|
|
|
|
rpms_revisor: revisor/revisor-$(REVISOR_VERSION).tar.gz revisor/revisor.spec
|
|
rpmbuild --define "_rpmdir rpm/" --define "_sourcedir $(TOP)/revisor" -bb revisor/revisor.spec
|
|
|
|
RPMS = rpm/noarch/qubes-logos-$(QBSLOGOS_VERSION)-*.rpm \
|
|
rpm/noarch/qubes-release-$(QBSRELEASE_VERSION)-*.rpm \
|
|
rpm/noarch/revisor*-$(REVISOR_VERSION)-*.rpm \
|
|
rpm/x86_64/anaconda-$(ANACONDA_VERSION)-*.rpm \
|
|
rpm/x86_64/firstboot-$(FIRSTBOOT_VERSION)-*.rpm
|
|
|
|
update-repo:
|
|
ln -f $(RPMS) build/yum/installer/rpm/
|
|
build/yum/installer/update_repo.sh
|
|
|