Compare commits

..

66 Commits

Author SHA1 Message Date
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
Patrick McCarty 2d8fc9a155 koji: exit early if spec has uncommitted changes
When running 'make koji', the tooling will attempt to create a new git
tag with a name constructed from the spec file's NVR.

However, if there are uncommitted changes to the Name, Version, or
Release fields (collectively, NVR) in that file, the new tag's name will
not match the NVR in the spec file referenced by commit HEAD.

Protect against the mismatch by exiting early from a 'make koji' if any
spec file modifications are not yet committed to the repo, and alert the
user what the problem is.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-27 17:46:25 -07:00
Patrick McCarty 1eadce9aad Fix 'make repoadd'
The debuginfo RPMs are stored in a separate directory now, so the rpm
copy pipeline needed a slight adjustment.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-27 14:48:52 -07:00
Tudor Marcu 6613644b9c Update folder structure in results/
The logs, srpms, and debuginfo should all be split into their own
directory, so it is less confusing about which RPMs can be used when
creating mixes. They are mainly for extra metadata, and should not be
left in the main RPM results location.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2018-06-27 14:04:12 -07:00
clrbuilder 93115e4073 Update packages file for version 23310
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-27 18:02:45 +00:00
clrbuilder 12537cbfb0 Update packages file for version 23240
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-22 18:02:37 +00:00
clrbuilder d397ee463a Update packages file for version 23230
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-22 12:02:16 +00:00
clrbuilder dfe55331e6 Update packages file for version 23200
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-21 18:02:34 +00:00
Patrick McCarty 0c69bfb9a9 Add OVMF.fd to the repo
Fixes #4

Because start_qemu.sh references OVMF.fd, it is convenient for OVMF.fd
to live alongside that script for ease of use.

