blob: 806d0c1a24e8ba6d93e892ab5173ee0d2f92c600 [file] [log] [blame]
# Customise the following variable as Make parameters
# to produce a yum.repo for a VENDOR distribution
# Default values are pointing to GerritForge (www.gerritforge.com)
VERSION=1
RELEASE=3
VENDOR=GerritForge
VENDOR_LC=$(shell echo $(VENDOR) | tr A-Z a-z)
VENDOR_USER=yum
WEB_URL=http://$(VENDOR_LC).com
MIRROR_URL=http://mirrorlist.$(VENDOR_LC).com/yum
# Vendor PGP Certificate (default GerritForge)
PGP_USER=$(VENDOR_USER)@$(VENDOR_LC).com
### END OF VARIABLES THAT CAN BE OVERRIDDEN ###
# Yum repo definition
define YUM_REPO
[$(VENDOR_LC)]
name=$(VENDOR) repository for Gerrit Code Review
mirrorlist=$(MIRROR_URL)
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-$(VENDOR)
endef
export YUM_REPO
CATEGORY=Development
SUMMARY=$(VENDOR) repository
BUILD_ARCH=noarch
LICENSE=Apache 2.0
NAME=$(VENDOR_LC)-repo
RPM_OUT=client/$(VENDOR_LC)-repo-$(VERSION)-$(RELEASE).$(BUILD_ARCH).rpm
all: client server
client: $(RPM_OUT)
prepare:
-mkdir -p client etc/yum.repos.d etc/pki/rpm-gpg server
echo "$$YUM_REPO" > etc/yum.repos.d/$(VENDOR).repo
gpg --yes --armor --output etc/pki/rpm-gpg/RPM-GPG-KEY-$(VENDOR) --export $(PGP_USER)
clean:
-rm -Rf client etc server
$(RPM_OUT): $(SRCS) prepare
fpm -t rpm -p $@ -s dir \
-f -n $(NAME) -v $(VERSION) --iteration $(RELEASE) --category $(CATEGORY) \
--description "$(SUMMARY)" --url $(WEB_URL) --license "$(LICENSE)" --vendor "$(VENDOR)" \
--rpm-user root --rpm-group root \
--verbose etc
server:
echo "%_signature gpg" > ~/.rpmmacros
echo "%_gpg_name $(PGP_USER)" >> ~/.rpmmacros
echo '%__gpg_sign_cmd %{__gpg} \
gpg --force-v3-sigs --digest-algo=sha1 --batch --no-verbose --no-armor \
--passphrase-fd 3 --no-secmem-warning -u "%{_gpg_name}" \
-sbo %{__signature_filename} %{__plaintext_filename}' >> ~/.rpmmacros
rpm --addsign server/*rpm
createrepo --checksum sha server/.
.PHONY: clean prepare server