Compare commits

..

47 Commits

Author SHA1 Message Date
clrbuilder 9f8869fdff Update packages file for version 21150
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-03-06 06:01:44 -08:00
Patrick McCarty 9892e87aec autospecnew: never clone the remote repo
With the assumption that developers will be keeping up-to-date by
running 'make pull; make clone', trying to clone the remote repo here is
not necessary.

If the package git repo already exists locally, no action is taken.
Otherwise, create a local package git repo, and then run autospec.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-02-26 13:34:52 -08:00
clrbuilder 100ad5965e Update packages file for version 20920
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-22 12:01:34 -08:00
clrbuilder 61db58c057 Update packages file for version 20910
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-22 06:01:30 -08:00
clrbuilder abe044ee0c Update packages file for version 20890
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-21 06:01:43 -08:00
clrbuilder 8997c889f8 Update packages file for version 20870
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-20 06:28:36 -08:00
clrbuilder f2dd86b50c Update packages file for version 20850
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-16 13:38:18 -08:00
clrbuilder fa6fa080d6 Update packages file for version 20840
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-16 06:01:40 -08:00
clrbuilder a20775675d Update packages file for version 20830
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-15 13:06:50 -08:00
clrbuilder 9dfe2ba937 Update packages file for version 20820
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-15 07:51:46 -08:00
clrbuilder 744cf78eb1 Update packages file for version 20810
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-14 21:51:54 -08:00
clrbuilder 97e7ab937a Update packages file for version 20790
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-14 06:43:32 -08:00
clrbuilder 4fb96cadcc Update packages file for version 20780
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-13 15:08:36 -08:00
clrbuilder 670a01fc25 Update packages file for version 20770
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-13 10:59:59 -08:00
Leandro Dorileo 728e6ea221 make clean: show what's going on
Intead of waiting forever, show the user the package we're cleaning.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-02-12 18:49:24 -08:00
Leandro Dorileo 240653c41d give status target a better output
Improve the output for "make status" by displaying only relevant
status parts (avoiding the git warning and instructions output).

Also make sure we don't run git status "non git package folders"
(i.e packages/common).

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-02-12 18:49:21 -08:00
clrbuilder 6935953ee7 Update packages file for version 20760
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-12 11:46:31 -08:00
clrbuilder f210130e38 Update packages file for version 20730
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-08 16:53:40 -08:00
Patrick McCarty 8df7f9dd6b Update autospec.conf template
Expand the autospec.conf template to document missing options. Also,
autospec just gained the ability to understand relative paths for these
two options, so document this too.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-02-06 13:23:41 -08:00
clrbuilder c424e9cd89 Update packages file for version 20700
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-06 05:45:22 -08:00
Patrick McCarty c247096be4 Provide an example for running user-setup.sh
The README was not very clear on how to actually download the script and
run it, so provide an example.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-02-05 13:14:36 -08:00
clrbuilder 42e2edaf6b Update packages file for version 20690
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-02-05 09:37:54 -08:00
William Douglas 5c4004f6d8 Update mock clear.cfg to use dnf 2018-02-02 04:17:10 +00:00
clrbuilder 374f9dd581 Update packages file for version 20600
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-01-30 06:00:59 -08:00
clrbuilder 68c06960c9 Update packages file for version 20580
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-01-29 06:00:57 -08:00
clrbuilder a52f147734 Update packages file for version 20530
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-01-25 06:00:56 -08:00
clrbuilder 3e7fad9b4b Update packages file for version 20520
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-01-24 12:02:05 -08:00
clrbuilder ac7cf82607 Update packages file for version 20510
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-01-24 06:00:45 -08:00
clrbuilder 458f5c71d0 Update packages file for version 20500
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-01-23 12:00:54 -08:00
clrbuilder f8ac700994 Update packages file for version 20490
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-01-23 06:00:47 -08:00
clrbuilder 794b93a8a4 Update packages file for version 20480
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-01-22 12:00:56 -08:00
Patrick McCarty e7d54e5528 Sort packages file with "C" locale
For consistent sorting regardless of locale, specify C locale when
refreshing the packages file.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-01-22 10:36:33 -08:00
clrbuilder b656b478ff Update packages file for version 20470
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-01-22 06:01:01 -08:00
clrbuilder 0fd03748cb Update packages file for version 20460
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-01-19 12:29:34 -08:00
clrbuilder 523a4ce1e2 Update packages file for version 20450
Signed-off-by: clrbuilder <david.j.klimesh@intel.com>
2018-01-18 12:15:50 -08:00
clrbuilder 38059c0401 Update packages file for version 20360
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-01-17 06:00:59 -08:00
Patrick McCarty 1cc337d5fa Fix support for ARCHIVES in autospec rules
PKG_NAME and URL were properly supported, but ARCHIVES needed to be
written back to the package repo makefile.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-01-16 13:22:57 -08:00
clrbuilder d2b87af7d3 Update packages file for version 20350
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-01-16 12:00:43 -08:00
Patrick McCarty a3f2351225 Adopt strict policy for koji submissions
Because there have been very few situations in the past requiring a
"make koji" from a branch other than master, add a strict check that the
active local branch is "master". This also blocks submissions from a
"detached" state, which was previously permitted.

