Skip to content

Commit 3e26f71

Browse files
committed
refactor(pkg): improve naming of SourcePackage and Build members
1 parent ba07358 commit 3e26f71

File tree

7 files changed

+26
-32
lines changed

7 files changed

+26
-32
lines changed

packages/debmagic-pkg/src/debmagic/v0/_build.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,18 @@
1111

1212
if typing.TYPE_CHECKING:
1313
from debmagic.common.package import BinaryPackage
14-
from debmagic.common.utils import Namespace
1514

16-
from ._package import PackageFilter, SourcePackageBuild
17-
from ._preset import Preset
15+
from ._package import Package, PackageFilter
1816

1917

2018
@dataclass
2119
class Build:
22-
presets: list[Preset]
23-
source_package: SourcePackageBuild
20+
package: Package
2421
source_dir: Path
2522
binary_packages: list[BinaryPackage]
2623
install_base_dir: Path
2724
architecture_target: str
2825
architecture_host: str
29-
flags: Namespace
3026
parallel: int
3127
prefix: Path
3228
dry_run: bool = False
@@ -49,14 +45,14 @@ def select_packages(self, names: set[str]):
4945
"""only build those packages"""
5046
self.binary_packages = []
5147

52-
for pkg in self.source_package.source_package.binary_packages:
48+
for pkg in self.package.source_package.binary_packages:
5349
if pkg.name in names:
5450
self.binary_packages.append(pkg)
5551

5652
def filter_packages(self, package_filter: PackageFilter) -> None:
5753
"""apply filter to only build those packages"""
5854
self.select_packages(
59-
{pkg.name for pkg in package_filter.get_packages(self.source_package.source_package.binary_packages)}
55+
{pkg.name for pkg in package_filter.get_packages(self.package.source_package.binary_packages)}
6056
)
6157

6258
def filtered_binary_packages(self, names: set[str]) -> typing.Iterator[BinaryPackage]:
@@ -85,14 +81,14 @@ def run(
8581
print(":")
8682

8783
# run stage function from debian/rules.py
88-
if rules_stage_function := self.source_package.stage_functions.get(stage):
84+
if rules_stage_function := self.package.stage_functions.get(stage):
8985
print("debmagic: running stage from rules file...")
9086
rules_stage_function(self)
9187
self._mark_stage_done(stage)
9288

9389
else:
9490
# run stage function from first providing preset
95-
for preset in self.presets:
91+
for preset in self.package.presets:
9692
print(f"debmagic: trying preset {preset}...")
9793
if preset_stage_function := preset.get_stage(stage):
9894
print("debmagic: running stage from preset")

packages/debmagic-pkg/src/debmagic/v0/_dpkg/buildflags.py renamed to packages/debmagic-pkg/src/debmagic/v0/_dpkg/build_env.py

File renamed without changes.

packages/debmagic-pkg/src/debmagic/v0/_module/autotools.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def configure(self, build: Build, args: list[str] | None = None):
2828
# "--with-bugurl=https://bugs.launchpad.net/ubuntu/+source/${srcpkg}",
2929
]
3030

31-
if multiarch := build.flags["DEB_HOST_MULTIARCH"]:
31+
if multiarch := build.package.build_env["DEB_HOST_MULTIARCH"]:
3232
default_args.append(f"--libdir=${{prefix}}/lib/{multiarch}")
3333
default_args.append(f"--libexecdir=${{prefix}}/lib/{multiarch}")
3434
else:
@@ -55,7 +55,7 @@ def build(self, build: Build, args: list[str] = []):
5555

5656
def install(self, build: Build, args: list[str] = []):
5757
# TODO: figure out installdir handling for multi package builds
58-
destdir = build.install_dirs[build.source_package.source_package.name]
58+
destdir = build.install_dirs[build.package.source_package.name]
5959
build.cmd(["make", f"DESTDIR={destdir}", "install", *args], cwd=build.source_dir)
6060

6161

packages/debmagic-pkg/src/debmagic/v0/_module/dh.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from debmagic.common.utils import list_strip_head, prefix_idx, run_cmd
1313

1414
from .._build import Build
15-
from .._package import SourcePackageBuild
15+
from .._package import Package
1616
from .._preset import Preset as PresetBase
1717

1818

@@ -56,7 +56,7 @@ def __init__(self, dh_args: list[str] | str | None = None):
5656
# all seen sequence cmd ids (the dh command script itself)
5757
self._seq_ids: set[str] = set()
5858

59-
def initialize(self, src_pkg: SourcePackageBuild) -> None:
59+
def initialize(self, src_pkg: Package) -> None:
6060
# get all steps the dh sequence would do
6161
self._populate_stages(self._dh_args, base_dir=src_pkg.base_dir)
6262
self._initialized = True

