Commit 4f02e328fe0119152de07c58d3b4eb5062f56ddd

Authored by Antonio Terceiro
2 parents 12f9dd7b fceb567d

Merge branch 'copr' into 'master'

Copr

See merge request !62
@@ -13,3 +13,4 @@ @@ -13,3 +13,4 @@
13 /backups 13 /backups
14 /exported_data 14 /exported_data
15 .vagrant 15 .vagrant
  16 +src/pkg-rpm/build/
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