source: lliurex-meta-tools/trunk/fuentes/src/dh_llxmeta @ 898

Last change on this file since 898 was 898, checked in by kbut, 4 years ago

replace LLIUREX-FLAVOUR by Lliurex-Flavours

  • Property svn:executable set to *
File size: 1.9 KB
Line 
1#!/usr/bin/env python3
2import deb822
3import os
4import os.path
5from string import Template
6class DebhelperLliurexMeta:
7        def __init__(self):
8                self.packages = []
9
10        def getPackages(self):
11                self.packages = []
12                fdcontrol = open('debian/control','r')
13                for stanza in deb822.Packages.iter_paragraphs(fdcontrol):
14                        if 'Package' in stanza:
15                                self.packages.append(stanza)
16                fdcontrol.close()
17
18        def writeFlavours(self):
19                for package in self.packages:
20                        if not 'Lliurex-Flavours' in package:
21                                continue
22                        destfolder = os.path.join('debian',package['Package'],'usr','share','lliurex-cdd',package['Package'])
23                        if not os.path.exists(destfolder):
24                                os.makedirs(destfolder)
25                        fd = open(os.path.join(destfolder,'cddflavour'),'w')
26                        listflavours = [flavour.strip() for flavour in package['Lliurex-Flavours'].split(',')]
27                        for flavour in listflavours:
28                                fd.write(flavour+"\n")
29                        fd.close()
30
31        def writePreinstFile(self):
32                template = Template('''
33                        case "$1" in
34                                install)
35                                        echo " + $packageName \t $(date +"%x %R:%S")" >> /etc/lliurex-cdd-version
36                                ;;
37                        esac
38                        ''')
39                for package in self.packages:
40                        destpath = os.path.join('debian',package['Package']+".preinst.debhelper")
41                        fd = open(destpath,'a')
42                        fd.write(template.safe_substitute(packageName=package['Package']))
43                        fd.close()
44
45        def writePostrmFile(self):
46                template = Template('''
47                        case "$1" in
48                                remove)
49                                        echo " - $packageName \t $(date +"%x %R:%S")" >> /etc/lliurex-cdd-version
50                                ;;
51                        esac
52                        ''')
53                for package in self.packages:
54                        destpath = os.path.join('debian',package['Package']+".postrm.debhelper")
55                        fd = open(destpath,'a')
56                        fd.write(template.safe_substitute(packageName=package['Package']))
57                        fd.close()
58
59        def run(self):
60                self.getPackages()
61                self.writeFlavours()
62                self.writePreinstFile()
63                self.writePostrmFile()
64
65if __name__ == '__main__':
66        dhllxmeta = DebhelperLliurexMeta()
67        dhllxmeta.run()
Note: See TracBrowser for help on using the repository browser.