Commit 4f02e328fe0119152de07c58d3b4eb5062f56ddd
Exists in
master
and in
42 other branches
Merge branch 'copr' into 'master'
Copr See merge request !62
Showing
3 changed files
with
65 additions
and
27 deletions
Show diff stats
.gitignore
cookbooks/basics/templates/default/softwarepublico.repo.erb
1 | 1 | [isv_spb_spb] |
2 | 2 | name=Software Publico Brasileiro (CentOS_7) |
3 | 3 | type=rpm-md |
4 | -baseurl=<%= node['config']['rpm_repository'] || 'http://download.opensuse.org/repositories/isv:/spb:/devel/CentOS_7/' %> | |
4 | +baseurl=<%= node['config']['rpm_repository'] || 'https://copr-be.cloud.fedoraproject.org/results/softwarepublico/v5/epel-7-$basearch/' %> | |
5 | 5 | gpgcheck=1 |
6 | -gpgkey=file:///etc/yum.repos.d/softwarepublico.key | |
6 | +gpgkey=<%= node['config']['rpm_gpgkey'] || 'https://copr-be.cloud.fedoraproject.org/results/softwarepublico/v5/pubkey.gpg' %> | |
7 | 7 | enabled=1 | ... | ... |
src/pkg-rpm/Makefile
1 | 1 | OBSPROJECT = isv:spb:devel |
2 | +COPR_PROJECT = softwarepublico/v5 | |
3 | +LOCAL_BUILD_DIR = $(PWD)/build | |
4 | + | |
5 | +# Vagrant environment does not accept links from/to shared folder | |
6 | +ifeq "$(PWD)" "/vagrant" | |
7 | +LOCAL_BUILD_DIR = /home/vagrant/rpmbuild | |
8 | +endif | |
2 | 9 | |
3 | 10 | ############################################################################# |
4 | 11 | |
... | ... | @@ -10,58 +17,88 @@ obsdir = .obs |
10 | 17 | all: |
11 | 18 | @echo "Usage:" |
12 | 19 | @echo |
13 | - @echo '$$ make $${pkg}-checkout checkout $${pkg}' | |
14 | - @echo '$$ make $${pkg}-upload uploads package $${pkg}' | |
15 | 20 | @echo '$$ make $${pkg}-build builds package $${pkg} locally' |
16 | - @echo '$$ make $${pkg}-diff diff from OBS to git for package $${pkg}' | |
21 | + @echo '$$ make $${pkg}-build-src builds SRPM package $${pkg} locally' | |
22 | + @echo '$$ make $${pkg}-upload uploads package $${pkg} to Copr' | |
17 | 23 | @echo |
18 | 24 | @echo '$${pkg} can be one of: $(packages)' |
19 | 25 | @echo |
26 | + @echo 'Operations on all packages:' | |
27 | + @echo | |
28 | + @echo '$$ make build-all builds all packages locally' | |
29 | + @echo | |
30 | + @echo | |
31 | + @echo 'Working with OBS (deprecated):' | |
32 | + @echo | |
33 | + @echo '$$ make $${pkg}-checkout-obs checkout $${pkg}' | |
34 | + @echo '$$ make $${pkg}-upload-obs uploads package $${pkg}' | |
35 | + @echo '$$ make $${pkg}-diff-obs diff from OBS to git for package $${pkg}' | |
36 | + @echo | |
20 | 37 | @echo Use OBSPROJECT=project:name to control where to upload to. |
21 | 38 | @echo '(currently: $(OBSPROJECT))'. Example: |
22 | 39 | @echo |
23 | - @echo \ \ \ \ $$ make colab-upload OBSPROJECT=isv:spb:v3 | |
40 | + @echo \ \ \ \ $$ make colab-upload-obs OBSPROJECT=isv:spb:v3 | |
24 | 41 | @echo |
25 | 42 | @echo 'Operations on all packages:' |
26 | 43 | @echo |
27 | - @echo '$$ make diff diff of all packages from OBS to git' | |
28 | - @echo '$$ make status|st diffstat of all packages from OBS to git' | |
29 | - @echo '$$ make checkout-all checks out all packages from OBS' | |
30 | - @echo '$$ make build-all builds all packages locally' | |
44 | + @echo '$$ make diff-obs diff of all packages from OBS to git' | |
45 | + @echo '$$ make status-obs|st-obs diffstat of all packages from OBS to git' | |
46 | + @echo '$$ make checkout-all-obs checks out all packages from OBS' | |
31 | 47 | |
32 | - | |
33 | -checkout_packages = $(patsubst %, %-checkout, $(packages)) | |
48 | +# Local | |
34 | 49 | build_packages = $(patsubst %, %-build, $(packages)) |
50 | +build_src_packages = $(patsubst %, %-build-src, $(packages)) | |
51 | + | |
52 | +# Copr | |
35 | 53 | upload_packages = $(patsubst %, %-upload, $(packages)) |
36 | -diff_packages = $(patsubst %, %-diff, $(packages)) | |
37 | 54 | |
38 | -.PHONY: $(checkout_packages) $(build_packages) $(upload_packages) $(diff_packages) | |
55 | +# OBS | |
56 | +checkout_packages_obs = $(patsubst %, %-checkout-obs, $(packages)) | |
57 | +upload_packages_obs = $(patsubst %, %-upload-obs, $(packages)) | |
58 | +diff_packages_obs = $(patsubst %, %-diff-obs, $(packages)) | |
59 | + | |
60 | +.PHONY: $(build_packages) $(checkout_packages_obs) $(upload_packages_obs) $(diff_packages_obs) | |
61 | + | |
62 | +### Targets | |
39 | 63 | |
40 | -checkout-all: $(checkout_packages) | |
41 | 64 | build-all: $(build_packages) |
42 | 65 | |
43 | -$(checkout_packages): %-checkout : % | |
66 | +$(build_packages): %-build : % | |
67 | + mkdir -p $(LOCAL_BUILD_DIR)/SOURCES | |
68 | + cp $*/*.tar.* $(LOCAL_BUILD_DIR)/SOURCES/ | |
69 | + cp $*/*.patch $(LOCAL_BUILD_DIR)/SOURCES/ || true | |
70 | + cd $* && $(BUILD_PREFIX) rpmbuild --define "_topdir $(LOCAL_BUILD_DIR)" -bb $*.spec | |
71 | + | |
72 | +$(build_src_packages): %-build-src : % | |
73 | + mkdir -p $(LOCAL_BUILD_DIR)/SOURCES | |
74 | + cp $*/*.tar.* $(LOCAL_BUILD_DIR)/SOURCES/ | |
75 | + cp $*/*.patch $(LOCAL_BUILD_DIR)/SOURCES/ || true | |
76 | + rm -f $(LOCAL_BUILD_DIR)/SRPMS/$*-*.src.rpm | |
77 | + cd $* && $(BUILD_PREFIX) rpmbuild --define "_topdir $(LOCAL_BUILD_DIR)" -bs $*.spec --nodeps | |
78 | + | |
79 | +$(upload_packages): %-upload : %-build-src % | |
80 | + copr-cli build $(COPR_PROJECT) $(LOCAL_BUILD_DIR)/SRPMS/$*-*.src.rpm --nowait | |
81 | + | |
82 | +### OBS targets (deprecated) | |
83 | + | |
84 | +checkout-all-obs: $(checkout_packages_obs) | |
85 | + | |
86 | +$(checkout_packages_obs): %-checkout-obs : % | |
44 | 87 | mkdir -p $(obsdir) |
45 | 88 | [ -d $(obsdir)/$(OBSPROJECT)/$* ] && \ |
46 | 89 | (cd $(obsdir)/$(OBSPROJECT)/$* && osc update) || \ |
47 | 90 | (cd $(obsdir) && osc checkout $(OBSPROJECT) $*) |
48 | 91 | |
49 | -$(build_packages): %-build : % | |
50 | - mkdir -p ~/rpmbuild/SOURCES | |
51 | - cp $(obsdir)/$(OBSPROJECT)/$*/*.tar.* ~/rpmbuild/SOURCES/ | |
52 | - cp $*/*.patch ~/rpmbuild/SOURCES/ || true | |
53 | - cd $* && $(BUILD_PREFIX) rpmbuild -bb $*.spec | |
54 | - | |
55 | -$(upload_packages): %-upload : %-checkout | |
56 | - $(MAKE) $*-diff | |
92 | +$(upload_packages_obs): %-upload-obs : %-checkout-obs | |
93 | + $(MAKE) $*-diff-obs | |
57 | 94 | @printf "Confirm upload? [y/N] "; read confirm; test "$$confirm" = y -o "$$confirm" = Y |
58 | 95 | cp $*/* $(obsdir)/$(OBSPROJECT)/$* |
59 | 96 | (cd $(obsdir)/$(OBSPROJECT)/$*; osc add *; osc commit -m "update $*") |
60 | 97 | |
61 | -$(diff_packages): %-diff : % | |
98 | +$(diff_packages_obs): %-diff-obs : % | |
62 | 99 | @git diff --no-index $(obsdir)/$(OBSPROJECT)/$*/$*.spec $*/$*.spec || true |
63 | 100 | |
64 | -diff: $(diff_packages) | |
101 | +diff-obs: $(diff_packages_obs) | |
65 | 102 | |
66 | -status st: | |
103 | +status-obs st-obs: | |
67 | 104 | @$(MAKE) diff | diffstat -C | ... | ... |