mirror of
https://github.com/clearlinux/common.git
synced 2026-06-16 19:16:00 +00:00
Compare commits
196 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8094f8a358 | |||
| 1fe250bb13 | |||
| 48312c546e | |||
| 2ed43dee7c | |||
| 2c29d463aa | |||
| 916aa9ce90 | |||
| e5c860f7c9 | |||
| b9b24a353b | |||
| 45b72cc7bc | |||
| baabce03b6 | |||
| 191989a32a | |||
| f1f9d44878 | |||
| ae6182ad24 | |||
| f8bc62ae39 | |||
| e750687701 | |||
| 28747a2037 | |||
| 3208712529 | |||
| 9e94a00898 | |||
| e053e67bd5 | |||
| 68768eb65f | |||
| 2a7d53c6cd | |||
| 213b7b4d57 | |||
| 17f5e2eb9d | |||
| a85ca255c1 | |||
| 4133026569 | |||
| 60de5ce7d5 | |||
| 91a4c42013 | |||
| 49289f00d9 | |||
| 64a279e8f8 | |||
| c4709f40af | |||
| b443e169d5 | |||
| cd55363a3c | |||
| e0054520f8 | |||
| ecb84bfabf | |||
| 6b3a74eea5 | |||
| 9b81676c6f | |||
| e0844510f6 | |||
| 536b562a5b | |||
| c4cb75a89f | |||
| 244e21ef2d | |||
| 8defd1c276 | |||
| 3bd55aea4f | |||
| e76c4bd179 | |||
| 2383eca632 | |||
| 89f861fda6 | |||
| 447126c594 | |||
| a3ad322a0a | |||
| c357625466 | |||
| ee3938da6c | |||
| d86d9e564d | |||
| df467c348a | |||
| 581aa3f813 | |||
| 5946c4dfa9 | |||
| f3e7eec6dc | |||
| fca54d3027 | |||
| 6550c61092 | |||
| d2d8b886bd | |||
| e227e8722b | |||
| b924031ba6 | |||
| 0981d133b1 | |||
| 3d195f17b2 | |||
| 187098145c | |||
| fbd176e68d | |||
| 75e48d2e12 | |||
| 87bbccedf1 | |||
| 3f52dc6afb | |||
| c2421ce65c | |||
| 410f9f4e34 | |||
| 480dfd8a53 | |||
| ec94c940d1 | |||
| b655cd9a12 | |||
| 6bc7acd818 | |||
| 3dca4d2ecc | |||
| 87d9c543ff | |||
| 789f1ca94c | |||
| 2b76e56f69 | |||
| 2ccf4b068a | |||
| bf315f828f | |||
| 5a5bac8596 | |||
| 9e42d678ec | |||
| 60b1c5cf68 | |||
| 2325c43369 | |||
| 9f72f5fc40 | |||
| 757dcd348d | |||
| d2e4833782 | |||
| 9e5766df8c | |||
| 009b7a10e1 | |||
| 249cbb0ea6 | |||
| 4a690a35dc | |||
| d1a7caafcd | |||
| 1023b3c6cc | |||
| 2affe6047a | |||
| 2a10dd326d | |||
| 2d360228ce | |||
| a8641f898f | |||
| fd412b15a5 | |||
| eb579ba11d | |||
| c545a66185 | |||
| f4f726d8e0 | |||
| 8f385c3366 | |||
| 305bf6f63b | |||
| 4797950600 | |||
| 18b1f4841d | |||
| 2a061d8ec2 | |||
| 47927ff332 | |||
| 80bb811f5f | |||
| 71827cbf99 | |||
| 84a9b62e3f | |||
| 0dfb2f6ef5 | |||
| 59a46563cf | |||
| a198b2d0a0 | |||
| 9574f4ecde | |||
| 649f1e38de | |||
| 0b86a75a10 | |||
| a06eab078d | |||
| d4ea9f57dc | |||
| ee0847f750 | |||
| 98047e4b8e | |||
| aa98640939 | |||
| 2b355f3fcb | |||
| 57632934c0 | |||
| a4b3da2bca | |||
| f0f2ae6fdf | |||
| 9d82331cfa | |||
| ea568f6239 | |||
| 4e2e716a76 | |||
| c64bda09fc | |||
| 65c5758c08 | |||
| 3d334b1fd4 | |||
| 31399a1cb7 | |||
| d7bff595de | |||
| 3f53222de8 | |||
| 4435eace17 | |||
| e971c54843 | |||
| c5df45b631 | |||
| 1123cf8edc | |||
| 779526d7a4 | |||
| 8280750fe8 | |||
| 72414dec9f | |||
| 61fa7c0655 | |||
| c30c608d19 | |||
| b9702018c7 | |||
| 50e2a1d14e | |||
| 941bc3100e | |||
| 2971492feb | |||
| faa11f738d | |||
| 4db065fa34 | |||
| 07cf4c7085 | |||
| 82baba5b88 | |||
| 257ff7bc57 | |||
| 80d1f17444 | |||
| 4f059caffc | |||
| 7d2f1d5e1d | |||
| d36404255b | |||
| 88dd353e21 | |||
| c232a0f6c2 | |||
| 97edcccc6f | |||
| 16fb031192 | |||
| 46d98726d5 | |||
| 0fa3b3812c | |||
| c6ae76c720 | |||
| b1cfa8f828 | |||
| 2f03d06fc4 | |||
| 514dbd5f33 | |||
| 97894ec9b3 | |||
| 4512f3ae00 | |||
| 4bbdd450d4 | |||
| f2a32480ae | |||
| 8aa923a5a6 | |||
| a757a26828 | |||
| c69acb2821 | |||
| cbb1d9688e | |||
| 9b778e9f80 | |||
| 0894cd7083 | |||
| f07e797a3b | |||
| 6b614da982 | |||
| 56fd505d76 | |||
| 60fe195c79 | |||
| f56e102bc1 | |||
| 8d829d1b6e | |||
| f6921f41e9 | |||
| 1988c8296f | |||
| d5056dcee3 | |||
| e83915a24d | |||
| 8de4c25ecc | |||
| 9feee99965 | |||
| 9396728fca | |||
| 974734a9c2 | |||
| 97aec0b795 | |||
| 46c0cf7449 | |||
| 9993ccf733 | |||
| 9f39df7d55 | |||
| a5e894a480 | |||
| 7eb9678104 | |||
| 3d0f911262 | |||
| 01888ddee2 |
+56
-59
@@ -9,19 +9,22 @@ include $(TOPLVL)/projects/common/Makefile.shared
|
||||
|
||||
SHELL = /bin/bash
|
||||
|
||||
CURRENT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
|
||||
|
||||
SPECFILE = $(addsuffix .spec, $(PKG_NAME))
|
||||
|
||||
SRPMVERS = $(shell [ ! -f $(SPECFILE) ] || rpmspec -D '_vendor clr' --srpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' $(SPECFILE))
|
||||
SRPMVERS = $(shell [ ! -f $(SPECFILE) ] || $(call queryspec,%{NVR}\n,$(SPECFILE)))
|
||||
SRPMFILE = results/$(SRPMVERS).src.rpm
|
||||
|
||||
LATEST_RPMS = $(wildcard rpms/*.rpm)
|
||||
DEBUGINFO_RPM = $(wildcard rpms/*-debuginfo-*.rpm)
|
||||
DEBUGINFO_RPM = $(wildcard rpms/${PKG_NAME}-debuginfo-$(shell $(call queryspec,%{V}-%{R},${SPECFILE})).*.rpm)
|
||||
RPMS ?= $(LATEST_RPMS)
|
||||
|
||||
WITH_SUDO = $(shell cmp /usr/bin/mock /usr/sbin/mock &> /dev/null && echo sudo )
|
||||
|
||||
# MOCK_CONFIG_VAL is set in Makefile.shared
|
||||
MOCK ?= $(WITH_SUDO) /usr/bin/mock -r $(MOCK_CONFIG_VAL) $(MOCK_OPTS)
|
||||
MOCK_SMP_FLAGS=$(patsubst -j%, -D_smp_mflags\ -j%,$(filter -j%, $(MAKEFLAGS)))
|
||||
MOCK ?= $(WITH_SUDO) /usr/bin/mock -r $(MOCK_CONFIG_VAL) $(MOCK_SMP_FLAGS) $(MOCK_OPTS)
|
||||
|
||||
ifneq ($(wildcard upstream),)
|
||||
__allsources := $(notdir $(strip $(shell cat upstream)))
|
||||
@@ -45,7 +48,7 @@ upstream:
|
||||
#help spdxcheck: Checks that the package license is a valid SPDX license,
|
||||
#help or that it is in the exceptions list.
|
||||
spdxcheck: $(SPECFILE)
|
||||
@for LICENSE in `rpmspec -D '_vendor clr' --srpm -q --queryformat '%{LICENSE}\n' $(SPECFILE)`; do \
|
||||
@for LICENSE in `$(call queryspec,%{LICENSE}\n,$(SPECFILE))`; do \
|
||||
if ! grep -qx "$$LICENSE" $(TOPLVL)/projects/common/licenses-{spdx,exceptions,extra}; then FAIL=yes; echo "ERROR: License '$$LICENSE' is not an allowed SPDX license ID"; fi; \
|
||||
done; test -z "$$FAIL"
|
||||
|
||||
@@ -75,7 +78,7 @@ configemail:
|
||||
|
||||
#help checkblacklist: Verify rpms files to not include banned files for Clear Linux OS.
|
||||
checkblacklist:
|
||||
@$(TOPLVL)/projects/common/checkblacklist.sh $(TOPLVL)/projects/common/blacklist results/*.rpm
|
||||
@$(TOPLVL)/projects/common/checkblacklist.sh $(TOPLVL)/projects/common/blacklist $(filter-out ${DEBUGINFO_RPM},${RPMS})
|
||||
|
||||
prebuild-checks:
|
||||
|
||||
@@ -172,7 +175,7 @@ autospec: preautospec-checks pullrebase localreponotice clean-old-content
|
||||
--name $(PKG_NAME) \
|
||||
--archives $(ARCHIVES) \
|
||||
--mock-config $(MOCK_CONFIG_VAL) \
|
||||
--mock-opts="$(MOCK_OPTS)" \
|
||||
--mock-opts="$(MOCK_SMP_FLAGS) $(MOCK_OPTS)" \
|
||||
$${SETVERSION:+ --version $${SETVERSION}} \
|
||||
$${NON_INTERACTIVE:+ --non_interactive} \
|
||||
$${SKIP_GIT:+ --skip-git} \
|
||||
@@ -216,12 +219,12 @@ bump:
|
||||
git pull --rebase
|
||||
$(MAKE) bumpnogit
|
||||
git add $(SPECFILE) release
|
||||
git commit -a -m "version bump from $(shell rpmspec -D '_vendor clr' --srpm -q --queryformat '%{VERSION}-%{RELEASE}\n' $(SPECFILE)) to `rpmspec -D '_vendor clr' --srpm -q --queryformat '%{VERSION}-%{RELEASE}\n' $(SPECFILE)`"
|
||||
git commit -a -m "version bump from $(shell $(call queryspec,%{VERSION}-%{RELEASE}\n,$(SPECFILE))) to `$(call queryspec,%{VERSION}-%{RELEASE}\n,$(SPECFILE))`"
|
||||
|
||||
#help bumpnogit: Increments the release file by one and does not commit changes.
|
||||
bumpnogit:
|
||||
@$(MAKE) spdxcheck
|
||||
oldrel=$(shell rpmspec -D '_vendor clr' --srpm -q --queryformat '%{RELEASE}\n' $(SPECFILE)); \
|
||||
oldrel=$(shell $(call queryspec,%{RELEASE}\n,$(SPECFILE))); \
|
||||
newrel=$$(($$oldrel + 1)); \
|
||||
sed -i "s/^\(Release[[:blank:]]*:[[:blank:]]*\)$$oldrel$$/\1$$newrel/" $(SPECFILE); \
|
||||
echo "$$newrel" > release;
|
||||
@@ -231,7 +234,7 @@ $(__missingsources): sources
|
||||
# First argument is a Clear Linux build number (e.g. 22000)
|
||||
define fetch-from-srpm
|
||||
tmp=$$(mktemp -d -p "."); \
|
||||
srpm=$$(rpmspec --srpm -q --qf "%{NVR}.src.rpm\n" $(SPECFILE)); \
|
||||
srpm=$$($(call queryspec,%{NVR}.src.rpm\n,$(SPECFILE))); \
|
||||
if cd "$$tmp" && ! curl -s -S -f -L -O $(MIRROR_CURL_OPTS) $(DOWNLOAD_MIRROR)/releases/$(1)/clear/source/SRPMS/$$srpm; then \
|
||||
echo "Failed to download $$srpm from Clear Linux release $(1)." >&2; \
|
||||
cd .. && rm -rf "$$tmp"; \
|
||||
@@ -239,7 +242,7 @@ define fetch-from-srpm
|
||||
fi; \
|
||||
rpm2cpio $$srpm | cpio --quiet -id; \
|
||||
cd ..; \
|
||||
srclist=$$(rpmspec --srpm -q --qf "[%{SOURCE}\n]" $(SPECFILE)); \
|
||||
srclist=$$($(call queryspec,[%{SOURCE}\n],$(SPECFILE))); \
|
||||
for s in $$srclist; do \
|
||||
if ! mv --no-clobber "$$tmp"/$$s .; then \
|
||||
echo "Missing source file \"$$s\" in $${srpm}." >&2; \
|
||||
@@ -278,7 +281,7 @@ else
|
||||
sources:
|
||||
@$(MAKE) generateupstream; \
|
||||
[ $$? -eq 0 ] && exit 0; \
|
||||
nvr="$$(rpmspec --srpm -q --qf '%{NAME}\t%{VERSION}\t%{RELEASE}\n' $(SPECFILE))"; \
|
||||
nvr="$$($(call queryspec,%{NAME}\t%{VERSION}\t%{RELEASE}\n,$(SPECFILE)))"; \
|
||||
git -C $(TOPLVL)/projects/common fetch --tags >/dev/null 2>&1; \
|
||||
latest_builds=$$(git -C $(TOPLVL)/projects/common tag -l | sort -rn); \
|
||||
for b in $$latest_builds; do \
|
||||
@@ -304,19 +307,24 @@ prekoji-checks:
|
||||
koji: prekoji-checks kojidef
|
||||
@$(MAKE) spdxcheck
|
||||
@$(MAKE) checkblacklist
|
||||
@if ! git branch | grep -q -E '^\* master'; then \
|
||||
echo "Error: Must be on the master branch to submit to koji" >&2; \
|
||||
@if [ "$(CURRENT_BRANCH)" != "master" ] && [ "$(CURRENT_BRANCH)" != "main" ]; then \
|
||||
echo "Error: Must be on the \"master\" or \"main\" branch to submit to koji" >&2; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
if ! git diff --quiet HEAD ${SPECFILE}; then \
|
||||
if ! git diff --quiet HEAD -- ${SPECFILE}; then \
|
||||
echo "Error: All changes to ${SPECFILE} must be committed first" >&2; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
if git rev-parse --verify --quiet origin/master > /dev/null; then \
|
||||
git fetch; \
|
||||
if git rev-parse --verify --quiet origin/master >/dev/null; then \
|
||||
git pull --rebase; \
|
||||
fi; \
|
||||
if git ls-remote --tags --exit-code origin $(SRPMVERS) >/dev/null; then \
|
||||
echo "Error: remote tag $(SRPMVERS) already exists" >&2; \
|
||||
exit 1; \
|
||||
fi
|
||||
git tag $(SRPMVERS)
|
||||
git push origin master refs/tags/$(SRPMVERS)
|
||||
git push origin $(CURRENT_BRANCH):master refs/tags/$(SRPMVERS)
|
||||
$(KOJI_CMD) build $$KOJI_NOWAIT $(KOJI_TAG) $(PKG_BASE_URL)/$(PKG_NAME)?#$(SRPMVERS)
|
||||
|
||||
#help rekoji: In case a previous 'make koji' failed, trigger a rebuild for the
|
||||
@@ -344,11 +352,6 @@ rekoji-nowait:
|
||||
logcheck:
|
||||
@perl $(TOPLVL)/projects/common/logcheck.pl results/build.log
|
||||
|
||||
$(TOPLVL)/repo:
|
||||
@echo "Creating local RPM repository $(TOPLVL)/repo"
|
||||
mkdir $(TOPLVL)/repo
|
||||
$(MAKE) localrepocreate
|
||||
|
||||
#help repoadd: Adds locally-built RPMs for this package to the local RPM
|
||||
#help repository. If this repository does not yet exist, it is created and
|
||||
#help enabled.
|
||||
@@ -356,22 +359,16 @@ repoadd: $(TOPLVL)/repo
|
||||
@if [ -z "${LATEST_RPMS}" ]; then \
|
||||
echo "No rpms found in rpms/ directory."; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
if [ -f .repo-index ]; then \
|
||||
echo "Cleaning old rpms:"; \
|
||||
for r in `cat .repo-index`; do \
|
||||
echo "-$$r"; \
|
||||
rm -f $(TOPLVL)/repo/$$r; \
|
||||
done; \
|
||||
rm .repo-index; \
|
||||
fi; \
|
||||
for r in ${LATEST_RPMS}; do \
|
||||
echo "+$$r"; \
|
||||
echo $$(basename $$r) >> .repo-index; \
|
||||
ln -f $$r $(TOPLVL)/repo/; \
|
||||
done
|
||||
$(MAKE) localrepocreate
|
||||
$(call localrepoenable,${PM_CONF},${MOCK_CONF})
|
||||
fi
|
||||
$(MAKE) -s repodel NO_CREATEREPO=1
|
||||
@echo "Adding new rpms:"; \
|
||||
for rpm in ${LATEST_RPMS}; do \
|
||||
echo "+$${rpm#rpms/}"; \
|
||||
echo "$${rpm#rpms/}" >> .repo-index; \
|
||||
done; \
|
||||
flock $</repo.lock ln -f -t $< ${LATEST_RPMS}
|
||||
$(MAKE) -s localrepocreate
|
||||
$(MAKE) -s localrepoenable
|
||||
|
||||
#help repostage: Stages locally-built RPMs for this package to the local RPM
|
||||
#help directory. If this directory does not yet exist, it is created and
|
||||
@@ -380,37 +377,33 @@ repostage: $(TOPLVL)/repo
|
||||
@if [ -z "${LATEST_RPMS}" ]; then \
|
||||
echo "No rpms found in rpms/ directory."; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
if [ -f .repo-index ]; then \
|
||||
echo "Cleaning old rpms:"; \
|
||||
for r in `cat .repo-index`; do \
|
||||
echo "-$$r"; \
|
||||
rm -f $(TOPLVL)/repo/$$r; \
|
||||
done; \
|
||||
rm .repo-index; \
|
||||
fi; \
|
||||
for r in ${LATEST_RPMS}; do \
|
||||
echo "+$$r"; \
|
||||
echo $$(basename $$r) >> .repo-index; \
|
||||
ln -f $$r $(TOPLVL)/repo/; \
|
||||
done
|
||||
fi
|
||||
$(MAKE) -s repodel NO_CREATEREPO=1
|
||||
@for r in ${LATEST_RPMS}; do \
|
||||
echo "+$${rpm#rpms/}"; \
|
||||
echo "$${rpm#rpms/}" >> .repo-index; \
|
||||
done; \
|
||||
flock $</repo.lock ln -f -t $< ${LATEST_RPMS}
|
||||
|
||||
#help repodel: Removes RPMs from the local RPM repository that were
|
||||
#help previously added by 'make repoadd' for this package.
|
||||
repodel:
|
||||
repodel: $(TOPLVL)/repo
|
||||
@if [ -f .repo-index ]; then \
|
||||
echo "Cleaning old rpms:"; \
|
||||
for r in `cat .repo-index`; do \
|
||||
echo "-$$r"; \
|
||||
rm -f $(TOPLVL)/repo/$$r; \
|
||||
done; \
|
||||
mapfile -t rpms < <(sed 's|.*|$</&|' .repo-index); \
|
||||
for rpm in "$${rpms[@]}"; do \
|
||||
echo "-$${rpm#$</}"; \
|
||||
done < .repo-index; \
|
||||
flock $</repo.lock rm -f "$${rpms[@]}"; \
|
||||
rm .repo-index; \
|
||||
$(MAKE) localrepocreate; \
|
||||
if [ -z "$$NO_CREATEREPO" ]; then \
|
||||
$(MAKE) -s localrepocreate; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
#help repoenable: Enables the local RPM repository for use with Yum/DNF and
|
||||
#help Mock. If this repository does not yet exist, it is created.
|
||||
repoenable: $(TOPLVL)/repo ; $(call localrepoenable,${PM_CONF},${MOCK_CONF})
|
||||
repoenable: localrepoenable ;
|
||||
|
||||
#help repodisable: Disables the local RPM repository.
|
||||
repodisable: localrepodisable ;
|
||||
@@ -458,6 +451,10 @@ install-debuginfo-local:
|
||||
sudo chown -R dbginfo:dbginfo "$$d"; \
|
||||
sudo cp -a "$$d" $$dest/; \
|
||||
done; \
|
||||
find $$tmpdir/usr/share/debug/.build-id -type l 2> /dev/null | while read -r link; do \
|
||||
new_target=$$(readlink $$link | sed 's|/usr/share/debug|/usr/lib/debug|'); \
|
||||
sudo ln -sf "$$new_target" "$$link"; \
|
||||
done; \
|
||||
find $$tmpdir/usr/share/debug/ -mindepth 1 -maxdepth 1 -regextype awk -regex '.*/(.build-id|boot|lib|sbin|usr)$$' 2> /dev/null | while read -r d; do \
|
||||
sudo chown -R dbginfo:dbginfo "$$d"; \
|
||||
sudo cp -a "$$d" $$dest/; \
|
||||
@@ -507,7 +504,7 @@ generateupstream:
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
echo $$(sha1sum $$filename | cut -d\ -f1)/$$filename >> upstream; \
|
||||
echo $$(sha1sum -- $$filename | cut -d\ -f1)/$$filename >> upstream; \
|
||||
done
|
||||
@rm -f upstream.bak
|
||||
@cat upstream
|
||||
|
||||
+87
-17
@@ -47,6 +47,14 @@ define subjectprefix
|
||||
git config format.subjectPrefix "PATCH $(1)"
|
||||
endef
|
||||
|
||||
# Query the spec file (or spec files) listed in argument 2 for the field(s)
|
||||
# specified in argument 1. The fields are derived from the source rpm(s)
|
||||
# generated by the specs. Queried fields that are declared within the spec file
|
||||
# must be declared above the first %files section.
|
||||
define queryspec
|
||||
rpmspec --define='_vendor clr' --srpm --query --queryformat='$(1)' <(sed -n '1,/%files/p' $(2))
|
||||
endef
|
||||
|
||||
# If GITOLITE_BASE_URL is defined, sets a repo's push URL for that gitolite
|
||||
# instance. Accepts one argument: the path to the repo on gitolite. If
|
||||
# GITOLITE_BASE_URL is not defined, no push URL is set -- the shell's null
|
||||
@@ -62,33 +70,95 @@ define remotepkgname
|
||||
$(if $(USE_PACKAGE_MAPPING),$$(awk -v P="$(1)" '$$1 == P { res=$$2 } END { print res ? res : P }' $(TOPLVL)/projects/common/pkg-mapping),$(1))
|
||||
endef
|
||||
|
||||
# Clone repo from the configured gitolite instance, but only if the repo exists
|
||||
# on that instance and matches the pattern "packages/..*".
|
||||
define try-clone-gitolite
|
||||
rpkg=$(call remotepkgname,$(1)); \
|
||||
if ssh $(GITOLITE_BASE_URL) info "packages/$$rpkg" | grep --quiet "packages/$$rpkg$$"; then \
|
||||
git clone $(PKG_BASE_URL)/$$rpkg packages/$(1); \
|
||||
cd packages/$(1); \
|
||||
$(call gitoliteurl,packages/$(1)); \
|
||||
$(call subjectprefix,$(1)); \
|
||||
fi
|
||||
endef
|
||||
|
||||
# Clone repo from the configured package repo hosting location, as defined by
|
||||
# the PKG_BASE_URL variable, but only if the repo exists.
|
||||
define try-clone-other
|
||||
rpkg=$(call remotepkgname,$(1)); \
|
||||
if git ls-remote $(PKG_BASE_URL)/$$rpkg &> /dev/null; then \
|
||||
git clone $(PKG_BASE_URL)/$$rpkg packages/$(1); \
|
||||
cd packages/$(1); \
|
||||
$(call subjectprefix,$(1)); \
|
||||
fi
|
||||
endef
|
||||
|
||||
# First, try running `make clone_PKG`, where PKG is the first argument. If that
|
||||
# fails, proceed with fallback cloning strategies.
|
||||
define clone-if-available
|
||||
$(MAKE) clone_$(1) || { \
|
||||
$(if $(GITOLITE_BASE_URL),$(call try-clone-gitolite,$(1)),$(call try-clone-other,$(1))); \
|
||||
}
|
||||
endef
|
||||
|
||||
$(TOPLVL)/repo:
|
||||
@echo "Creating local RPM repository $(TOPLVL)/repo"
|
||||
mkdir $(TOPLVL)/repo
|
||||
|
||||
# Enables the local RPM repo by installing package manager and Mock configs.
|
||||
# First argument is the path to the package manager config, and the second
|
||||
# argument is the path to the mock config. Each of these config files is
|
||||
# augmented for local repo support.
|
||||
define localrepoenable
|
||||
@cp $(1) $(TOPLVL)/repo/yum.conf
|
||||
@printf "\n\n[local]\nname=Local\nfailovermethod=priority\nenabled=1\ngpgcheck=0\npriority=1\n" >> $(TOPLVL)/repo/yum.conf
|
||||
@printf "baseurl=file://$$(realpath $(TOPLVL))/repo/\n\n" >> $(TOPLVL)/repo/yum.conf
|
||||
@cp $(2) $(TOPLVL)/repo/clear.cfg
|
||||
@printf "\n\n[localrepo]\nname=Local repo\nfailovermethod=priority\nenabled=1\ngpgcheck=0\npriority=1\n" >> $(TOPLVL)/repo/clear.cfg
|
||||
@printf "baseurl=file://$$(realpath $(TOPLVL))/repo/\n\n" >> $(TOPLVL)/repo/clear.cfg
|
||||
@sed -i '/^"""/d; $$a"""' $(TOPLVL)/repo/clear.cfg
|
||||
endef
|
||||
localrepoenable: $(TOPLVL)/repo
|
||||
@if grep -qx '\[localrepo\]' ${PM_CONF}; then \
|
||||
echo "[ERROR] ${PM_CONF} contains section named [localrepo]."; \
|
||||
echo "[ERROR] Remove that section and try again."; \
|
||||
exit 1; \
|
||||
fi >&2
|
||||
@if grep -qx '\[localrepo\]' ${MOCK_CONF}; then \
|
||||
echo "[ERROR] ${MOCK_CONF} contains section named [localrepo]."; \
|
||||
echo "[ERROR] Remove that section and try again."; \
|
||||
exit 1; \
|
||||
fi >&2
|
||||
@last="$$(tail -n 1 ${MOCK_CONF})"; \
|
||||
if [[ "$$last" != "\"\"\"" ]]; then \
|
||||
echo "[ERROR] Last line of ${MOCK_CONF} is malformed; expected: \"\"\"; actual: $$last"; \
|
||||
echo "[ERROR] Fix that line and try again."; \
|
||||
exit 1; \
|
||||
fi >&2
|
||||
@pm_new=$$(mktemp -p $< yum.conf.XXXXXXX); \
|
||||
pm_orig=$</yum.conf; \
|
||||
mock_new=$$(mktemp -p $< clear.cfg.XXXXXXX); \
|
||||
mock_orig=$</clear.cfg; \
|
||||
cp ${PM_CONF} $$pm_new; \
|
||||
printf "\n\n[localrepo]\nname=localrepo\nfailovermethod=priority\nenabled=1\ngpgcheck=0\npriority=1\n" >> $$pm_new; \
|
||||
printf "baseurl=file://$$(realpath $<)/\n\n" >> $$pm_new; \
|
||||
if ! cmp -s $$pm_new $$pm_orig; then \
|
||||
flock $</repo.lock mv $$pm_new $$pm_orig; \
|
||||
fi; \
|
||||
rm -f $$pm_new; \
|
||||
cp ${MOCK_CONF} $$mock_new; \
|
||||
sed -i '$$d' $$mock_new; \
|
||||
printf "\n\n[localrepo]\nname=localrepo\nfailovermethod=priority\nenabled=1\ngpgcheck=0\npriority=1\n" >> $$mock_new; \
|
||||
printf "baseurl=file://$$(realpath $<)/\n\n" >> $$mock_new; \
|
||||
sed -i '$$a"""' $$mock_new; \
|
||||
if ! cmp -s $$mock_new $$mock_orig; then \
|
||||
flock $</repo.lock mv $$mock_new $$mock_orig; \
|
||||
fi; \
|
||||
rm -f $$mock_new
|
||||
|
||||
# Disables the local RPM repo by removing the installed package manager and
|
||||
# Mock configuration files.
|
||||
localrepodisable:
|
||||
@rm -f $(TOPLVL)/repo/yum.conf
|
||||
@rm -f $(TOPLVL)/repo/clear.cfg
|
||||
localrepodisable: $(TOPLVL)/repo
|
||||
flock $</repo.lock rm -f $</yum.conf $</clear.cfg
|
||||
|
||||
# Runs createrepo_c (or createrepo) for the local RPM repo
|
||||
localrepocreate:
|
||||
( cd $(TOPLVL)/repo ; if type createrepo_c 1>/dev/null 2>&1; then createrepo_c .; else createrepo .; fi );
|
||||
# Runs createrepo_c for the local RPM repo
|
||||
localrepocreate: $(TOPLVL)/repo
|
||||
cd $< && flock repo.lock createrepo_c .
|
||||
|
||||
# Remove all RPMs from the local RPM repo
|
||||
localrepoclean:
|
||||
@find $(TOPLVL)/repo -maxdepth 1 -name '*.rpm' -delete
|
||||
localrepoclean: $(TOPLVL)/repo
|
||||
flock $</repo.lock find $< -maxdepth 1 -name '*.rpm' -delete
|
||||
|
||||
# Summarizes the local RPM repo status
|
||||
localrepostatus:
|
||||
|
||||
+14
-10
@@ -163,19 +163,28 @@ status: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
|
||||
#help diffstat. Requires that diffstat is installed.
|
||||
diff: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
|
||||
@for p in projects/common $(addprefix packages/,$(PKGS_LOCAL)); do \
|
||||
(cd $$p ; git status | grep -q 'nothing to commit, working [^ ]* clean' || (echo "Uncommitted changes in: $$p"; git diff |diffstat -p1)) ;\
|
||||
(cd $$p; git status --porcelain | grep -vq '^?? ' && (echo "Uncommitted changes in: $$p"; git diff | diffstat -p1); :) ;\
|
||||
done
|
||||
|
||||
#help log: Run git log origin/master..HEAD for all package repos, thus
|
||||
#help displaying any committed but unpushed changes.
|
||||
log: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
|
||||
@for p in projects/common $(addprefix packages/,$(PKGS_LOCAL)); do \
|
||||
( cd $$p; if [ "$$(git rev-parse --verify HEAD)" != "$$(git rev-parse --verify origin/master)" ] ; then \
|
||||
echo $$p ; git --no-pager log --pretty="format:%s" origin/master..HEAD ; echo ; echo;\
|
||||
fi ; ) \
|
||||
done
|
||||
|
||||
#help versions: Displays the version of each package in the ./packages tree.
|
||||
versions: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
|
||||
@for p in $(addprefix packages/,$(PKGS_LOCAL)); do \
|
||||
(cd $$p; if ls *.spec &> /dev/null; then rpmspec -q --queryformat '%{NAME}-%{VERSION}\n' *.spec | head -n1; fi) ;\
|
||||
(cd $$p; if ls *.spec &> /dev/null; then $(call queryspec,%{NAME}-%{VERSION}\n,*.spec) | head -n1; fi) ;\
|
||||
done
|
||||
|
||||
#help releases: Like 'make versions', but also displays the release number.
|
||||
releases: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
|
||||
@for p in $(addprefix packages/,$(PKGS_LOCAL)); do \
|
||||
(cd $$p; if ls *.spec &> /dev/null; then rpmspec -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' *.spec | head -n1; fi) ;\
|
||||
(cd $$p; if ls *.spec &> /dev/null; then $(call queryspec,%{NVR}\n,*.spec) | head -n1; fi) ;\
|
||||
done
|
||||
|
||||
#help provides: Is used to find out which RPM package provides some file.
|
||||
@@ -196,7 +205,7 @@ autospecnew: preautospecnew-checks localreponotice
|
||||
echo "Please specify NAME and URL. The ARCHIVES variable is optional."; \
|
||||
exit 1; \
|
||||
fi
|
||||
-$(MAKE) clone_$(NAME)
|
||||
$(call clone-if-available,$(NAME))
|
||||
@if [ ! -d $(TOPLVL)/packages/$(NAME)/.git ]; then \
|
||||
echo "no remote repository found, creating new package repository and running autospec"; \
|
||||
mkdir -p $(TOPLVL)/packages/$(NAME); \
|
||||
@@ -281,14 +290,9 @@ autospecnewgo: preautospecnew-checks localreponotice
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
$(TOPLVL)/repo:
|
||||
@echo "Creating local RPM repository $(TOPLVL)/repo"
|
||||
mkdir $(TOPLVL)/repo
|
||||
$(MAKE) localrepocreate
|
||||
|
||||
#help repoenable: Enables the local RPM repository for use with Yum/DNF and
|
||||
#help Mock. If this repository does not yet exist, it is created.
|
||||
repoenable: $(TOPLVL)/repo ; $(call localrepoenable,${PM_CONF},${MOCK_CONF})
|
||||
repoenable: localrepoenable ;
|
||||
|
||||
#help repodisable: Disables the local RPM repository.
|
||||
repodisable: localrepodisable ;
|
||||
|
||||
Binary file not shown.
@@ -16,6 +16,7 @@ AMDPLPA
|
||||
AML
|
||||
AMPAS
|
||||
ANTLR-PD
|
||||
ANTLR-PD-fallback
|
||||
APAFML
|
||||
APL-1.0
|
||||
APSL-1.0
|
||||
@@ -39,19 +40,24 @@ BSD-2-Clause
|
||||
BSD-2-Clause-FreeBSD
|
||||
BSD-2-Clause-NetBSD
|
||||
BSD-2-Clause-Patent
|
||||
BSD-2-Clause-Views
|
||||
BSD-3-Clause
|
||||
BSD-3-Clause-Attribution
|
||||
BSD-3-Clause-Clear
|
||||
BSD-3-Clause-LBNL
|
||||
BSD-3-Clause-Modification
|
||||
BSD-3-Clause-No-Military-License
|
||||
BSD-3-Clause-No-Nuclear-License
|
||||
BSD-3-Clause-No-Nuclear-License-2014
|
||||
BSD-3-Clause-No-Nuclear-Warranty
|
||||
BSD-3-Clause-Open-MPI
|
||||
BSD-4-Clause
|
||||
BSD-4-Clause-Shortened
|
||||
BSD-4-Clause-UC
|
||||
BSD-Protection
|
||||
BSD-Source-Code
|
||||
BSL-1.0
|
||||
BUSL-1.1
|
||||
Bahyph
|
||||
Barr
|
||||
Beerware
|
||||
@@ -59,11 +65,16 @@ BitTorrent-1.0
|
||||
BitTorrent-1.1
|
||||
BlueOak-1.0.0
|
||||
Borceux
|
||||
C-UDA-1.0
|
||||
CAL-1.0
|
||||
CAL-1.0-Combined-Work-Exception
|
||||
CATOSL-1.1
|
||||
CC-BY-1.0
|
||||
CC-BY-2.0
|
||||
CC-BY-2.5
|
||||
CC-BY-3.0
|
||||
CC-BY-3.0-AT
|
||||
CC-BY-3.0-US
|
||||
CC-BY-4.0
|
||||
CC-BY-NC-1.0
|
||||
CC-BY-NC-2.0
|
||||
@@ -74,6 +85,7 @@ CC-BY-NC-ND-1.0
|
||||
CC-BY-NC-ND-2.0
|
||||
CC-BY-NC-ND-2.5
|
||||
CC-BY-NC-ND-3.0
|
||||
CC-BY-NC-ND-3.0-IGO
|
||||
CC-BY-NC-ND-4.0
|
||||
CC-BY-NC-SA-1.0
|
||||
CC-BY-NC-SA-2.0
|
||||
@@ -87,13 +99,17 @@ CC-BY-ND-3.0
|
||||
CC-BY-ND-4.0
|
||||
CC-BY-SA-1.0
|
||||
CC-BY-SA-2.0
|
||||
CC-BY-SA-2.0-UK
|
||||
CC-BY-SA-2.1-JP
|
||||
CC-BY-SA-2.5
|
||||
CC-BY-SA-3.0
|
||||
CC-BY-SA-3.0-AT
|
||||
CC-BY-SA-4.0
|
||||
CC-PDDC
|
||||
CC0-1.0
|
||||
CDDL-1.0
|
||||
CDDL-1.1
|
||||
CDL-1.0
|
||||
CDLA-Permissive-1.0
|
||||
CDLA-Sharing-1.0
|
||||
CECILL-1.0
|
||||
@@ -104,6 +120,9 @@ CECILL-B
|
||||
CECILL-C
|
||||
CERN-OHL-1.1
|
||||
CERN-OHL-1.2
|
||||
CERN-OHL-P-2.0
|
||||
CERN-OHL-S-2.0
|
||||
CERN-OHL-W-2.0
|
||||
CNRI-Jython
|
||||
CNRI-Python
|
||||
CNRI-Python-GPL-Compatible
|
||||
@@ -119,12 +138,14 @@ CrystalStacker
|
||||
Cube
|
||||
D-FSL-1.0
|
||||
DOC
|
||||
DRL-1.0
|
||||
DSDP
|
||||
Dotseqn
|
||||
ECL-1.0
|
||||
ECL-2.0
|
||||
EFL-1.0
|
||||
EFL-2.0
|
||||
EPICS
|
||||
EPL-1.0
|
||||
EPL-2.0
|
||||
EUDatagrid
|
||||
@@ -140,17 +161,32 @@ FSFULLR
|
||||
FTL
|
||||
Fair
|
||||
Frameworx-1.0
|
||||
FreeBSD-DOC
|
||||
FreeImage
|
||||
GD
|
||||
GFDL-1.1
|
||||
GFDL-1.1-invariants-only
|
||||
GFDL-1.1-invariants-or-later
|
||||
GFDL-1.1-no-invariants-only
|
||||
GFDL-1.1-no-invariants-or-later
|
||||
GFDL-1.1-only
|
||||
GFDL-1.1-or-later
|
||||
GFDL-1.2
|
||||
GFDL-1.2-invariants-only
|
||||
GFDL-1.2-invariants-or-later
|
||||
GFDL-1.2-no-invariants-only
|
||||
GFDL-1.2-no-invariants-or-later
|
||||
GFDL-1.2-only
|
||||
GFDL-1.2-or-later
|
||||
GFDL-1.3
|
||||
GFDL-1.3-invariants-only
|
||||
GFDL-1.3-invariants-or-later
|
||||
GFDL-1.3-no-invariants-only
|
||||
GFDL-1.3-no-invariants-or-later
|
||||
GFDL-1.3-only
|
||||
GFDL-1.3-or-later
|
||||
GL2PS
|
||||
GLWTPL
|
||||
GPL-1.0
|
||||
GPL-1.0+
|
||||
GPL-1.0-only
|
||||
@@ -175,7 +211,9 @@ Glide
|
||||
Glulxe
|
||||
HPND
|
||||
HPND-sell-variant
|
||||
HTMLTIDY
|
||||
HaskellReport
|
||||
Hippocratic-2.1
|
||||
IBM-pibs
|
||||
ICU
|
||||
IJG
|
||||
@@ -223,9 +261,11 @@ Linux-OpenIB
|
||||
MIT
|
||||
MIT-0
|
||||
MIT-CMU
|
||||
MIT-Modern-Variant
|
||||
MIT-advertising
|
||||
MIT-enna
|
||||
MIT-feh
|
||||
MIT-open-group
|
||||
MITNFA
|
||||
MPL-1.0
|
||||
MPL-1.1
|
||||
@@ -238,12 +278,17 @@ MakeIndex
|
||||
MirOS
|
||||
Motosoto
|
||||
MulanPSL-1.0
|
||||
MulanPSL-2.0
|
||||
Multics
|
||||
Mup
|
||||
NAIST-2003
|
||||
NASA-1.3
|
||||
NBPL-1.0
|
||||
NCGL-UK-2.0
|
||||
NCSA
|
||||
NGPL
|
||||
NIST-PD
|
||||
NIST-PD-fallback
|
||||
NLOD-1.0
|
||||
NLPL
|
||||
NOSL
|
||||
@@ -252,6 +297,7 @@ NPL-1.1
|
||||
NPOSL-3.0
|
||||
NRL
|
||||
NTP
|
||||
NTP-0
|
||||
Naumen
|
||||
Net-SNMP
|
||||
NetCDF
|
||||
@@ -259,12 +305,19 @@ Newsletr
|
||||
Nokia
|
||||
Noweb
|
||||
Nunit
|
||||
O-UDA-1.0
|
||||
OCCT-PL
|
||||
OCLC-2.0
|
||||
ODC-By-1.0
|
||||
ODbL-1.0
|
||||
OFL-1.0
|
||||
OFL-1.0-RFN
|
||||
OFL-1.0-no-RFN
|
||||
OFL-1.1
|
||||
OFL-1.1-RFN
|
||||
OFL-1.1-no-RFN
|
||||
OGC-1.0
|
||||
OGDL-Taiwan-1.0
|
||||
OGL-Canada-2.0
|
||||
OGL-UK-1.0
|
||||
OGL-UK-2.0
|
||||
@@ -298,8 +351,12 @@ OpenSSL
|
||||
PDDL-1.0
|
||||
PHP-3.0
|
||||
PHP-3.01
|
||||
PSF-2.0
|
||||
Parity-6.0.0
|
||||
Parity-7.0.0
|
||||
Plexus
|
||||
PolyForm-Noncommercial-1.0.0
|
||||
PolyForm-Small-Business-1.0.0
|
||||
PostgreSQL
|
||||
Python-2.0
|
||||
QPL-1.0
|
||||
@@ -392,6 +449,7 @@ gSOAP-1.3b
|
||||
gnuplot
|
||||
iMatix
|
||||
libpng-2.0
|
||||
libselinux-1.0
|
||||
libtiff
|
||||
mpich2
|
||||
psfrag
|
||||
|
||||
+34
-2
@@ -102,6 +102,22 @@ def zap_entire_file_end(filename):
|
||||
if file.endswith(filename):
|
||||
files.remove(file)
|
||||
|
||||
def zap_line_in_file_substring(filename, match):
|
||||
global header
|
||||
global files
|
||||
global files_chunks
|
||||
global files_header
|
||||
for file in files:
|
||||
if file.endswith(filename):
|
||||
for chunk in files_chunks[file]:
|
||||
to_delete = list()
|
||||
for line in chunk:
|
||||
if match in line:
|
||||
to_delete.append(line)
|
||||
for line in to_delete:
|
||||
chunk.remove(line)
|
||||
|
||||
|
||||
def zap_line_in_file(filename, match):
|
||||
global header
|
||||
global files
|
||||
@@ -195,7 +211,7 @@ def main():
|
||||
with open (filename, "r") as myfile:
|
||||
lines = myfile.readlines()
|
||||
else:
|
||||
output = subprocess.check_output("git format-patch -1 --stdout", shell=True).decode("latin-1")
|
||||
output = subprocess.check_output("git format-patch -1 --stdout", shell=True).decode("utf-8", errors="replace")
|
||||
lines = output.split("\n")
|
||||
|
||||
parse_patch(lines)
|
||||
@@ -209,6 +225,11 @@ def main():
|
||||
zap_entire_file_end("xz.sig")
|
||||
zap_entire_file_end("gz.sig")
|
||||
zap_entire_file_end("bz2.sig")
|
||||
zap_entire_file_end("xz.asc")
|
||||
zap_entire_file_end("gz.asc")
|
||||
zap_entire_file_end("bz2.asc")
|
||||
|
||||
zap_entire_file_end(".pkey")
|
||||
|
||||
zap_line_in_file("b/testresults", "Total : 0")
|
||||
zap_line_in_file("b/testresults", "Pass : 0")
|
||||
@@ -223,14 +244,15 @@ def main():
|
||||
|
||||
zap_line_in_file_start(".spec", "Release :")
|
||||
zap_line_in_file_start(".spec", "Source99 :")
|
||||
zap_line_in_file_start(".spec", "Source0 :")
|
||||
zap_line_in_file_start(".spec", "export SOURCE_DATE_EPOCH")
|
||||
zap_line_in_file_start(".spec", "export AR=gcc-ar")
|
||||
zap_line_in_file_start(".spec", "export RANLIB=gcc-ranlib")
|
||||
zap_line_in_file_start(".spec", "export NM=gcc-nm")
|
||||
zap_line_in_file_start(".spec", "export CFLAGS=\"$CFLAGS -O3 -ffat-lto-objects -flto=4 \"")
|
||||
zap_line_in_file_start(".spec", "export FCFLAGS=\"$CFLAGS -O3 -ffat-lto-objects -flto=4 \"")
|
||||
zap_line_in_file_start(".spec", "export FCFLAGS=\"$FFLAGS -O3 -ffat-lto-objects -flto=4 \"")
|
||||
zap_line_in_file_start(".spec", "export FFLAGS=\"$CFLAGS -O3 -ffat-lto-objects -flto=4 \"")
|
||||
zap_line_in_file_start(".spec", "export FFLAGS=\"$FFLAGS -O3 -ffat-lto-objects -flto=4 \"")
|
||||
zap_line_in_file_start(".spec", "export CXXFLAGS=\"$CXXFLAGS -O3 -ffat-lto-objects -flto=4 \"")
|
||||
zap_line_in_file_start(".spec", "%setup -q -n ")
|
||||
zap_line_in_file_start(".spec", "URL :")
|
||||
@@ -267,12 +289,15 @@ def main():
|
||||
zap_line_in_file_start(".spec", "cp -a ")
|
||||
zap_line_in_file_start(".spec", "cd %{_builddir}/")
|
||||
zap_line_in_file_start(".spec", "export GCC_IGNORE_WERROR=1")
|
||||
zap_line_in_file_start(".spec", "rm -rf %{buildroot}")
|
||||
|
||||
zap_line_in_file_start("b/Makefile", "URL =")
|
||||
zap_line_in_file_start("b/Makefile", "PKG_NAME :=")
|
||||
|
||||
zap_line_in_file_start("b/options.conf", "name = ")
|
||||
zap_line_in_file("b/options.conf", "archives = ")
|
||||
zap_line_in_file("b/options.conf", "giturl = ")
|
||||
zap_line_in_file_start("b/options.conf", "url = ")
|
||||
zap_line_in_file("b/options.conf", "[package]")
|
||||
zap_line_in_file("b/options.conf", "")
|
||||
zap_line_in_file("b/options.conf", "[autospec]")
|
||||
@@ -329,8 +354,13 @@ def main():
|
||||
zap_line_in_file("b/options.conf", "# require package verification for build")
|
||||
zap_line_in_file("b/options.conf", "verify_required = true")
|
||||
zap_line_in_file("b/options.conf", "# do not generate debuginfo for this package")
|
||||
zap_line_in_file("b/options.conf", "# configure build also for openmpi")
|
||||
zap_line_in_file("b/options.conf", "openmpi = false")
|
||||
zap_line_in_file("b/options.conf", "alias =")
|
||||
zap_line_in_file("b/options.conf", "alias = ")
|
||||
zap_line_in_file("b/options.conf", "nodebug = false")
|
||||
zap_line_in_file("b/options.conf", "domain =")
|
||||
zap_line_in_file("b/options.conf", "domain = ")
|
||||
|
||||
zap_line_in_file("b/buildreq_add", "# This file contains additional build requirements that did not get")
|
||||
zap_line_in_file("b/buildreq_add", "# picked up automatically. One name per line, no whitespace.")
|
||||
@@ -358,7 +388,9 @@ def main():
|
||||
zap_entire_file("b/whatrequires")
|
||||
zap_entire_file("b/versions")
|
||||
zap_entire_file("b/.gitignore")
|
||||
|
||||
|
||||
zap_line_in_file_substring(".spec", "%{buildroot}/usr/share/package-licenses") # version number change in license copy
|
||||
zap_empty_chunks()
|
||||
|
||||
print_all()
|
||||
|
||||
+1
-1
@@ -102,7 +102,7 @@ fi
|
||||
|
||||
required_progs() {
|
||||
local bindir="/usr/bin"
|
||||
for f in git mock rpm rpmbuild ; do
|
||||
for f in git mock rpm rpmbuild diffstat ; do
|
||||
[ ! -x "${bindir}/${f}" ] && missing+="${f} "
|
||||
done
|
||||
[ "$PEM" ] && [ ! -x /usr/bin/koji ] && missing+="koji "
|
||||
|
||||
Reference in New Issue
Block a user