Also, fix and consolidate the git push commands into one. Now that the
branch check is implemented, the "master" refspec can be used, and
explicitly push *one* tag (the tag created immediately before the push).
The --follow-tags and --tags options don't have the intended effect, so
omit them.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-01-12 14:43:19 -08:00
clrbuilder a96e245866 Update packages file for version 20310
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-01-12 06:00:54 -08:00
clrbuilder ed31b0d4d7 Update packages file for version 20300
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-01-11 12:00:56 -08:00
Leandro Dorileo e0a2933bce Introduce pre build and koji targets
These are targets to be executed before build and koji targets. They
are meant to execute security and validation checks.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-01-10 12:57:33 -08:00
Patrick McCarty d933700e4e Note that login/logout is required when user-setup completes
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-01-08 13:37:58 -08:00
Patrick McCarty ad95a0b5dd Add gitignore file
Note that the *.site_local makefiles can be used to add additional rules
and configuration overrides.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-01-08 13:09:01 -08:00
clrbuilder ae089fc77b Update packages file for version 20250
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-01-08 12:00:59 -08:00
clrbuilder 6a9a5d3d00 Update packages file for version 20230
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-01-08 10:32:38 -08:00
clrbuilder b3ce96bdb9 Update packages file for version 20070
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-01-05 17:12:59 -08:00
8 changed files with 387 additions and 260 deletions
+3
View File
@@ -0,0 +1,3 @@
*~
.*swp
Makefile*.site_local
+1 -1
View File
@@ -15,7 +15,7 @@ endif
update:
curl -f -o packages ${BASE_URL}/source/package-sources
cut -f1 packages | LC_ALL=en_US.utf8 sort > packages.new && mv packages.new packages
cut -f1 packages | LC_ALL=C sort > packages.new && mv packages.new packages
spdx:
curl -s spdx.org/licenses/ | sed '0,/<tbody>/d;/<\/tbody>/q;s/<tr>/\f/g;s/$$/,/g;s/<[^>]*>//g' | awk 'BEGIN{RS="\f";FS=","} {print $$4}' | sed '/^$$/d;s/^[ ]*//' > spdx
+12 -5
View File
@@ -81,11 +81,13 @@ configemail:
checkblacklist:
@$(TOPLVL)/projects/common/checkblacklist.sh $(TOPLVL)/projects/common/blacklist results/*.rpm
prebuild-checks:
#help build: Builds from current directory on your machine and puts log
#help files and rpms in the results directory of your package. If there
#help are mutlple tar.gz files for a package, make will do make sources,
#help which creates a src.rpm file from the spec file.
build: configemail $(SPECFILE) upstream $(SRPMFILE)
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
@@ -146,7 +148,7 @@ autospec: pullrebase
echo "Specfile already exists and was not created by autospec.py! Aborting."; \
exit 1; \
fi
@printf 'PKG_NAME := %s\nURL = %s\n\n\ninclude ../common/Makefile.common\n' $(PKG_NAME) '$(firstword $(value NEWURL) $(value URL))' > Makefile
@printf 'PKG_NAME := %s\nURL = %s\nARCHIVES = %s\n\ninclude ../common/Makefile.common\n' $(PKG_NAME) '$(firstword $(value NEWURL) $(value URL))' '$(value ARCHIVES)' > Makefile
python3 $(TOPLVL)/projects/autospec/autospec/autospec.py -t . --integrity \
${NON_INTERACTIVE} --config "$(AUTOSPEC_CONF)" ${SKIP_GIT} \
$(firstword $(NEWURL) $(URL)) --name $(PKG_NAME) ${CLEANUP} \
@@ -228,16 +230,21 @@ else
rm -rf "$$tmp";
endif
prekoji-checks:
#help koji: Creates a git tag on the latest local commit, then asks koji to
#help build from that tag on the server. If you have uncommitted local changes,
#help they will not be included.
koji: kojidef
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; \
exit 1; \
fi
git pull --rebase
git tag $(SRPMVERS)
git push --follow-tags
git push --tags
git push origin 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
+11 -4
View File
@@ -148,6 +148,7 @@ proper: $(proper_PKGS)
.PHONY: $(proper_PKGS)
$(clean_PKGS):
@echo "cleaning $(patsubst clean_%,%,$@)"
-@$(MAKE) -s -j -C $(addprefix packages/,$(patsubst clean_%,%,$@)) clean
$(proper_PKGS):
@@ -157,7 +158,7 @@ $(proper_PKGS):
#help and unstaged files in addition to staged files.
status: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS))
@for p in projects/common $(addprefix packages/,$(PKGS)); do \
(cd $$p ; git status | grep -q 'nothing to commit, working [^ ]* clean' || (echo "Uncommitted changes in $$p:"; git status)) ;\
if [ -d "$$p/.git" ] && [ -n "$$(git -C $$p status -uno --porcelain)" ]; then echo "Uncommitted changes in $$p:"; git -C "$$p" status --short; fi ;\
done
#help diff: Runs git diff for all package repos and displays the output using
@@ -189,14 +190,20 @@ provides:
#help process. For more information about autospec, see the project page on Github https://github.com/clearlinux/autospec
autospecnew:
@if [ -z $(NAME) ] || [ -z $(URL) ]; then \
echo "Please specify NAME and URL"; \
echo "Please specify NAME and URL. The ARCHIVES variable is optional."; \
exit 1; \
fi
@git clone $(PKG_BASE_URL)/$(NAME) $(TOPLVL)/packages/$(NAME) &> /dev/null || true
@if [ ! -d $(TOPLVL)/packages/$(NAME)/.git ]; then \
echo "no remote repository found, creating new package repository and running autospec"; \
mkdir -p $(TOPLVL)/packages/$(NAME); \
printf 'PKG_NAME := %s\nURL = %s\n\n\ninclude ../common/Makefile.common\n' $(NAME) '$(value URL)' > $(TOPLVL)/packages/$(NAME)/Makefile; \
( \
cd $(TOPLVL)/packages/$(NAME); \
git init; \
git remote add origin $(PKG_BASE_URL)/$(NAME); \
$(call gitoliteurl,packages/$(NAME)); \
$(call subjectprefix,$(NAME)); \
); \
printf 'PKG_NAME := %s\nURL = %s\nARCHIVES = %s\n\ninclude ../common/Makefile.common\n' $(NAME) '$(value URL)' '$(value ARCHIVES)' > $(TOPLVL)/packages/$(NAME)/Makefile; \
python3 $(TOPLVL)/projects/autospec/autospec/autospec.py --integrity -t packages/$(NAME) --config $(AUTOSPEC_CONF) $(URL) --name $(NAME); \
$(TOPLVL)/projects/common/checkblacklist.sh $(TOPLVL)/projects/common/blacklist $(TOPLVL)/packages/${NAME}/results/*.rpm; \
else \
+11 -2
View File
@@ -19,8 +19,17 @@ building Clear Linux packages.
### Automated setup
Download the [user setup](user-setup.sh) script and run it on your
Clear Linux system as an unprivileged user.
Download the [user setup](user-setup.sh) script and run it on your Clear Linux
system as an unprivileged user.
```
$ curl -O https://raw.githubusercontent.com/clearlinux/common/master/user-setup.sh
$ chmod +x user-setup.sh
$ ./user-setup.sh
```
After the script completes, make sure to logout and login again to complete the
setup process.
The script either accepts no options, or all (3) options in case you are
configuring the Koji CLI for remote building on a Koji server. The options are
+8
View File
@@ -13,3 +13,11 @@
# String to replace with "localhost" in upstream tarball URLs
#urlban =
# Path to packages file, a list of current packages in Clear Linux. It can be
# 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 or a path relative to this autospec.conf.
#yum_conf =
+3 -1
View File
@@ -4,8 +4,10 @@ config_opts['legal_host_arches'] = ('x86_64',)
config_opts['chroot_setup_cmd'] = 'groupinstall build srpm-build'
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['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['releasever'] = 'clear'
config_opts['package_manager'] = 'dnf'
config_opts['yum.conf'] = """
+338 -247
View File
File diff suppressed because it is too large Load Diff