Commit 4f02e328fe0119152de07c58d3b4eb5062f56ddd
Exists in
master
and in
41 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 | [isv_spb_spb] | 1 | [isv_spb_spb] |
| 2 | name=Software Publico Brasileiro (CentOS_7) | 2 | name=Software Publico Brasileiro (CentOS_7) |
| 3 | type=rpm-md | 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 | gpgcheck=1 | 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 | enabled=1 | 7 | enabled=1 |
src/pkg-rpm/Makefile
| 1 | OBSPROJECT = isv:spb:devel | 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,58 +17,88 @@ obsdir = .obs | ||
| 10 | all: | 17 | all: |
| 11 | @echo "Usage:" | 18 | @echo "Usage:" |
| 12 | @echo | 19 | @echo |
| 13 | - @echo '$$ make $${pkg}-checkout checkout $${pkg}' | ||
| 14 | - @echo '$$ make $${pkg}-upload uploads package $${pkg}' | ||
| 15 | @echo '$$ make $${pkg}-build builds package $${pkg} locally' | 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 | @echo | 23 | @echo |
| 18 | @echo '$${pkg} can be one of: $(packages)' | 24 | @echo '$${pkg} can be one of: $(packages)' |
| 19 | @echo | 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 | @echo Use OBSPROJECT=project:name to control where to upload to. | 37 | @echo Use OBSPROJECT=project:name to control where to upload to. |
| 21 | @echo '(currently: $(OBSPROJECT))'. Example: | 38 | @echo '(currently: $(OBSPROJECT))'. Example: |
| 22 | @echo | 39 | @echo |
| 23 | - @echo \ \ \ \ $$ make colab-upload OBSPROJECT=isv:spb:v3 | 40 | + @echo \ \ \ \ $$ make colab-upload-obs OBSPROJECT=isv:spb:v3 |
| 24 | @echo | 41 | @echo |
| 25 | @echo 'Operations on all packages:' | 42 | @echo 'Operations on all packages:' |
| 26 | @echo | 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 | build_packages = $(patsubst %, %-build, $(packages)) | 49 | build_packages = $(patsubst %, %-build, $(packages)) |
| 50 | +build_src_packages = $(patsubst %, %-build-src, $(packages)) | ||
| 51 | + | ||
| 52 | +# Copr | ||
| 35 | upload_packages = $(patsubst %, %-upload, $(packages)) | 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 | build-all: $(build_packages) | 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 | mkdir -p $(obsdir) | 87 | mkdir -p $(obsdir) |
| 45 | [ -d $(obsdir)/$(OBSPROJECT)/$* ] && \ | 88 | [ -d $(obsdir)/$(OBSPROJECT)/$* ] && \ |
| 46 | (cd $(obsdir)/$(OBSPROJECT)/$* && osc update) || \ | 89 | (cd $(obsdir)/$(OBSPROJECT)/$* && osc update) || \ |
| 47 | (cd $(obsdir) && osc checkout $(OBSPROJECT) $*) | 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 | @printf "Confirm upload? [y/N] "; read confirm; test "$$confirm" = y -o "$$confirm" = Y | 94 | @printf "Confirm upload? [y/N] "; read confirm; test "$$confirm" = y -o "$$confirm" = Y |
| 58 | cp $*/* $(obsdir)/$(OBSPROJECT)/$* | 95 | cp $*/* $(obsdir)/$(OBSPROJECT)/$* |
| 59 | (cd $(obsdir)/$(OBSPROJECT)/$*; osc add *; osc commit -m "update $*") | 96 | (cd $(obsdir)/$(OBSPROJECT)/$*; osc add *; osc commit -m "update $*") |
| 60 | 97 | ||
| 61 | -$(diff_packages): %-diff : % | 98 | +$(diff_packages_obs): %-diff-obs : % |
| 62 | @git diff --no-index $(obsdir)/$(OBSPROJECT)/$*/$*.spec $*/$*.spec || true | 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 | @$(MAKE) diff | diffstat -C | 104 | @$(MAKE) diff | diffstat -C |