Compare commits

..

63 Commits

Author SHA1 Message Date
clrbuilder e88fcdc4bc Update packages file for version 24190
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-03 12:02:14 +00:00
clrbuilder a381875001 Update packages file for version 24150
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-02 07:07:54 +00:00
clrbuilder 114936fc23 Update packages file for version 24140
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-02 04:52:55 +00:00
Patrick McCarty 3739bc0e0f repoadd: use new rpms directory, and hardlink instead
Since binary RPMs are now stored in the "rpms" directory, follow a
similar method for storing them in the local repo, too.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-01 09:38:27 -07:00
Patrick McCarty f43a186a78 Store copies of binary RPMs in "rpms" dir
To improve visibility of which RPMs a user may want to install after a
build, copy (hardlink) them to a separate "rpms" directory.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-01 09:38:27 -07:00
Patrick McCarty da562cb750 Always clean rpms and logs from previous builds
I often find myself running "make clean proper", when by default, I
think the old build artifacts should be removed so that the results
directory is pristine at the start of a new build.

As a result, if users wish to keep all build artifacts from a previous
"make build" or "make autospec", they must keep manual backups, as the
tooling no longer keeps them around.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-01 09:38:27 -07:00
Patrick McCarty 16467cfbc0 Avoid appending to srpm logs
Mock will append the binary rpm build logs to the srpm logs, but this is
confusing. After the srpm finishes building, rename the log files to
avoid this behavior.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-01 09:38:27 -07:00
Patrick McCarty 16466cac02 Make results/ directory un-nested again
Because Mock dumps its logs and and resulting rpms in the same directory
(results), shuffling the logs and rpms only after a successful build is
confusing, since they will be untouched for the error case.

