Commit 4f02e328fe0119152de07c58d3b4eb5062f56ddd
Exists in
design_41_backup
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 | ... | ... |