update packaging code

This commit is contained in:
Michael Billington 2017-06-04 20:44:25 +10:00
parent a23b4963e9
commit 82f9efd379
2 changed files with 45 additions and 18 deletions

View File

@ -2,28 +2,26 @@
## Packaging
An unsigned Debian package can be created from the repository in a few steps.
## Source release
A source tarball can be created from the `Makefile`:
```bash
git checkout v1.0
make source-release
```
This is suitable as a "pristine" source for downstream packagers.
## Debian unsigned package
An unsigned Debian package can also be created from the repository in a few steps.
Check out the version you want:
```bash
VERSION=1.0
git checkout v$VERSION
```
Write a 'pristine source' tarball from `git`:
```bash
git archive --format tar.gz HEAD --prefix mdcheckr-$VERSION/ mdcheckr tests README.md LICENSE.md > mdcheckr_$VERSION.orig.tar.gz
```
Extract, add the Debian goodies, compile, and cleanup:
```bash
tar -xzf mdcheckr_$VERSION.orig.tar.gz
cp -Rf debian/ mdcheckr-$VERSION/
(cd mdcheckr-$VERSION/ && debuild -us -uc)
rm -Rf mdcheckr-$VERSION/
git checkout v1.0
make unsigned-package
```
You will then have source and binary packages in the current directory.

29
Makefile Normal file
View File

@ -0,0 +1,29 @@
VERSION=1.0
.PHONY: default test offline-test source-tarball unsigned-package
default: test
test:
(cd tests && ./test.sh)
source-tarball: mdcheckr_$(VERSION).orig.tar.gz
mdcheckr_$(VERSION).orig.tar.gz:
tar --transform "s/^/mdcheckr-$(VERSION)\//" -cvzf \
mdcheckr_$(VERSION).orig.tar.gz \
LICENSE.md \
README.md \
mdcheckr \
tests
unsigned-package: mdcheckr_$(VERSION)-1_all.deb
mdcheckr_$(VERSION)-1_all.deb: mdcheckr_$(VERSION).orig.tar.gz
tar -xzf mdcheckr_$(VERSION).orig.tar.gz
cp -Rf debian/ mdcheckr-$(VERSION)/
(cd mdcheckr-$(VERSION)/ && debuild -us -uc)
rm -Rf mdcheckr-$(VERSION)/
clean:
rm -Rf mdcheckr-$(VERSION)* mdcheckr_$(VERSION)*