Compare commits

...

27 Commits

Author SHA1 Message Date
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
clrbuilder e2a3b113f2 Update packages file for version 22860
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-07 19:02:21 +00:00
clrbuilder 0acf617611 Update packages file for version 22850
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-07 13:02:11 +00:00
clrbuilder 39aeb852fe Update packages file for version 22830
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-06 13:02:13 +00:00
clrbuilder 0e7d7e336d Update packages file for version 22800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-05 16:06:47 +00:00
8 changed files with 54 additions and 17 deletions
+22 -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 \
+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.
+1 -1
View File
@@ -18,6 +18,6 @@
# 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 =
-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];
+27 -1
View File
@@ -7,6 +7,8 @@ FreeRDP
GConf
Jinja2
Keras
Keras_Applications
Keras_Preprocessing
LS_COLORS
LVM2
LibRaw
@@ -25,6 +27,7 @@ OpenSP
Paste
PasteDeploy
Pillow
PyMySQL
PyWavelets
PyYAML
Pygments
@@ -222,6 +225,7 @@ R-flexmix
R-forcats
R-foreach
R-formatR
R-fossil
R-fpc
R-futile.logger
R-futile.options
@@ -437,6 +441,7 @@ R-setRNG
R-sfsmisc
R-sgeostat
R-shape
R-shapefiles
R-shiny
R-shinyjs
R-shinystan
@@ -481,6 +486,7 @@ R-tidyr
R-tidyselect
R-tidyverse
R-timeDate
R-tinytex
R-tis
R-tm
R-topicmodels
@@ -542,7 +548,6 @@ accountsservice
acl
acme
acpica-unix2
acrn-devicemodel
acrn-hypervisor
adwaita-icon-theme
aeon
@@ -736,6 +741,7 @@ connect-proxy
connman
connman-gtk
conntrack-tools
console-autostart
containerd
contextlib2
coreutils
@@ -1113,7 +1119,11 @@ jupyter_core
jupyterlab
jupyterlab_launcher
kafka-dep
kata-image
kata-proxy
kata-qemu-lite
kata-runtime
kata-shim
kbd
kernel-install
kexec-tools
@@ -1274,6 +1284,7 @@ libunistring
libunwind
libusb
libuser
libuv
libva
libva-intel-driver
libva-utils
@@ -1310,6 +1321,7 @@ linux-gce
linux-hyperv
linux-hyperv-lts
linux-hyperv-mini
linux-kata
linux-kvm
linux-libc-headers
linux-lts
@@ -1346,12 +1358,14 @@ mc
mccabe
mcelog
mdadm
meld
memkind
memshrinker
mesa
mesa-demos
meson
metacity
metrics-discovery
micro-config-drive
micro-config-drive-aws
micro-config-drive-oci
@@ -1364,10 +1378,12 @@ mixer-tools
mkfontdir
mkfontscale
mkosi
mobile-broadband-provider-info
mock
mod_wsgi
moka-icon-theme
more-itertools
moreutils
mosh
motd-update
motif
@@ -1495,6 +1511,7 @@ patch
patchutils
pavucontrol
pbr
pbr-legacy
pbzip2
pciutils
pcre
@@ -1591,6 +1608,7 @@ perl-Test-NoWarnings
perl-Test-Output
perl-Test-Pod
perl-Test-Requires
perl-Test-RequiresInternet
perl-Test-Simple
perl-Test-Taint
perl-Test-Warn
@@ -1625,6 +1643,7 @@ pidgin-sipe
pigz
pinentry
pip
pip-legacy
pixman
pkcs11-helper
pkg-config
@@ -1691,6 +1710,7 @@ python-augeas
python-dateutil
python-future
python-gflags
python-kconfiglib
python-krbV
python-magic
python-memcached
@@ -1700,6 +1720,7 @@ python-multilib
python-pkgconfig
python-pocketlint
python-polib
python-rpm-legacypython
python-subunit
python-systemd
python-tappy
@@ -1764,6 +1785,7 @@ rpm
rr
rsa
rsync
rt-tests
ruby
runc
rust-std32
@@ -1794,6 +1816,7 @@ serf
setproctitle
setserial
setuptools
setuptools-legacy
setuptools_scm
setuptools_scm_git_archive
shadow
@@ -1832,11 +1855,13 @@ spice-protocol
spyder-notebook
sqlite-autoconf
sqlparse
squashfs-tools
sshfs
stack
startup-notification
stow
strace
stress-ng
subunit
subversion
sudo
@@ -1941,6 +1966,7 @@ volume_key
vsqlite
vte
vulkan-sdk
waffle
waitress
wayland
wayland-protocols
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 $@