Commit fe8ad539 authored by Seblu's avatar Seblu

Move to autotools

- Remove custom makefile
- Remove setup.py
parent addee15f
Sébastien Luttringer
# -*- python -*-
# -*- coding: utf-8 -*-
# This file is part of Installsystems.
#
# Installsystems is free software: you can redistribute it and/or modify
......@@ -16,36 +13,32 @@
# You should have received a copy of the GNU Lesser General Public License
# along with Installsystems. If not, see <http://www.gnu.org/licenses/>.
from setuptools import setup
import os
import sys
import installsystems
import subprocess
# Build manpage
subprocess.call(['rst2man', 'doc/is.1.rst', 'doc/is.1'])
# Retrieval of version
ldesc = open(os.path.join(os.path.dirname(__file__), 'README')).read()
setup(
name=installsystems.canonical_name,
version=installsystems.version,
description='InstallSystems',
long_description=ldesc,
author='Sébastien Luttringer',
author_email='sebastien.luttringer@smartjog.com',
license='LGPL3',
packages=[ 'installsystems' ],
scripts=[ 'bin/is' ],
data_files=(
('/etc/installsystems/', ('samples/repository.conf',
'samples/installsystems.conf')),
('/etc/bash_completion.d/', ('completion/bash/is',)),
),
classifiers=[
'Operating System :: Unix',
'Programming Language :: Python',
],
)
bashcompdir=@bashcompdir@
zshcompdir=@zshcompdir@
SUBDIRS = doc
EXTRA_DIST = COPYRIGHT LICENSE \
misc/installsystems.conf misc/repository.conf \
misc/zsh-completion misc/bash-completion
dist_doc_DATA = README COPYRIGHT LICENSE AUTHORS DEPENDENCIES
# main binary
dist_bin_SCRIPTS = bin/is
# python library
installsystemsdir=$(pythondir)/installsystems
installsystems_PYTHON = installsystems/*.py
CLEANFILES = $(bin_SCRIPTS)
install-exec-hook:
ln -fs is $(DESTDIR)$(bindir)/installsystems
install -dm755 $(DESTDIR)$(sysconfdir)/installsystems $(DESTDIR)$(bashcompdir) $(DESTDIR)$(zshcompdir)
install -m644 misc/{repository,installsystems}.conf $(DESTDIR)$(sysconfdir)/installsystems/
install -m644 misc/bash-completion $(DESTDIR)$(bashcompdir)/is
install -m644 misc/zsh-completion $(DESTDIR)$(zshcompdir)/_installsystems
dist-hook:
rm -f $(distdir)/TODO
#/bin/bash -x
# This file is part of Installsystems.
#
# Installsystems is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Installsystems is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with Installsystems. If not, see <http://www.gnu.org/licenses/>.
autoreconf --force -v --install "$@"
#!/usr/bin/make
# Installsystems - Python installation framework
# Copyright © 2011-2012 Smartjog S.A
# Copyright © 2011-2012 Sébastien Luttringer
#
# This file is part of Installsystems.
#
# Installsystems is free software: you can redistribute it and/or modify
......@@ -19,42 +13,26 @@
# You should have received a copy of the GNU Lesser General Public License
# along with Installsystems. If not, see <http://www.gnu.org/licenses/>.
.PHONY: all tar deb clean cleanbuild buildd dsc doc
NAME=installsystems
VERSION=$(shell sed -rn 's/version = "([^"]+)"/\1/p' installsystems/__init__.py)
BUILD_DIR=__build__
DISTRO=squeeze
all:
echo all is better than nothing
$(NAME)-$(VERSION).tar.gz:
git archive --prefix=$(NAME)-$(VERSION)/ HEAD | gzip -9 > $(NAME)-$(VERSION).tar.gz
tar: cleantar $(NAME)-$(VERSION).tar.gz
doc:
cd doc && make html
dsc: cleanbuild $(NAME)-$(VERSION).tar.gz
mkdir $(BUILD_DIR)
tar xfC $(NAME)-$(VERSION).tar.gz $(BUILD_DIR)
cd $(BUILD_DIR) && dpkg-source -I -b $(NAME)-$(VERSION)
AC_INIT([installsystems], [9], [sebastien.luttringer@smartjog.com])
deb: cleanbuild $(NAME)-$(VERSION).tar.gz
mkdir $(BUILD_DIR)
tar xfC $(NAME)-$(VERSION).tar.gz $(BUILD_DIR)
cd $(BUILD_DIR)/$(NAME)-$(VERSION) && dpkg-buildpackage --source-option=-I -us -uc
AM_INIT_AUTOMAKE([foreign dist-xz no-dist-gzip])
AM_PATH_PYTHON([2.6])
buildd: dsc
chmod 644 $(BUILD_DIR)/$(NAME)_*.dsc $(BUILD_DIR)/$(NAME)_*.gz
scp $(BUILD_DIR)/$(NAME)_*.dsc $(BUILD_DIR)/$(NAME)_*.gz incoming@buildd.fr.lan:$(DISTRO)
AC_CONFIG_FILES([
Makefile
doc/Makefile
])
clean: cleantar cleanbuild
AC_ARG_WITH([bashcompdir],
AS_HELP_STRING([--with-bashcompdir=DIR], [Bash completion directory]),
[], [with_bashcompdir=${datadir}/bash-completion/completions]
)
AC_SUBST([bashcompdir], [$with_bashcompdir])
cleanbuild:
-rm -rf $(BUILD_DIR)
AC_ARG_WITH([zshcompdir],
AS_HELP_STRING([--with-zshcompdir=DIR], [Zsh completion directory]),
[], [with_zshcompdir=${datadir}/zsh/site-functions]
)
AC_SUBST([zshcompdir], [$with_zshcompdir])
cleantar:
-rm -f $(NAME)-*.tar.gz
AC_OUTPUT
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
-rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/InstallSystems.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/InstallSystems.qhc"
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/InstallSystems"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/InstallSystems"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
# man pages stuff
man1_MANS = is.1
SUFFIXES = .1 .1.rst
.1.rst.1:
rst2man $< $@
CLEANFILES = $(man1_MANS)
EXTRA_DIST = $(man1_MANS)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment