#!/usr/bin/python
+# auto-debuild - Automatic Generation of Debian Packages
+# Copyright (C) 2012 Ralf Jung <post@ralfj.de>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
import os, shutil, stat, time, subprocess, sys, shlex
from collections import OrderedDict
]
return r
+def makefileRules(config):
+ r = RulesFile()
+ r.dh += ["--buildsystem=makefile"] # makefile does the least possible harm
+ return r
+
def noneRules(config):
r = RulesFile()
- r.dh += ["--buildsystem=makefile"] # makefile does the last possible harm
+ r.dh += ["--buildsystem=makefile"] # makefile does the least possible harm
+ r.rules['auto_configure'] = []
r.rules['auto_build'] = []
+ r.rules['auto_clean'] = []
return r
# build systems
'cmake': BuildSystem(cmakeRules, ["cmake"]),
'automake': BuildSystem(automakeRules),
'python': BuildSystem(pythonRules, ["python-setuptools"], ["${python:Depends}"]),
+ 'makefile': BuildSystem(makefileRules),
'none': BuildSystem(noneRules),
}
def buildDebianPackage(config):
if not isinstance(config, ConfigDict):
config = ConfigDict(config)
- commands = ['dpkg-checkbuilddeps', 'debian/rules clean', 'debian/rules build', 'fakeroot debian/rules binary', 'debian/rules clean']
+ commands = ['dpkg-checkbuilddeps', 'debian/rules clean', 'debian/rules build', 'fakeroot debian/rules binary']
command = ['bash', '-c', ' && '.join(commands)] # make it all one command, so we don't have to open and close the chroot too often
subprocess.check_call(commandInBuildEnv(config, command))
shutil.rmtree('debian') # it only contains what we just created