packages/debmagic-pkg/src/debmagic/v0/_package.py

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from ._build_order import BuildOrder
2020
from ._build_stage import BuildStage
2121
from ._build_step import BuildStep
22-
from ._dpkg import buildflags
22+
from ._dpkg import build_env
2323
from ._preset import Preset, PresetsT, as_presets
2424
from ._rules_file import RulesFile, find_rules_file
2525
from ._types import CustomFuncArg, CustomFuncArgsT
@@ -109,11 +109,11 @@ def get_packages(self, binary_packages: list[BinaryPackage]) -> list[BinaryPacka
109109

110110

111111
@dataclass
112-
class SourcePackageBuild:
112+
class Package:
113113
source_package: SourcePackage
114114
rules_file: RulesFile
115115
presets: list[Preset]
116-
buildflags: Namespace
116+
build_env: Namespace
117117
version: PackageVersion
118118
stage_functions: dict[BuildStage, BuildStep] = field(default_factory=dict)
119119
custom_functions: dict[str, CustomFunction] = field(default_factory=dict)
@@ -174,14 +174,12 @@ def pack(self):
174174
cli, args = _parse_args(self.custom_functions)
175175

176176
build = Build(
177-
presets=self.presets,
178-
source_package=self,
177+
package=self,
179178
source_dir=self.base_dir,
180179
binary_packages=self.source_package.binary_packages,
181180
install_base_dir=self.rules_file.package_dir / "debian", # + added binary package
182-
architecture_target=self.buildflags.DEB_BUILD_GNU_TYPE,
183-
architecture_host=self.buildflags.DEB_HOST_GNU_TYPE,
184-
flags=self.buildflags,
181+
architecture_target=self.build_env.DEB_BUILD_GNU_TYPE,
182+
architecture_host=self.build_env.DEB_HOST_GNU_TYPE,
185183
parallel=multiprocessing.cpu_count(), # TODO
186184
prefix=Path("/usr"), # TODO
187185
dry_run=args.dry_run,
@@ -235,7 +233,7 @@ def package(
235233
preset: PresetsT = None,
236234
maint_options: str | None = None,
237235
build_order: BuildOrder = BuildOrder.stages,
238-
) -> SourcePackageBuild:
236+
) -> Package:
239237
"""
240238
provides the packaging environment.
241239
@@ -257,15 +255,15 @@ def package(
257255
presets.append(DefaultPreset())
258256

259257
# set buildflags as environment variables
260-
flags, version = buildflags.get_pkg_env(rules_file.package_dir, maint_options=maint_options)
261-
os.environ.update(flags)
258+
env, version = build_env.get_pkg_env(rules_file.package_dir, maint_options=maint_options)
259+
os.environ.update(env)
262260

263261
source_package = SourcePackage.from_control_file(rules_file.package_dir / "debian/control")
264-
build = SourcePackageBuild(
262+
pkg = Package(
265263
source_package=source_package,
266264
rules_file=rules_file,
267265
presets=presets,
268-
buildflags=Namespace(**flags),
266+
build_env=Namespace(**env),
269267
version=version,
270268
)
271-
return build
269+
return pkg

packages/debmagic-pkg/src/debmagic/v0/_preset.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from ._build_step import BuildStep
1010

1111
if TYPE_CHECKING:
12-
from ._package import SourcePackageBuild
12+
from ._package import Package
1313

1414

1515
class Preset:
@@ -25,7 +25,7 @@ def get_stage(self, stage: BuildStage) -> BuildStep | None:
2525

2626
return func
2727

28-
def initialize(self, src_pkg: SourcePackageBuild) -> None:
28+
def initialize(self, src_pkg: Package) -> None:
2929
"""
3030
usually called when a Preset is set as preset to a SourcePackage.
3131
if you don't register pass the Preset to the package() function,

tests/integration/packages/htop/rules.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
maint_options="hardening=+all",
1313
)
1414

15-
if pkg.buildflags.DEB_HOST_ARCH_OS == "linux":
15+
if pkg.build_env.DEB_HOST_ARCH_OS == "linux":
1616
configure_params = ["--enable-affinity", "--enable-delayacct"]
1717
else:
1818
configure_params = ["--enable-hwloc"]
1919

2020
# hurd-i386 can open /proc (nothing there) and /proc/ which works
21-
if pkg.buildflags.DEB_HOST_ARCH_OS == "hurd":
21+
if pkg.build_env.DEB_HOST_ARCH_OS == "hurd":
2222
configure_params += ["--with-proc=/proc/"]
2323
else:
2424
configure_params += ["--enable-sensors"]

0 commit comments

Comments
 (0)