Compare commits

...

7 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
3 changed files with 26 additions and 14 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 \
+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];
+3 -1
View File
@@ -548,7 +548,6 @@ accountsservice
acl
acme
acpica-unix2
acrn-devicemodel
acrn-hypervisor
adwaita-icon-theme
aeon
@@ -1379,6 +1378,7 @@ mixer-tools
mkfontdir
mkfontscale
mkosi
mobile-broadband-provider-info
mock
mod_wsgi
moka-icon-theme
@@ -1608,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
@@ -1854,6 +1855,7 @@ spice-protocol
spyder-notebook
sqlite-autoconf
sqlparse
squashfs-tools
sshfs
stack
startup-notification