minor fixes for clang++
[senf.git] / debian / SConscript
index 7069259..3f2ea5f 100644 (file)
@@ -1,7 +1,7 @@
 # -*- python -*-
 
 Import('env')
-import SENFSCons, os
+import SENFSCons, os, os.path, pwd, time, string
 
 ###########################################################################
 
@@ -21,7 +21,7 @@ def updateRevision(target, source, env):
         rev = rev[:-1]
     if 'm' in rev:
         rev = rev[:-1]
-    url = None
+    url = ''
     for line in os.popen("svn info"):
         elts=line.split(':',1)
         if elts[0] == 'URL':
@@ -31,7 +31,7 @@ def updateRevision(target, source, env):
         version = url.rsplit('/',1)[-1].split('_',1)[0]
         if version[0] not in string.digits:
             version = None
-    if version is None:
+    if not version:
         version = '1:0r%s' % rev
     changelog = file('debian/changelog.template').read() % {
         'version': version,
@@ -65,6 +65,8 @@ if os.environ.get('debian_build'):
     rev = os.popen("dpkg-parsechangelog | awk '/^Version:/{print $2}'").read().strip()
 else:
     rev = 'r' + os.popen("svnversion").read().strip().lower()
+    if rev == 'rexported':
+        rev = os.popen("gitsvnversion").read().strip().lower()
 
 logname = os.environ.get('LOGNAME')
 if not logname:
@@ -74,6 +76,11 @@ def dpkgIgnoredFilesOpts(target, source, env, for_signature):
     return [ '-I%s' % (('/' in f) and (os.path.split(os.getcwd())[1])+f or f)
              for f in env.subst('$DPKG_IGNORED_FILES').split() ]
 
+if env.has_key('REVISION'):
+    rev = env['REVISION']
+# else:
+#     rev = "(Version %s)" % rev
+
 env.Append( ENV = { 
     'REVISION': rev,
     'LOGNAME' : logname, # needed by the debian build scripts
@@ -82,28 +89,31 @@ env.Append( ENV = {
 })
 
 env.Replace(                    
-    LOCAL_CONFIG_FILES = [ '/Doxyfile.local', '/SConfig', '/local_config.hh' ],
-    DPKG_IGNORED_FILES = [ '$LOCAL_CONFIG_FILES', '.svn', '/_templates' ],
+    LOCAL_CONFIG_FILES = [ '/Doxyfile.local', '/SConscript.local', '/senf/local_config.hh' ],
+    DPKG_IGNORED_FILES = [ '$LOCAL_CONFIG_FILES', '.svn', '.git', '.gitignore', '/_templates', 
+                           '/TODO', '.project', '.cproject', '.dir.el', '/.project.el' ],
     DPKG_IGNORED_FILES_OPTS = dpkgIgnoredFilesOpts,
     BUILDPACKAGE_COMMAND = "dpkg-buildpackage -us -uc -rfakeroot $DPKG_IGNORED_FILES_OPTS",
 )
 
-SENFSCons.PhonyTarget(env, 'deb', [
+env.PhonyTarget('deb', [], [
     checkLocalConf,
     updateRevision,
     "$BUILDPACKAGE_COMMAND",
-    "fakeroot ./debian/rules debclean"
+    "fakeroot ./debian/rules clean"
 ])
 
-SENFSCons.PhonyTarget(env, 'debsrc', [
+env.PhonyTarget('debsrc', [], [
     updateRevision,
     "$BUILDPACKAGE_COMMAND -S",
 ])
 
-SENFSCons.PhonyTarget(env, 'debbin', [
+env.PhonyTarget('debbin', [], [
     checkLocalConf,
     updateRevision,
-    "$BUILDPACKAGE_COMMAND -b",
+    "$BUILDPACKAGE_COMMAND -b -nc",
     "fakeroot ./debian/rules debclean"
 ])
 
+if not os.environ.get('debian_build'):
+    env.Clean(env.Alias('all'), '#/debian/changelog')