diff --git a/.gitignore b/.gitignore index 4cbb515b8e6..5fe1d994e3c 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,7 @@ docsite/searchindex.js docsite/htmlout # deb building stuff... debian/ +deb-build # Vim swap files *.swp *.swo diff --git a/Makefile b/Makefile index ee216b263e2..36973372ee0 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,9 @@ # # useful targets: # make sdist ---------------- produce a tarball +# make srpm ----------------- produce a SRPM # make rpm ----------------- produce RPMs +# make deb-src -------------- produce a DEB source # make deb ------------------ produce a DEB # make docs ----------------- rebuild the manpages (results are checked in) # make tests ---------------- run the tests @@ -45,6 +47,29 @@ else DATE := $(shell date --utc --date="$(GIT_DATE)" +%Y%m%d%H%M) endif +# DEB build parameters +DEBUILD_BIN ?= debuild +DEBUILD_OPTS = --source-option="-I" +DPUT_BIN ?= dput +DPUT_OPTS = +ifeq ($(OFFICIAL),yes) + DEB_RELEASE = 1ppa + # Sign OFFICIAL builds using 'DEBSIGN_KEYID' + # DEBSIGN_KEYID is required when signing + ifneq ($(DEBSIGN_KEYID),) + DEBUILD_OPTS += -k$(DEBSIGN_KEYID) + endif +else + DEB_RELEASE = 0.git$(DATE) + # Do not sign unofficial builds + DEBUILD_OPTS += -uc -us + DPUT_OPTS += -u +endif +DEBUILD = $(DEBUILD_BIN) $(DEBUILD_OPTS) +DEB_PPA ?= ppa +# Choose the desired Ubuntu release: lucid precise saucy trusty +DEB_DIST ?= unstable + # RPM build parameters RPMSPECDIR= packaging/rpm RPMSPEC = $(RPMSPECDIR)/ansible.spec @@ -178,12 +203,44 @@ rpm: rpmcommon @echo "#############################################" debian: sdist + @for DIST in $(DEB_DIST) ; do \ + mkdir -p deb-build/$${DIST} ; \ + tar -C deb-build/$${DIST} -xvf dist/$(NAME)-$(VERSION).tar.gz ; \ + cp -a packaging/debian deb-build/$${DIST}/$(NAME)-$(VERSION)/ ; \ + sed -ie "s#^$(NAME) (\([^)]*\)) \([^;]*\);#ansible (\1-$(DEB_RELEASE)~$${DIST}) $${DIST};#" deb-build/$${DIST}/$(NAME)-$(VERSION)/debian/changelog ; \ + done + deb: debian - cp -r packaging/debian ./ - chmod 755 debian/rules - fakeroot debian/rules clean - fakeroot dh_install - fakeroot debian/rules binary + @for DIST in $(DEB_DIST) ; do \ + (cd deb-build/$${DIST}/$(NAME)-$(VERSION)/ && $(DEBUILD) -b) ; \ + done + @echo "#############################################" + @echo "Ansible DEB artifacts:" + @for DIST in $(DEB_DIST) ; do \ + echo deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \ + done + @echo "#############################################" + +deb-src: debian + @for DIST in $(DEB_DIST) ; do \ + (cd deb-build/$${DIST}/$(NAME)-$(VERSION)/ && $(DEBUILD) -S) ; \ + done + @echo "#############################################" + @echo "Ansible DEB artifacts:" + @for DIST in $(DEB_DIST) ; do \ + echo deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \ + done + @echo "#############################################" + +deb-upload: deb + @for DIST in $(DEB_DIST) ; do \ + $(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \ + done + +deb-src-upload: deb-src + @for DIST in $(DEB_DIST) ; do \ + $(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \ + done # for arch or gentoo, read instructions in the appropriate 'packaging' subdirectory directory diff --git a/packaging/debian/changelog b/packaging/debian/changelog index 7b13b7fcc49..0b198d20644 100644 --- a/packaging/debian/changelog +++ b/packaging/debian/changelog @@ -8,49 +8,49 @@ ansible (1.6.3) unstable; urgency=low * 1.6.3 release - -- Michael DeHaan Mon, 09 Jun 2014 16:30:00 -0500 + -- Michael DeHaan Mon, 09 Jun 2014 16:30:00 -0500 ansible (1.6.2) unstable; urgency=low * 1.6.2 release - -- Michael DeHaan Fri, 23 May 2014 17:30:00 -0500 + -- Michael DeHaan Fri, 23 May 2014 17:30:00 -0500 ansible (1.6.1) unstable; urgency=low * 1.6.1 release - -- Michael DeHaan Wed, 07 May 2014 13:30:00 -0500 + -- Michael DeHaan Wed, 07 May 2014 13:30:00 -0500 ansible (1.6) unstable; urgency=low * 1.6.0 release - -- Michael DeHaan Mon, 05 May 2014 17:30:03 -0500 + -- Michael DeHaan Mon, 05 May 2014 17:30:03 -0500 ansible (1.5.5) unstable; urgency=low * 1.5.5 release - -- Michael DeHaan Fri, 18 April 2014 15:00:00 -0500 + -- Michael DeHaan Fri, 18 April 2014 15:00:00 -0500 ansible (1.5.4) unstable; urgency=low * 1.5.4 release - -- Michael DeHaan Tue, 01 April 2014 08:46:00 -0500 + -- Michael DeHaan Tue, 01 April 2014 08:46:00 -0500 ansible (1.5.3) unstable; urgency=low * 1.5.3 release - -- Michael DeHaan Thu, 13 March 2014 08:46:00 -0500 + -- Michael DeHaan Thu, 13 March 2014 08:46:00 -0500 ansible (1.5.2) unstable; urgency=low * 1.5.2 release - -- Michael DeHaan Tue, 11 March 2014 08:46:00 -0500 + -- Michael DeHaan Tue, 11 March 2014 08:46:00 -0500 ansible (1.5.1) unstable; urgency=low @@ -61,7 +61,7 @@ ansible (1.5.1) unstable; urgency=low ansible (1.5) unstable; urgency=low * 1.5 release - + -- Michael DeHaan Fri, 28 February 2014 00:00:00 -0500 ansible (1.4.5) unstable; urgency=low @@ -96,8 +96,8 @@ ansible (1.4.1) unstable; urgency=low ansible (1.4) unstable; urgency=low - * 1.4 release - + * 1.4 release + -- Michael DeHaan Thu, 21 November 2013 15:00:01 -0500 ansible (1.3) unstable; urgency=low @@ -107,15 +107,15 @@ ansible (1.3) unstable; urgency=low -- Michael DeHaan Fri, 13 September 2013 18:00:00 -0500 ansible (1.2.2) unstable; urgency=low - + * 1.2.2 release - + -- Michael DeHaan Thu, 04 July 2013 21:45:01 -0500 ansible (1.2.1) unstable; urgency=low * 1.2.1 release - + -- Michael DeHaan Thu, 04 July 2013 21:45:00 -0500 ansible (1.2) unstable; urgency=low @@ -131,33 +131,33 @@ ansible (1.1) unstable; urgency=low -- Michael DeHaan Tue, 02 Mar 2013 20:38:00 -0500 ansible (1.0) unstable; urgency=low - - * 1.0 release - + + * 1.0 release + -- Michael DeHaan Fri, 01 Feb 2013 21:34:34 -0500 ansible (0.9) unstable; urgency=low - - * 0.9 release - + + * 0.9 release + -- Michael DeHaan Fri, 30 Nov 2012 22:00:00 -0400 ansible (0.8) unstable; urgency=low - + * 0.8 update - + -- Michael DeHaan Fri, 19 Oct 2012 20:50:00 -0400 ansible (0.7) unstable; urgency=low - + * 0.7 update - + -- Michael DeHaan Thu, 06 Aug 2012 18:50:00 -0400 ansible (0.6) unstable; urgency=low - + * 0.6 update - + -- Michael DeHaan Mon, 06 Aug 2012 19:50:00 -0400 ansible (0.5) unstable; urgency=low @@ -167,9 +167,9 @@ ansible (0.5) unstable; urgency=low -- Michael DeHaan Wed, 04 Jul 2012 13:40:00 -0400 ansible (0.4) unstable; urgency=low - + * 0.4 update - + -- Michael DeHaan Wed, 23 May 2012 19:40:00 -0400 ansible (0.3) unstable; urgency=low diff --git a/packaging/debian/control b/packaging/debian/control index 075615db4e5..18d2b24cc70 100644 --- a/packaging/debian/control +++ b/packaging/debian/control @@ -1,13 +1,16 @@ Source: ansible Section: admin Priority: optional -Maintainer: Henry Graham (hzgraham) -Build-Depends: cdbs, debhelper (>= 5.0.0), asciidoc -Standards-Version: 3.9.1 +Standards-Version: 3.9.3 +Maintainer: Michael DeHaan +Build-Depends: cdbs, debhelper (>= 5.0.0), asciidoc, python, python-support, python-setuptools Homepage: http://ansible.github.com/ Package: ansible Architecture: all -Depends: python, python-support (>= 0.90), python-jinja2, python-yaml, python-paramiko, python-httplib2, sshpass -Description: Ansible Application - Ansible is a extra-simple tool/API for doing 'parallel remote things' over SSH executing commands, running "modules", or executing larger 'playbooks' that can serve as a configuration management or deployment system. +Depends: python, python-support (>= 0.90), python-jinja2, python-yaml, python-paramiko, python-httplib2, sshpass, ${misc:Depends} +Description: A radically simple IT automation platform + A radically simple IT automation platform that makes your applications and + systems easier to deploy. Avoid writing scripts or custom code to deploy and + update your applications— automate in a language that approaches plain English, + using SSH, with no agents to install on remote systems.