mini_buildd.package module¶
-
class
mini_buildd.package.
Changelog
(file: Optional[Union[bytes, str, IO[str], Iterable[str], Iterable[bytes]]] = None, max_blocks: Optional[int] = None, allow_empty_author: bool = False, strict: bool = False, encoding: str = 'utf-8')¶ Bases:
debian.changelog.Changelog
Changelog class with some extra functions.
>>> cl = Changelog(mini_buildd.open_utf8("test-data/changelog"), max_blocks=100) >>> cl.find_first_not("mini-buildd@buildd.intra") ('Stephan Sürken <absurd@debian.org>', '1.0.0-2')
>>> cl = Changelog(mini_buildd.open_utf8("test-data/changelog.ported"), max_blocks=100) >>> cl.find_first_not("mini-buildd@buildd.intra") ('Stephan Sürken <absurd@debian.org>', '1.0.0-2')
>>> cl = Changelog(mini_buildd.open_utf8("test-data/changelog.oneblock"), max_blocks=100) >>> cl.find_first_not("mini-buildd@buildd.intra") ('Stephan Sürken <absurd@debian.org>', '1.0.1-1~')
>>> cl = Changelog(mini_buildd.open_utf8("test-data/changelog.oneblock.ported"), max_blocks=100) >>> cl.find_first_not("mini-buildd@buildd.intra") ('Mini Buildd <mini-buildd@buildd.intra>', '1.0.1-1~')
-
find_first_not
(author)¶ Find (author,version+1) of the first changelog block not by given author.
-
-
class
mini_buildd.package.
DebianVersion
(version: Optional[Union[str, debian.debian_support.BaseVersion]])¶ Bases:
debian.debian_support.Version
-
classmethod
stamp
()¶
-
classmethod
stamp_regex
(stamp=None)¶
-
gen_internal_rebuild
()¶ Generate an ‘internal rebuild’ version.
If the version is not already a rebuild version, just append the rebuild appendix, otherwise replace the old one. For example:
1.2.3 -> 1.2.3+rebuilt20130215100453 1.2.3+rebuilt20130215100453 -> 1.2.3+rebuilt20130217120517
Code samples:
>>> regex = rf"^1\.2\.3\+rebuilt{DebianVersion.stamp_regex()}$" >>> bool(re.match(regex, DebianVersion("1.2.3").gen_internal_rebuild())) True >>> bool(re.match(regex, DebianVersion("1.2.3+rebuilt20130215100453").gen_internal_rebuild())) True
-
gen_external_port
(default_version)¶ Generate an ‘external port’ version.
This currently just appends the given default version appendix. For example:
1.2.3 -> 1.2.3~test60+1
-
gen_internal_port
(from_mandatory_version_regex, to_default_version)¶ Generate an ‘internal port’ version.
Tests for the (recommended) Default layout:
>>> sid_regex = r"~testSID\+[1-9]" >>> sid_default = "~testSID+1" >>> sid_exp_regex = r"~testSID\+0" >>> sid_exp_default = "~testSID+0" >>> wheezy_regex = r"~test70\+[1-9]" >>> wheezy_default = "~test70+1" >>> wheezy_exp_regex = r"~test70\+0" >>> wheezy_exp_default = "~test70+0" >>> squeeze_regex = r"~test60\+[1-9]" >>> squeeze_default = "~test60+1" >>> squeeze_exp_regex = r"~test60\+0" >>> squeeze_exp_default = "~test60+0"
sid->wheezy ports:
>>> DebianVersion("1.2.3-1~testSID+1").gen_internal_port(sid_regex, wheezy_default) '1.2.3-1~test70+1' >>> DebianVersion("1.2.3-1~testSID+4").gen_internal_port(sid_regex, wheezy_default) '1.2.3-1~test70+4' >>> DebianVersion("1.2.3-1~testSID+4fud15").gen_internal_port(sid_regex, wheezy_default) '1.2.3-1~test70+4fud15' >>> DebianVersion("1.2.3-1~testSID+0").gen_internal_port(sid_exp_regex, wheezy_exp_default) '1.2.3-1~test70+0' >>> DebianVersion("1.2.3-1~testSID+0exp2").gen_internal_port(sid_exp_regex, wheezy_exp_default) '1.2.3-1~test70+0exp2'
wheezy->squeeze ports:
>>> DebianVersion("1.2.3-1~test70+1").gen_internal_port(wheezy_regex, squeeze_default) '1.2.3-1~test60+1' >>> DebianVersion("1.2.3-1~test70+4").gen_internal_port(wheezy_regex, squeeze_default) '1.2.3-1~test60+4' >>> DebianVersion("1.2.3-1~test70+4fud15").gen_internal_port(wheezy_regex, squeeze_default) '1.2.3-1~test60+4fud15' >>> DebianVersion("1.2.3-1~test70+0").gen_internal_port(wheezy_exp_regex, squeeze_exp_default) '1.2.3-1~test60+0' >>> DebianVersion("1.2.3-1~test70+0exp2").gen_internal_port(wheezy_exp_regex, squeeze_exp_default) '1.2.3-1~test60+0exp2'
No version restrictions: just add default version
>>> DebianVersion("1.2.3-1").gen_internal_port(".*", "~port+1") '1.2.3-1~port+1'
-
classmethod
-
class
mini_buildd.package.
TemplatePackage
(template)¶ Bases:
mini_buildd.misc.TmpDir
Copies a package template into a temporary directory (under ‘package/’).
-
property
dsc
¶
-
property
-
class
mini_buildd.package.
KeyringPackage
(model)¶
-
class
mini_buildd.package.
TestPackage
(template, auto_ports=None)¶