It's simpler to avoid moving the files entirely. The only exceptions
will be to avoid clobbering existing log files. Changes of this nature
will appear in later commits and in autospec.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-01 09:38:27 -07:00
clrbuilder 6e8d00eb30 Update packages file for version 24120
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-01 12:02:17 +00:00
clrbuilder c160c30218 Update packages file for version 24110
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-31 18:17:35 +00:00
clrbuilder 9b09c217da Update packages file for version 24100
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-31 12:02:22 +00:00
Thiago Macieira 00230e7d1d Use zstd for compressing the mock root cache
Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
2018-07-30 19:33:17 -07:00
Arjan van de Ven ff40498428 packages update 2018-07-31 01:40:40 +00:00
clrbuilder 6483c7dd86 Update packages file for version 24090
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-30 18:02:43 +00:00
clrbuilder d1079234d9 Update packages file for version 24080
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-30 12:03:58 +00:00
clrbuilder 51a2c03a4a Update packages file for version 24070
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-29 20:42:57 +00:00
clrbuilder 3d8c98b0d8 Update packages file for version 24060
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-29 14:30:22 +00:00
clrbuilder 243ad03d32 Update packages file for version 24030
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-27 14:38:37 +00:00
clrbuilder e1072736aa Update packages file for version 24010
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-27 02:28:58 +00:00
clrbuilder 9a557531f4 Update packages file for version 23980
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-26 12:02:28 +00:00
clrbuilder d8cb4987e5 Update packages file for version 23960
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-25 18:03:16 +00:00
clrbuilder 6719c0f7df Update packages file for version 23950
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-25 12:44:51 +00:00
clrbuilder 7166df721b Update packages file for version 23940
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-24 23:07:56 +00:00
Brett T. Warden a70cf49f45 Include Makefile.custom from package repo 2018-07-24 15:42:12 -07:00
clrbuilder 781eae34bb Update packages file for version 23930
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-24 18:57:22 +00:00
clrbuilder ee17bc50a9 Update packages file for version 23910
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-24 02:17:42 +00:00
clrbuilder 1fcfde404c Update packages file for version 23900
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-23 18:03:30 +00:00
clrbuilder 36716ffe26 Update packages file for version 23890
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-23 12:04:23 +00:00
clrbuilder eab92f6841 Update packages file for version 23880
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-22 21:31:54 +00:00
clrbuilder 903919de2f Update packages file for version 23870
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-21 21:44:43 +00:00
clrbuilder 69000f2f2e Update packages file for version 23860
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-21 16:28:26 +00:00
clrbuilder 8b8f649dcb Update packages file for version 23850
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-20 18:02:47 +00:00
clrbuilder 91ba5c1c6b Update packages file for version 23840
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-20 12:02:24 +00:00
clrbuilder 70e5280ae4 Update packages file for version 23830
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-19 18:02:28 +00:00
clrbuilder dbc677ddca Update packages file for version 23820
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-19 12:04:19 +00:00
clrbuilder c2ff34b4ca Update packages file for version 23810
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-18 18:02:33 +00:00
clrbuilder df917a0aa2 Update packages file for version 23800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-18 15:09:48 +00:00
clrbuilder c0e95c9bcd Update packages file for version 23790
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-18 12:02:06 +00:00
clrbuilder 979430e742 Update packages file for version 23730
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-16 12:03:05 +00:00
clrbuilder 61d9b5ab29 Update packages file for version 23710
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-13 18:03:00 +00:00
clrbuilder 557bc87774 Update packages file for version 23700
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-13 12:02:48 +00:00
clrbuilder fb869ea5a2 Update packages file for version 23690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-12 18:03:06 +00:00
clrbuilder 665a2546f8 Update packages file for version 23680
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-12 12:02:43 +00:00
clrbuilder d8f18e5f6d Update packages file for version 23650
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-11 12:02:35 +00:00
William Douglas 255935f4fb Add pattern directory configuration option
The failed_pattern_dir contains a path to a location containing
additonal configuration files for failed_commands, ignored_commands,
maven_jars, gems, license_hashes, license_translations,
license_blacklist, and qt_modules.
2018-07-10 17:55:31 +00:00
clrbuilder 34df391482 Update packages file for version 23630
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-10 14:51:38 +00:00
clrbuilder 3d9fd9fd67 Update packages file for version 23620
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-10 12:02:50 +00:00
clrbuilder 8894658b0a Update packages file for version 23610
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-09 18:02:33 +00:00
clrbuilder f2d0972aab Update packages file for version 23590
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-07 20:43:42 +00:00
clrbuilder 64c2b82443 Update packages file for version 23580
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-07 14:47:01 +00:00
clrbuilder 3963a1f319 Update packages file for version 23570
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-07 00:51:08 +00:00
clrbuilder 68cd34db8f Update packages file for version 23550
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-06 16:40:29 +00:00
clrbuilder b9952701c5 Update packages file for version 23480
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-04 03:33:26 +00:00
Patrick McCarty 3671774e8a Support newer versions of Mock (part 1)
In Mock version 1.4.4, the chroot group was changed from "mockbuild" to
"mock". This creates a problem for running Mock on Clear Linux because
(a) the distro already has group "mock", and (b) Mock tries to `groupdel
mock` within the chroot and fails, since the group is defined in
/usr/share/defaults/etc/group and not in /etc/group. Mock treats the
groupdel failure as fatal. Fortunately there is a workaround: set the
"chrootgroup" config to a group not already defined in the OS. I am
setting the group to "mockbuild" in the default config to restore the
behavior of previous Mock versions. Thanks to Mark Horn for adding this
feature upstream! It was merged for Mock 1.4.7.

Also, disable the new bootstrap container feature, added in Mock version
1.4.1. It was disabled by default in version 1.4.2, but keep the
explicit setting in case upstream enables it in the future.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-07-02 21:57:19 -07:00
clrbuilder fa7c45049f Update packages file for version 23450
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-03 04:11:59 +00:00
Patrick McCarty 768bdc7550 Ignore mv failure when debuginfo package is missing
Fixes #6

