Changeset 128:99e4c4b74a13
- Timestamp:
- 11/08/08 19:49:19 (3 years ago)
- Author:
- chris
- Branch:
- unix
- Message:
-
Added more options to put info in the debian control file.
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
|
r127
|
r128
|
|
| 3 | 3 | # Add 'bdist_debian' Debian binary package distribution support to 'distutils'. |
| 4 | 4 | # |
| 5 | | # This command builds '.deb' packages and supports the "Maemo" extensions for the Nokia N770/N800/N810. |
| 6 | | # |
| 7 | 5 | # Written by: Gene Cash <gene.cash@gmail.com> 16-NOV-2007 |
| | 6 | # Extended by: Chris Freeze <cfreeze@users.sourceforge.net> 11/08/2008 |
| | 7 | # * Removed Nokia specific items |
| | 8 | # * Added other keywords that can be in the control file |
| 8 | 9 | |
| 9 | 10 | import os, base64 |
| … |
… |
|
| 16 | 17 | Distribution.section=None |
| 17 | 18 | Distribution.depends=None |
| | 19 | Distribution.recommends=None |
| | 20 | Distribution.suggests=None |
| | 21 | Distribution.architecture=None |
| | 22 | Distribution.essential=None |
| | 23 | Distribution.source=None |
| 18 | 24 | |
| 19 | 25 | class ControlFile(object): |
| … |
… |
|
| 53 | 59 | # List of option tuples: long name, short name (None if no short name), and help string. |
| 54 | 60 | user_options=[('name=', None, 'Package name'), |
| 55 | | ('section=', None, 'Section (Only "user/*" will display in App Mgr usually)'), |
| 56 | | ('priority=', None, 'Priority'), |
| 57 | | ('depends=', None, 'Other Debian package dependencies (comma separated)'), |
| | 61 | ('section=', None, 'Section (Only "user/*" will display in App Mgr usually) (default=user/other)'), |
| | 62 | ('priority=', None, 'Priority (default=optional)'), |
| | 63 | ('depends=', None, 'Other Debian package dependencies (comma separated) (default=python)'), |
| | 64 | ('recommends=', None, 'Other Debian package you recommend (comma separated) (default=none)'), |
| | 65 | ('suggests=', None, 'Other Debian package you suggest (comma separated) (default=none)'), |
| | 66 | ('essential=', None, 'Whether packge is essential(yes/no) (default=no)'), |
| | 67 | ('architecture=', None, 'Target architecture (default=all)'), |
| | 68 | ('source=', None, 'Source keyword.. (default=package_name)'), |
| 58 | 69 | ('icon=', None, 'Name of icon file to be displayed by App Mgr')] |
| 59 | 70 | |
| … |
… |
|
| 62 | 73 | self.priority=None |
| 63 | 74 | self.depends=None |
| | 75 | self.recommends=None |
| | 76 | self.suggests=None |
| | 77 | self.architecture=None |
| | 78 | self.essential=None |
| | 79 | self.source=None |
| 64 | 80 | self.icon=None |
| 65 | 81 | |
| … |
… |
|
| 74 | 90 | |
| 75 | 91 | if self.depends is None: |
| 76 | | self.depends='python2.5' |
| | 92 | self.depends='python' |
| 77 | 93 | |
| 78 | 94 | self.name=self.distribution.get_name() |
| … |
… |
|
| 80 | 96 | self.long_description=self.distribution.get_long_description() |
| 81 | 97 | self.version=self.distribution.get_version() |
| | 98 | |
| | 99 | if self.source is None: |
| | 100 | self.source=self.name |
| 82 | 101 | |
| 83 | 102 | # process new keywords |
| … |
… |
|
| 88 | 107 | if self.distribution.depends != None: |
| 89 | 108 | self.depends=self.distribution.depends |
| | 109 | if self.distribution.recommends != None: |
| | 110 | self.recommends=self.distribution.recommends |
| | 111 | if self.distribution.suggests != None: |
| | 112 | self.suggests=self.distribution.suggests |
| | 113 | if self.distribution.architecture != None: |
| | 114 | self.architecture=self.distribution.architecture |
| | 115 | if self.distribution.essential != None: |
| | 116 | self.essential=self.distribution.essential |
| 90 | 117 | |
| 91 | 118 | def run(self): |
| 92 | | build_dir=os.path.join(self.get_finalized_command('build').build_base, 'nokia') |
| | 119 | build_dir=os.path.join(self.get_finalized_command('build').build_base, 'debian') |
| 93 | 120 | dist_dir='dist' |
| 94 | 121 | binary_fn='debian-binary' |
| … |
… |
|
| 116 | 143 | # create control file contents |
| 117 | 144 | ctl=ControlFile(Package=self.name, Version=self.version, Section=self.section, Priority=self.priority, |
| 118 | | Installed_Size=installed_size/1024+1, Architecture='all', Maintainer=self.maintainer, |
| | 145 | Installed_Size=installed_size/1024+1, Architecture=self.architecture, Maintainer=self.maintainer, |
| 119 | 146 | Depends=self.depends, Description=self.description, Long_Description=self.long_description, |
| | 147 | Recommends=self.recommends, Suggests=self.suggests, Essential=self.essential, |
| | 148 | Source=self.source, |
| 120 | 149 | Icon=self.icon).getContent() |
| 121 | 150 | |