mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-04-20 14:51:08 +00:00
refactor(setup.py): Introduce get_debian_version
Move getting the Debian package version into a separate function and fail in case it cannot find it or fails parsing it. Signed-off-by: Benjamin Drung <benjamin.drung@canonical.com>
This commit is contained in:
parent
a685368ae9
commit
8692bc2b1c
23
setup.py
23
setup.py
@ -1,12 +1,23 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
import glob
|
||||
import os
|
||||
import pathlib
|
||||
import re
|
||||
|
||||
from setuptools import setup
|
||||
|
||||
|
||||
def get_debian_version() -> str:
|
||||
"""Look what Debian version we have."""
|
||||
changelog = pathlib.Path(__file__).parent / "debian" / "changelog"
|
||||
with changelog.open("r", encoding="utf-8") as changelog_f:
|
||||
head = changelog_f.readline()
|
||||
match = re.compile(r".*\((.*)\).*").match(head)
|
||||
if not match:
|
||||
raise ValueError(f"Failed to extract Debian version from '{head}'.")
|
||||
return match.group(1)
|
||||
|
||||
|
||||
def make_pep440_compliant(version: str) -> str:
|
||||
"""Convert the version into a PEP440 compliant version."""
|
||||
public_version_re = re.compile(r"^([0-9][0-9.]*(?:(?:a|b|rc|.post|.dev)[0-9]+)*)\+?")
|
||||
@ -19,14 +30,6 @@ def make_pep440_compliant(version: str) -> str:
|
||||
return pep440_version
|
||||
|
||||
|
||||
# look/set what version we have
|
||||
changelog = "debian/changelog"
|
||||
if os.path.exists(changelog):
|
||||
head = open(changelog, "r", encoding="utf-8").readline()
|
||||
match = re.compile(r".*\((.*)\).*").match(head)
|
||||
if match:
|
||||
version = match.group(1)
|
||||
|
||||
scripts = [
|
||||
"backportpackage",
|
||||
"bitesize",
|
||||
@ -81,7 +84,7 @@ data_files = [
|
||||
if __name__ == "__main__":
|
||||
setup(
|
||||
name="ubuntu-dev-tools",
|
||||
version=make_pep440_compliant(version),
|
||||
version=make_pep440_compliant(get_debian_version()),
|
||||
scripts=scripts,
|
||||
packages=[
|
||||
"ubuntutools",
|
||||
|
Loading…
x
Reference in New Issue
Block a user