Not all Clear Linux packages have debuginfo subpackages, so ignore
errors when attempting to move them to the results/debuginfo/ directory.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-07-02 16:48:08 -07:00
clrbuilder 6372c11a12 Update packages file for version 23430
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-02 16:25:53 +00:00
clrbuilder 5629731f54 Update packages file for version 23410
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-01 17:14:56 +00:00
clrbuilder a0f8fd9a50 Update packages file for version 23400
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-01 14:55:29 +00:00
clrbuilder cad2e6081d Update packages file for version 23390
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-01 01:47:50 +00:00
clrbuilder 2daf8a48b2 Update packages file for version 23380
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-30 23:32:42 +00:00
clrbuilder 26582bd9f2 Update packages file for version 23370
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-29 19:42:57 +00:00
clrbuilder c6a2d6fabd Update packages file for version 23350
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-29 12:03:01 +00:00
6 changed files with 1095 additions and 27 deletions
+31 -25
View File
@@ -12,9 +12,9 @@ SHELL = /bin/bash
SPECFILE = $(addsuffix .spec, $(PKG_NAME))
SRPMVERS = $(shell [ ! -f $(SPECFILE) ] || rpmspec -D '_vendor clr' --srpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' $(SPECFILE))
SRPMFILE = results/srpm/$(SRPMVERS).src.rpm
SRPMFILE = results/$(SRPMVERS).src.rpm
LATEST_RPMS = $(shell [ ! -s results/logs/build.log ] || for r in `egrep 'Wrote.*/RPMS/.*.rpm' results/logs/build.log | sed 's/.*\///;s/.*debuginfo/debuginfo\/&/'` ; do echo "results/$$r"; done)
LATEST_RPMS = $(wildcard rpms/*.rpm)
RPMS ?= $(LATEST_RPMS)
WITH_SUDO = $(shell cmp /usr/bin/mock /usr/sbin/mock &> /dev/null && echo sudo )
@@ -91,24 +91,20 @@ prebuild-checks:
#help Use MOCK_OPTS environment varible to pass down arbitrary mock options.
build: prebuild-checks configemail $(SPECFILE) upstream $(SRPMFILE)
$(MOCK) $(SRPMFILE) --result=results/ --no-cleanup-after --uniqueext=$(PKG_NAME)
mkdir -p results/logs results/debuginfo
mv results/*.log results/logs
mv results/*-debuginfo*.rpm results/debuginfo/
@perl $(TOPLVL)/projects/common/logcheck.pl results/logs/build.log
@perl $(TOPLVL)/projects/common/count.pl results/logs/build.log &> testresults
$(MAKE) link-new-rpms PKG_REPO_DIR="."
@perl $(TOPLVL)/projects/common/logcheck.pl results/build.log
@perl $(TOPLVL)/projects/common/count.pl results/build.log &> testresults
@$(MAKE) checkblacklist
#help build-nocheck: Same as 'make build', but do not run the package's test suite.
build-nocheck: configemail $(SPECFILE) upstream $(SRPMFILE)
$(MOCK) $(SRPMFILE) --nocheck --result=results/ --no-cleanup-after --uniqueext=$(PKG_NAME)
mkdir -p results/logs results/debuginfo
mv results/*.log results/logs
mv results/*-debuginfo*.rpm results/debuginfo/
@perl $(TOPLVL)/projects/common/logcheck.pl results/logs/build.log
@perl $(TOPLVL)/projects/common/count.pl results/logs/build.log &> testresults
$(MAKE) link-new-rpms PKG_REPO_DIR="."
@perl $(TOPLVL)/projects/common/logcheck.pl results/build.log
@perl $(TOPLVL)/projects/common/count.pl results/build.log &> testresults
@$(MAKE) checkblacklist
fmvpatches: results/logs/build.log
fmvpatches: results/build.log
@perl $(TOPLVL)/projects/common/fmvpatches.pl $(PKG_NAME)
#help rootshell: Puts you in a root shell at the top of your build root.
@@ -121,9 +117,11 @@ shell:
# Always rebuild the source rpm
.PHONY: $(SRPMFILE)
$(SRPMFILE): $(SPECFILE) $(__allsources) localreponotice
$(SRPMFILE): $(SPECFILE) $(__allsources) localreponotice clean-old-content
@$(MAKE) spdxcheck
$(MOCK) --buildsrpm --source=./ --spec=$(SPECFILE) --result=results/srpm/ --no-cleanup-after --uniqueext=$(PKG_NAME)
$(MOCK) --buildsrpm --source=./ --spec=$(SPECFILE) --result=results/ --no-cleanup-after --uniqueext=$(PKG_NAME)
mv results/root.log results/srpm-root.log
mv results/build.log results/srpm-build.log
# Do a git fetch and a git rebase to apply local commits on top of latest
# commits from the remote. A git fetch/rebase is used rather than a git pull so
@@ -160,8 +158,7 @@ pullrebase:
#help Use MOCK_OPTS environment varible to pass down arbitrary mock options
#help to autospec.
#help For more information, see the project at https://github.com/clearlinux/autospec
autospec: pullrebase localreponotice
rm -f results/srpm/*src.rpm
autospec: pullrebase localreponotice clean-old-content
@if [ -e $(SPECFILE) ] && ! grep -q "# Generated by: autospec.py" $(SPECFILE) ; then \
echo "Specfile already exists and was not created by autospec.py! Aborting."; \
exit 1; \
@@ -178,6 +175,7 @@ autospec: pullrebase localreponotice
$${SETVERSION:+ --version $${SETVERSION}} \
${NON_INTERACTIVE} ${SKIP_GIT} ${CLEANUP} \
$(firstword $(NEWURL) $(URL));
$(MAKE) link-new-rpms PKG_REPO_DIR="."
@$(MAKE) spdxcheck
@$(MAKE) checkblacklist
@if [ -e update_changelog.sh ] && [ -z "$$SKIP_GIT" ] ; then \
@@ -327,7 +325,7 @@ rekoji-nowait:
$(MAKE) KOJI_NOWAIT="--nowait --background" rekoji
logcheck:
@perl $(TOPLVL)/projects/common/logcheck.pl results/logs/build.log
@perl $(TOPLVL)/projects/common/logcheck.pl results/build.log
$(TOPLVL)/repo:
@echo "Creating local RPM repository $(TOPLVL)/repo"
@@ -337,19 +335,24 @@ $(TOPLVL)/repo:
#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.
repoadd: results/logs/build.log $(TOPLVL)/repo
@if [ -z "`grep '^Wrote: .*$(shell basename $(SRPMFILE))$$' results/logs/build.log`" ]; then \
echo "You have not yet succesfully built this release yet"; exit 1; \
fi
@if [ -f .repo-index ]; then \
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; cp $$r $(TOPLVL)/repo; done
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})
@@ -430,3 +433,6 @@ drop-abandoned: $(SPECFILE)
# Define site local common targets in a separate makefile
-include $(TOPLVL)/projects/common/Makefile.common.site_local
# Include optional extended makefiles from individual package repos
-include Makefile.custom
+24
View File
@@ -138,6 +138,30 @@ localreponotice:
[ -f $(TOPLVL)/repo/opt-in-build ] || sleep 3; \
fi >&2
.PHONY: clean-old-rpms clean-old-logs clean-old-content
clean-old-rpms:
rm -rf ./rpms
rm -f ./results/*.rpm
clean-old-logs:
rm -f ./results/*.log
clean-old-content: clean-old-rpms clean-old-logs
.PHONY: require-pkg-repo-dir link-new-rpms
require-pkg-repo-dir:
@if [ -z ${PKG_REPO_DIR} ]; then \
echo "Please specify PKG_REPO_DIR to indicate package repo location."; \
exit 1; \
fi
link-new-rpms: require-pkg-repo-dir
mkdir -p ${PKG_REPO_DIR}/rpms
rm -f ${PKG_REPO_DIR}/rpms/*.rpm
find ${PKG_REPO_DIR}/results -name '*.rpm' -exec ln {} ${PKG_REPO_DIR}/rpms/ \;
rm -f ${PKG_REPO_DIR}/rpms/*.src.rpm
.PHONY: help
##### Code
# Make sure that HELPSPACE has exactly HELPLEN spaces in it
+1
View File
@@ -224,6 +224,7 @@ autospecnew: localreponotice
$${SETVERSION:+ --version $${SETVERSION}} \
${NON_INTERACTIVE} ${SKIP_GIT} ${CLEANUP} \
$(URL); \
[ $$? -eq 0 ] && $(MAKE) link-new-rpms PKG_REPO_DIR="${TOPLVL}/packages/${NAME}"; \
$(TOPLVL)/projects/common/checkblacklist.sh $(TOPLVL)/projects/common/blacklist $(TOPLVL)/packages/${NAME}/results/*.rpm; \
else \
echo "$(NAME) already exists at $(TOPLVL)/packages/$(NAME)"; \
+4
View File
@@ -21,3 +21,7 @@
# Path to dnf/yum config, used for generating whatrequires. It can be an absolute
# path or a path relative to this autospec.conf.
#yum_conf =
# Path to autospec failed patterns directory, used to match build failure lines to
# package dependencies.
#failed_pattern_dir =
+4
View File
@@ -6,8 +6,12 @@ config_opts['dist'] = 'clear' # only useful for --resultdir variable subst
config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
config_opts['useradd'] = '/usr/sbin/useradd -m -u %(uid)s -g %(gid)s -d %(home)s %(user)s'
config_opts['plugin_conf']['ccache_enable'] = False
config_opts['plugin_conf']['root_cache_opts']['compress_program'] = 'zstd -5'
config_opts['plugin_conf']['root_cache_opts']['extension'] = '.zst'
config_opts['releasever'] = 'clear'
config_opts['package_manager'] = 'dnf'
config_opts['chrootgroup'] = 'mockbuild'
config_opts['use_bootstrap_container'] = False
config_opts['dnf.conf'] = """
+1031 -2
View File
File diff suppressed because it is too large Load Diff