Commit 4f02e328fe0119152de07c58d3b4eb5062f56ddd

Authored by Antonio Terceiro
2 parents 12f9dd7b fceb567d

Merge branch 'copr' into 'master'

Copr

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