RPM/CommonMakefile
Aller à la navigation
Aller à la recherche
Fichier Makefile servant à fedora17 ( domicile )
RPMDEFINES := --define "_sourcedir $(SRCDIR)" \
--define "_specdir $(SRCDIR)" \
--define "_srcrpmdir $(SRCDIR)" \
--define "_rpmdir $(SRCDIR)"
SRCDEFINES := --define "_source_filedigest_algorithm 1" \
--define "_binary_filedigest_algorithm 1"
TARGET := fedora-17-x86_64
all: clean build
clean:
@echo Clean $(NAME) in $(SRCDIR)
@rm -rfv *~ *.log *.rpm
rpmlint:
rpmlint *.rpm > $(SRCDIR)/lint.log || true
srpm:
rpmbuild $(RPMDEFINES) $(SRCDEFINES) -bs $(NAME).spec
build: srpm
mock -r '$(TARGET)' rebuild *.src.rpm
mv /var/lib/mock/$(TARGET)/result/*.rpm $(SRCDIR)
mv /var/lib/mock/$(TARGET)/result/*.log $(SRCDIR)
Repo b2p
SRPM_OPTS := --define "_binary_filedigest_algorithm md5" \
--define "_source_filedigest_algorithm md5" \
--define "_srcrpmdir $(SRCDIR)" \
--define "_sourcedir $(SRCDIR)" \
--nodeps
SPECS := *.spec
DISTROS := 5 6
SRPMS := *.src.rpm
MOCK_ROOT := /var/lib/mock
ARCHES := i386 x86_64
REPO := /home/didier/repository
targets: clean mock updaterepo
sources: $(SPECS)
rpmbuild -bs $(SRPM_OPTS) $<
rpmlint: $(SPECS) sources
rpmlint $(SPECS) $(SRPMS) > $(SRCDIR)/rpmlint.log
centos%: sources
for srpm in *.src.rpm ; do name=$$(rpm -qp --queryformat %{NAME} \
$$sources) ; plague-client build $$name $$srpm $@ ; done
clean:
@echo Cleaning $(NAME)
@rm -f *.src.rpm *.log *~
mock: sources
@for srpm in $(SRPMS) ; do \
for distro in $(DISTROS) ; do \
for arch in $(ARCHES) ; do \
mock -r centos-$$distro-$$arch $$srpm ; \
for log in $(MOCK_ROOT)/centos-$$distro-$$arch/result/*.log ; do \
newname=$$(basename $${log} .log)-centos$$distro-$$arch.log ; \
mv $$log $(SRCDIR)/$$newname ; \
done ; \
mv $(MOCK_ROOT)/centos-$$distro-$$arch/result/*.src.rpm $(REPO)/$$distro/SRPMS/ ; \
mv $(MOCK_ROOT)/centos-$$distro-$$arch/result/*.rpm $(REPO)/$$distro/RPMS/$$arch/ ; \
mock --scrub=all -r centos-$$distro-$$arch clean ; \
done ; \
done ; \
done
@rm -f *.src.rpm
mockcleanscrub:
@for distro in $(DISTROS) ; do \
for arch in $(ARCHES) ; do \
mock --scrub=all -r centos-$$distro-$$arch clean ; \
done ; \
done
createrepo:
@createrepo $(REPO)/5
@createrepo $(REPO)/6
updaterepo:
@createrepo --update $(REPO)/5
@createrepo --update $(REPO)/6
koji: sources
@for srpm in $(SRPMS) ; do \
for distro in $(DISTROS) ; do \
koji build centos-$$distro $$srpm ; \
done ; \
done
@rm -f *.src.rpm