~dktrkranz/debomatic/debomatic

« back to all changes in this revision

Viewing changes to setup.py

  • Committer: Luca Falavigna
  • Date: 2013-06-05 13:18:02 UTC
  • mfrom: (1.4.56 debomatic)
  • Revision ID: dktrkranz@debian.org-20130605131802-og6623opcn2cv9mt
StableĀ releaseĀ 0.11

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/usr/bin/python
2
2
# Deb-o-Matic
3
3
#
4
 
# Copyright (C) 2007-2012 Luca Falavigna
 
4
# Copyright (C) 2007-2013 Luca Falavigna
5
5
#
6
6
# Author: Luca Falavigna <dktrkranz@debian.org>
7
7
#
22
22
from distutils.core import setup
23
23
from distutils.command.install_data import install_data
24
24
from glob import glob
 
25
from re import sub
25
26
from subprocess import call
26
27
 
27
28
 
33
34
    call(['msgfmt', '-o', mo, po])
34
35
 
35
36
 
36
 
class InstallGuide(install_data):
 
37
class InstallData(install_data):
37
38
 
38
39
    def run(self):
39
40
        call(['make', '-C', 'docs', 'latexpdf'])
40
41
        self.data_files.extend([('share/doc/debomatic',
41
42
                                 ['docs/_build/latex/Deb-o-Matic.pdf'])])
 
43
        self.install_files('etc')
 
44
        self.install_files('modules', 'share/debomatic')
 
45
        self.install_files('pbuilderhooks', 'share/debomatic')
 
46
        self.install_files('locale', 'share')
42
47
        install_data.run(self)
43
48
 
44
 
 
45
 
def install_files(rootdir, prefix=''):
46
 
    filelist = []
47
 
    for root, subFolders, files in os.walk(rootdir):
48
 
        dirlist = []
49
 
        for file in files:
50
 
            dirlist.append(os.path.join(root, file))
51
 
        if dirlist:
52
 
            filelist.append((os.path.join(prefix, root), dirlist))
53
 
    return filelist
 
49
    def install_files(self, rootdir, prefix=''):
 
50
        filelist = []
 
51
        for root, subFolders, files in os.walk(rootdir):
 
52
            dirlist = []
 
53
            for file in files:
 
54
                dirlist.append(os.path.join(root, file))
 
55
            if dirlist:
 
56
                filelist.append((os.path.join(prefix, root), dirlist))
 
57
        if not prefix:
 
58
            orig_prefix = self.install_dir
 
59
            orig_data_files = self.data_files
 
60
            self.install_dir = sub('/*usr/*$', '/', self.install_dir)
 
61
            self.data_files = filelist
 
62
            install_data.run(self)
 
63
            self.install_dir = orig_prefix
 
64
            self.data_files = orig_data_files
 
65
        else:
 
66
            self.data_files.extend(filelist)
54
67
 
55
68
 
56
69
setup(name='debomatic',
57
 
      version = '0.10',
 
70
      version = '0.11',
58
71
      author = 'Luca Falavigna',
59
72
      author_email = 'dktrkranz@debian.org',
60
73
      description = 'Automatic build machine for Debian source packages',
62
75
      license = 'GNU GPL',
63
76
      packages = ['Debomatic'],
64
77
      scripts = ['debomatic'],
65
 
      data_files = [('share/man/man1', ['docs/debomatic.1'])] +
66
 
                   install_files('etc', '/') +
67
 
                   install_files('modules', 'share/debomatic') +
68
 
                   install_files('pbuilderhooks', 'share/debomatic') +
69
 
                   install_files('locale', 'share'),
70
 
      cmdclass = {'install_data': InstallGuide})
 
78
      data_files = [('share/man/man1', ['docs/debomatic.1'])],
 
79
      cmdclass = {'install_data': InstallData})