Note that this version of OVMF.fd is a copy of /usr/share/qemu/OVMF.fd
in Clear Linux OS builds 22930 and newer from the edk2 package
(edk2-2-8, built using the recent UDK2018 release).

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-19 15:52:23 -07:00
William Douglas 689e48a2f7 start_qemu.sh: Add virtio-rng-pci device
In order to avoid issues
(https://github.com/clearlinux/distribution/issues/97) where the
VM is unable to procede to boot due to lack of entropy, add the
virtio-rng-pci device via the start_qemu.sh script.
2018-06-19 18:01:55 +00:00
Patrick McCarty 82e334a93a Make start_qemu.sh executable
Fixes #3

The other shell scripts in this repo are executable, so there's no
reason this one should not be.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-18 12:46:27 -07:00
clrbuilder ab6c4a674f Update packages file for version 23110
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-18 13:02:45 +00:00
clrbuilder 78de1a6a13 Update packages file for version 23100
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-16 03:50:04 +00:00
clrbuilder 74e79ffea2 Update packages file for version 23080
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-15 19:02:11 +00:00
clrbuilder bb21809c73 Update packages file for version 23050
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-15 03:23:35 +00:00
clrbuilder e912d4e6ae Update packages file for version 23040
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-14 19:02:20 +00:00
clrbuilder 340b6a74d4 Update packages file for version 23030
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-14 13:11:14 +00:00
clrbuilder 2e8f9ef0ab Update packages file for version 23010
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-13 19:07:40 +00:00
Patrick McCarty 4bdd1765c5 Remove explicit cachedir from dnf.conf
DNF doesn't fall back to /var/tmp if it cannot write to the cachedir
location specified in dnf.conf (unlike YUM). Removing the explicit
cachedir setting in dnf.conf enables the fallback behavior, which we
will need for autospec use.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-13 12:00:01 -07:00
clrbuilder 45f39671d6 Update packages file for version 22970
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-12 13:02:00 +00:00
clrbuilder 1d46a683e0 Update packages file for version 22950
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-11 19:05:51 +00:00
clrbuilder 41d2113b8a Update packages file for version 22940
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-11 13:09:51 +00:00
clrbuilder 528cd77168 Update packages file for version 22900
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-10 05:08:19 +00:00
Patrick McCarty 916ce142bb pull: skip repos that do not exist locally
Since the user-setup script does not clone package repos by default
anymore, 'make pull' can be made more user-friendly by not printing
warnings if some/all/most of the package repos are not already present
in the packages/ directory.

Instead, only populate the package "pull" list with names from the
packages file that are currently present in the packages/ directory.

Package repos that are not present can be cloned as before: 'make clone'
to clone all missing package repos, or 'make clone_PKG' to clone a
selected package repo.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-08 12:01:18 -07:00
9 changed files with 1025 additions and 18 deletions
+25 -12
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/$(SRPMVERS).src.rpm
SRPMFILE = results/srpm/$(SRPMVERS).src.rpm
LATEST_RPMS = $(shell [ ! -s results/build.log ] || for r in `egrep 'Wrote.*/RPMS/.*.rpm' results/build.log | sed 's/.*\///'` ; do echo "results/$$r"; done)
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)
RPMS ?= $(LATEST_RPMS)
WITH_SUDO = $(shell cmp /usr/bin/mock /usr/sbin/mock &> /dev/null && echo sudo )
@@ -91,18 +91,24 @@ 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)
@perl $(TOPLVL)/projects/common/logcheck.pl results/build.log
@perl $(TOPLVL)/projects/common/count.pl results/build.log &> testresults
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) 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)
@perl $(TOPLVL)/projects/common/logcheck.pl results/build.log
@perl $(TOPLVL)/projects/common/count.pl results/build.log &> testresults
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) checkblacklist
fmvpatches: results/build.log
fmvpatches: results/logs/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.
@@ -117,7 +123,7 @@ shell:
.PHONY: $(SRPMFILE)
$(SRPMFILE): $(SPECFILE) $(__allsources) localreponotice
@$(MAKE) spdxcheck
$(MOCK) --buildsrpm --source=./ --spec=$(SPECFILE) --result=results/ --no-cleanup-after --uniqueext=$(PKG_NAME)
$(MOCK) --buildsrpm --source=./ --spec=$(SPECFILE) --result=results/srpm/ --no-cleanup-after --uniqueext=$(PKG_NAME)
# 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
@@ -155,7 +161,7 @@ pullrebase:
#help to autospec.
#help For more information, see the project at https://github.com/clearlinux/autospec
autospec: pullrebase localreponotice
rm -f results/*src.rpm
rm -f results/srpm/*src.rpm
@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; \
@@ -287,6 +293,10 @@ koji: prekoji-checks kojidef
echo "Error: Must be on the master branch to submit to koji" >&2; \
exit 1; \
fi; \
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 pull --rebase; \
fi
@@ -317,7 +327,7 @@ rekoji-nowait:
$(MAKE) KOJI_NOWAIT="--nowait --background" rekoji
logcheck:
@perl $(TOPLVL)/projects/common/logcheck.pl results/build.log
@perl $(TOPLVL)/projects/common/logcheck.pl results/logs/build.log
$(TOPLVL)/repo:
@echo "Creating local RPM repository $(TOPLVL)/repo"
@@ -327,8 +337,8 @@ $(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/build.log $(TOPLVL)/repo
@if [ -z "`grep '^Wrote: .*$(shell basename $(SRPMFILE))$$' results/build.log`" ]; then \
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 \
@@ -420,3 +430,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
+2 -1
View File
@@ -10,6 +10,7 @@ include $(TOPLVL)/projects/common/Makefile.shared
SHELL = /bin/bash
PKGS = $(shell cat $(PACKAGES_FILE))
PKGS_LOCAL = $(sort $(filter ${PKGS},$(subst packages/,,$(wildcard packages/*))))
proj_PKGS = $(addprefix proj_,$(PROJ_PKGS))
clone_PKGS = $(addprefix clone_,$(PKGS))
@@ -64,7 +65,7 @@ cvecheck:
#help of merge commits, while displaying any changes since your last pull. It is
#help silent if there are no changes.
.PHONY: pull ${PULL_PKGS}
PULL_PKGS:= $(addprefix PULL_projects/,$(PROJ_PKGS)) $(addprefix PULL_packages/,$(PKGS))
PULL_PKGS:= $(addprefix PULL_projects/,$(PROJ_PKGS)) $(addprefix PULL_packages/,${PKGS_LOCAL})
${PULL_PKGS}:
@p=$(patsubst PULL_%,%,$@) ; \
if [ ! -d "$$p/.git" ]; then echo "Nothing to pull for $$p - $$p/.git missing"; exit 0; fi; \
BIN
View File
Binary file not shown.
+5 -1
View File
@@ -18,6 +18,10 @@
# an absolute path or a path relative to this autospec.conf.
#packages_file =
# Path to yum config, used for generating whatrequires. It can be an absolute
# 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 =
+2
View File
@@ -8,6 +8,8 @@ config_opts['useradd'] = '/usr/sbin/useradd -m -u %(uid)s -g %(gid)s -d %(home)s
config_opts['plugin_conf']['ccache_enable'] = False
config_opts['releasever'] = 'clear'
config_opts['package_manager'] = 'dnf'
config_opts['chrootgroup'] = 'mockbuild'
config_opts['use_bootstrap_container'] = False
config_opts['dnf.conf'] = """
-1
View File
@@ -1,5 +1,4 @@
[main]
cachedir=/var/cache/dnf
keepcache=1
debuglevel=1
logfile=/var/log/dnf.log
+1 -1
View File
@@ -82,7 +82,7 @@ sub find_file {
return $file;
}
open(BUILD_LOG, '<', "results/build.log") or die $!;
open(BUILD_LOG, '<', "results/logs/build.log") or die $!;
while (<BUILD_LOG>) {
if($_ =~ /(\S+):([0-9]*):([0-9]*): note: (basic block|loop) (vectorized)/) {
$fmv->{s_name} = (split('/',$1))[-1];
+989 -2
View File
File diff suppressed because it is too large Load Diff
Regular → Executable
+1
View File
@@ -54,4 +54,5 @@ qemu-system-x86_64 \
-drive file="$IMAGE",if=virtio,aio=threads,format=raw \
-netdev user,id=mynet0,hostfwd=tcp::${VMN}0022-:22,hostfwd=tcp::${VMN}2375-:2375 \
-device virtio-net-pci,netdev=mynet0 \
-device virtio-rng-pci \
-debugcon file:debug.log -global isa-debugcon.iobase=0x402 $@