1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
#!/usr/bin/make -f
include /usr/share/dpkg/pkg-info.mk
export GEM2DEB_TEST_RUNNER = --check-dependencies
export DH_RUBY == --gem-install
export LC_ALL = C.UTF-8
MAJOR = $(word 1, $(subst ., ,$(DEB_VERSION_UPSTREAM)))
MINOR = $(word 2, $(subst ., ,$(DEB_VERSION_UPSTREAM)))
PATCHLEVEL = $(word 3, $(subst ., ,$(DEB_VERSION_UPSTREAM)))
PATCHLEVEL_RSPEC = $(word 1, $(subst c, ,$(PATCHLEVEL)))
PATCHLEVEL_RSPEC_CORE = $(word 2, $(subst e, ,$(subst c, ,$(PATCHLEVEL))))
PATCHLEVEL_RSPEC_EXPECTATIONS = $(word 2, $(subst m, ,$(subst e, ,$(PATCHLEVEL))))
PATCHLEVEL_RSPEC_MOCKS = $(word 2, $(subst s, ,$(subst m, ,$(PATCHLEVEL))))
PATCHLEVEL_RSPEC_SUPPORT = $(word 2, $(subst s, ,$(PATCHLEVEL)))
RSPEC_VERSION = $(MAJOR).$(MINOR).$(PATCHLEVEL_RSPEC)
RSPEC_CORE_VERSION = $(MAJOR).$(MINOR).$(PATCHLEVEL_RSPEC_CORE)
RSPEC_EXPECTATIONS_VERSION = $(MAJOR).$(MINOR).$(PATCHLEVEL_RSPEC_EXPECTATIONS)
RSPEC_MOCKS_VERSION = $(MAJOR).$(MINOR).$(PATCHLEVEL_RSPEC_MOCKS)
RSPEC_SUPPORT_VERSION = $(MAJOR).$(MINOR).$(PATCHLEVEL_RSPEC_SUPPORT)
test:
@echo $(RSPEC_VERSION)
@echo $(RSPEC_CORE_VERSION)
@echo $(RSPEC_EXPECTATIONS_VERSION)
@echo $(RSPEC_MOCKS_VERSION)
@echo $(RSPEC_SUPPORT_VERSION)
report:
@dh_testdir
@set -e && \
(echo rspec . $(RSPEC_VERSION); echo rspec-core c $(RSPEC_CORE_VERSION); echo rspec-expectations e $(RSPEC_EXPECTATIONS_VERSION); echo rspec-mocks m $(RSPEC_MOCKS_VERSION); echo rspec-support s $(RSPEC_SUPPORT_VERSION)) | { while read gem letter version; do \
new_version=$$(uscan --verbose --report --watch debian/$$gem.watch --upstream-version $$version | sed -n -e 's/uscan: Newest version .* on remote site is \([^,]*\), .*$$/\1/p'); \
[ "$$new_version" ] || new_version=$$version; \
if [ "$$new_major_minor" ]; then \
[ "$$new_major_minor" = "$${new_version%.*}" ] || { echo 'Major/minor version mismatch between gems!' >&2; exit 1; }; \
fi; \
new_major_minor="$${new_version%.*}"; \
new_patchlevel="$${new_version##*.}"; \
new_patchlevels="$$new_patchlevels$$letter$$new_patchlevel"; \
done; \
new_upstream_version="$$new_major_minor$$new_patchlevels"; \
echo "Newest version on remote site is $$new_upstream_version, local version is $(DEB_VERSION_UPSTREAM)"; \
if [ "$$new_upstream_version" = "$(DEB_VERSION_UPSTREAM)" ]; then \
echo " => Package is up to date"; \
else \
echo " => Newer versions available. Update debian/changelog and run 'debian/rules get-orig-sources'"; \
fi; \
}
get-orig-sources:
dh_testdir
#git submodule init
#git submodule update --checkout
wget -O../ruby-rspec_$(DEB_VERSION_UPSTREAM).orig-rspec.tar.gz \
https://github.com/rspec/rspec/archive/v$(RSPEC_VERSION).tar.gz
#cd rspec && git fetch origin && git checkout v$(RSPEC_VERSION)
wget -O../ruby-rspec_$(DEB_VERSION_UPSTREAM).orig-rspec-core.tar.gz \
https://github.com/rspec/rspec-core/archive/v$(RSPEC_CORE_VERSION).tar.gz
#cd rspec-core && git fetch origin && git checkout v$(RSPEC_CORE_VERSION)
wget -O../ruby-rspec_$(DEB_VERSION_UPSTREAM).orig-rspec-expectations.tar.gz \
https://github.com/rspec/rspec-expectations/archive/v$(RSPEC_EXPECTATIONS_VERSION).tar.gz
#cd rspec-expectations && git fetch origin && git checkout v$(RSPEC_EXPECTATIONS_VERSION)
wget -O../ruby-rspec_$(DEB_VERSION_UPSTREAM).orig-rspec-mocks.tar.gz \
https://github.com/rspec/rspec-mocks/archive/v$(RSPEC_MOCKS_VERSION).tar.gz
#cd rspec-mocks && git fetch origin && git checkout v$(RSPEC_MOCKS_VERSION)
wget -O../ruby-rspec_$(DEB_VERSION_UPSTREAM).orig-rspec-support.tar.gz \
https://github.com/rspec/rspec-support/archive/v$(RSPEC_SUPPORT_VERSION).tar.gz
#cd rspec-support && git fetch origin && git checkout v$(RSPEC_SUPPORT_VERSION)
gen-gemspecs:
# Let's create a static version of the gemspec as we don't build with git
ruby -rrubygems -rfileutils -e ' \
%w{rspec rspec-core rspec-expectations rspec-mocks rspec-support}.each do |gem| \
Dir.chdir(gem) do \
spec = Gem::Specification.load("#{gem}.gemspec"); \
File.write("#{gem}.gemspec.new", spec.to_ruby); \
FileUtils.mv("#{gem}.gemspec.new", "#{gem}.gemspec"); \
end; \
end \
'
unpack-sources:
for x in rspec rspec-core rspec-expectations rspec-mocks rspec-support; do \
tar -C $$x -xzf ../ruby-rspec_$(DEB_VERSION_UPSTREAM).orig-$$x.tar.gz --strip-components=1; \
done
repack-sources:
mkdir -p ruby-rspec_$(DEB_VERSION_UPSTREAM).orig
for x in rspec rspec-core rspec-expectations rspec-mocks rspec-support; do \
mkdir -p ruby-rspec_$(DEB_VERSION_UPSTREAM).orig/$$x; \
tar -C ruby-rspec_$(DEB_VERSION_UPSTREAM).orig/$$x -xzf ../ruby-rspec_$(DEB_VERSION_UPSTREAM).orig-$$x.tar.gz --strip-components=1; \
done
tar -c --owner root --group root --mode a+rX -f \
../ruby-rspec_$(DEB_VERSION_UPSTREAM).orig.tar ruby-rspec_$(DEB_VERSION_UPSTREAM).orig
gzip --best ../ruby-rspec_$(DEB_VERSION_UPSTREAM).orig.tar
rm -rf ruby-rspec_$(DEB_VERSION_UPSTREAM).orig
%:
dh $@ --buildsystem=ruby --with ruby
override_dh_installman:
mkdir -p man
pod2man --center "" --release "" --name RSPEC --utf8 debian/rspec.1.pod man/rspec.1
dh_installman
override_dh_auto_clean:
rm -rf rspec-core/tmp/
rm -rf rspec-expectations/coverage/
rm -rf rspec-mocks/coverage/
rm -rf rspec-support/coverage/
rm -f rspec-mocks/tmp/file_*
rm -rf rspec-*/spec/support/_*
rm -rf man/
dh_auto_clean
override_dh_installchangelogs:
for x in rspec rspec-core rspec-expectations rspec-mocks rspec-support; do \
dh_installchangelogs -pruby-$$x $(wildcard $$x/Changelog.md); \
done
|