diff --git a/Cargo.lock b/Cargo.lock index 15b59b0..023bad8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,24 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "anstream" version = "0.6.21" @@ -75,6 +93,12 @@ dependencies = [ "syn", ] +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + [[package]] name = "bitflags" version = "2.10.0" @@ -99,12 +123,35 @@ version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" +[[package]] +name = "cc" +version = "1.2.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a0aeaff4ff1a90589618835a598e545176939b97874f7abc7851caa0618f203" +dependencies = [ + "find-msvc-tools", + "shlex", +] + [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +[[package]] +name = "chrono" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" +dependencies = [ + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-link", +] + [[package]] name = "clap" version = "4.5.53" @@ -200,6 +247,12 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + [[package]] name = "cpufeatures" version = "0.2.17" @@ -240,6 +293,15 @@ dependencies = [ "uuid", ] +[[package]] +name = "debmagic-common" +version = "0.0.1-alpha1" +dependencies = [ + "chrono", + "regex", + "test-case", +] + [[package]] name = "digest" version = "0.10.7" @@ -300,6 +362,12 @@ dependencies = [ "typeid", ] +[[package]] +name = "find-msvc-tools" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645cbb3a84e60b7531617d5ae4e57f7e27308f6445f5abf653209ea76dec8dff" + [[package]] name = "foldhash" version = "0.1.5" @@ -375,6 +443,30 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "iana-time-zone" +version = "0.1.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.2" @@ -424,12 +516,27 @@ dependencies = [ "libc", ] +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + [[package]] name = "memchr" version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + [[package]] name = "once_cell" version = "1.21.3" @@ -542,6 +649,35 @@ dependencies = [ "thiserror", ] +[[package]] +name = "regex" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" + [[package]] name = "ron" version = "0.12.0" @@ -647,6 +783,12 @@ dependencies = [ "digest", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "strsim" version = "0.11.1" @@ -664,6 +806,39 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "test-case" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8" +dependencies = [ + "test-case-macros", +] + +[[package]] +name = "test-case-core" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "test-case-macros" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "test-case-core", +] + [[package]] name = "thiserror" version = "2.0.17" @@ -837,12 +1012,65 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-sys" version = "0.61.2" diff --git a/Cargo.toml b/Cargo.toml index 1bdec8a..aa675db 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,24 @@ [workspace] resolver = "3" -members = ["packages/debmagic"] +members = ["packages/debmagic", "packages/debmagic-common"] [workspace.package] edition = "2024" rust-version = "1.89" + +[workspace.dependencies] +clap = { version = ">=4.5.23", features = ["derive"] } +anyhow = { version = ">=1.0.95" } +config = { version = ">=0.15.9", features = ["toml"] } +dirs = ">=5.0.0" +# thiserror = "2.0.17" # for future uses when we need clearer error handling +glob = ">=0.3.2" +libc = ">=0.2.169" +serde = { version = ">=1.0.217", features = ["derive"] } +serde_json = ">=1.0.139" +uuid = { version = ">=1.10.0", features = ["v4"] } +chrono = { version = ">=0.4.42" } +regex = { version = ">=1.12.2" } + +# dev dependencies +test-case = { version = ">=3.3.1" } diff --git a/debian/control b/debian/control index 51f121d..a6c2c79 100644 --- a/debian/control +++ b/debian/control @@ -20,7 +20,11 @@ Build-Depends: librust-libc-dev (>=0.2.169), librust-serde-dev (>=1.0.217), librust-serde-json-dev (>=1.0.139), - librust-uuid-dev (>=1.10.0) + librust-uuid-dev (>=1.10.0), + librust-chrono-dev (>=0.4.42), + librust-regex-dev (>=1.12.2), + librust-test-case-dev (>=3.3.1), + librust-pyo3-dev (>=0.27.2) Rules-Requires-Root: no X-Style: black Standards-Version: 4.7.2 @@ -29,21 +33,10 @@ Homepage: https://github.com/SFTtech/debmagic Vcs-Git: https://github.com/SFTtech/debmagic.git Vcs-Browser: https://github.com/SFTtech/debmagic -Package: python3-debmagic-common -Architecture: all -Depends: - python3-debian, - ${misc:Depends}, - ${python3:Depends} -Multi-Arch: foreign -Description: Shared components for the debmagic debian buildtool suite - Collection of utilities and type definitions used in both the debmagic cli - buildtool as well as the debmagic python debian rules file library. - Package: debmagic-pkg Architecture: all Depends: - python3-debmagic-common, + python3-debian, python3-pydantic, ${misc:Depends}, ${python3:Depends} diff --git a/debian/rules b/debian/rules index 1876b00..2d216ec 100755 --- a/debian/rules +++ b/debian/rules @@ -6,12 +6,7 @@ import sys from pathlib import Path packages_root = Path(__file__).parent.parent / "packages" -sys.path.extend( - [ - str(packages_root / "debmagic-common" / "src"), - str(packages_root / "debmagic-pkg" / "src"), - ] -) +sys.path.append(str(packages_root / "debmagic-pkg" / "src")) from debmagic.v0 import package, dh, Build @@ -31,7 +26,6 @@ os.environ.update({ }) packages = { - "python3-debmagic-common": ("packages/debmagic-common", "debmagic-common"), "debmagic": ("packages/debmagic", "debmagic"), "debmagic-pkg": ("packages/debmagic-pkg", "debmagic-pkg"), } diff --git a/packages/debmagic-common/Cargo.toml b/packages/debmagic-common/Cargo.toml new file mode 100644 index 0000000..1aaf7c9 --- /dev/null +++ b/packages/debmagic-common/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "debmagic-common" +version = "0.0.1-alpha1" +documentation = "https://debmagic.readthedocs.org" +homepage = "https://github.com/SFTtech/debmagic" +repository = "https://github.com/SFTtech/debmagic.git" +edition.workspace = true +rust-version.workspace = true + +[dependencies] +chrono = { workspace = true } +regex = { workspace = true } + +[dev-dependencies] +test-case = { workspace = true } diff --git a/packages/debmagic-common/pyproject.toml b/packages/debmagic-common/pyproject.toml deleted file mode 100644 index 6dd4483..0000000 --- a/packages/debmagic-common/pyproject.toml +++ /dev/null @@ -1,20 +0,0 @@ -[project] -name = "debmagic-common" -version = "0.0.1-alpha.1" -description = "utility library for common debmagic code" -license = "GPL-2.0-or-later" -# license-files = ["../../LICENSE"] -# readme = "../../README.md" -requires-python = ">=3.12" -classifiers = ["Programming Language :: Python :: 3"] -dependencies = ["python-debian>=1.0"] - -[project.urls] -homepage = "https://github.com/SFTtech/debmagic" -source = "https://github.com/SFTtech/debmagic.git" -issues = "https://github.com/SFTtech/debmagic/issues" -releasenotes = "https://github.com/SFTtech/debmagic/-/blob/main/debian/changelog" - -[build-system] -requires = ["setuptools>=77.0.0", "setuptools-scm"] -build-backend = "setuptools.build_meta" diff --git a/packages/debmagic-common/src/debian.rs b/packages/debmagic-common/src/debian.rs new file mode 100644 index 0000000..a6db76a --- /dev/null +++ b/packages/debmagic-common/src/debian.rs @@ -0,0 +1 @@ +pub mod version; diff --git a/packages/debmagic-common/src/debian/version.rs b/packages/debmagic-common/src/debian/version.rs new file mode 100644 index 0000000..ae4a425 --- /dev/null +++ b/packages/debmagic-common/src/debian/version.rs @@ -0,0 +1,112 @@ +use std::str::FromStr; + +use regex::Regex; + +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct PackageVersion { + // distro packaging override base version (default is 0) + epoch: String, + + // upstream package version + upstream: String, + + // packaging (linux distro) revision + revision: String, +} + +impl PackageVersion { + pub fn version(&self) -> String { + let mut ret: String = "".to_owned(); + if self.epoch != "0" { + ret.push_str(&format!("{}:", self.epoch)); + } + ret.push_str(&self.upstream); + if !self.revision.is_empty() { + ret.push_str(&format!("-{}", self.revision)); + } + ret + } + + /// distro epoch plus upstream version + pub fn epoch_upstream(&self) -> String { + if !self.epoch.is_empty() { + return format!("{}:{}", self.epoch, self.upstream); + } + self.upstream.clone() + } + + /// distro epoch plus upstream version + pub fn upstream_revision(&self) -> String { + if !self.revision.is_empty() { + return format!("{}-{}", self.upstream, self.revision); + } + self.upstream.clone() + } +} + +#[derive(Debug, PartialEq, Eq)] +pub struct VersionParseError; + +impl FromStr for PackageVersion { + type Err = VersionParseError; + + fn from_str(version: &str) -> Result { + let re_epoch_upstream = Regex::new(r"^(.*?)(-[^-]*)?$").map_err(|_| VersionParseError)?; + let epoch_upstream = re_epoch_upstream.replace(version, "$1").to_string(); + + // epoch = distro packaging override base version (default is 0) + // pkg-info.mk uses the full version if no epoch is in it. + // instead, we return "0" as oritinally intended if no epoch is in version. + let epoch = if !version.contains(':') { + "0".to_string() + } else { + let re_epoch = Regex::new(r"^([0-9]+):.*$").map_err(|_| VersionParseError)?; + re_epoch.replace(version, "$1").to_string() + }; + + let re_upstream = Regex::new(r"^([0-9]*:)?(.*?)$").map_err(|_| VersionParseError)?; + let upstream = re_upstream.replace(&epoch_upstream, "$2").to_string(); + + let re_revision = Regex::new(r"^.*?(-([^-]*))?$").map_err(|_| VersionParseError)?; + let revision = re_revision.replace(version, "$2").to_string(); + + // TODO: properly handle errors if we put in actual crap -> currently we return something nonsensical instead of returning an error + + Ok(Self { + epoch, + upstream, + revision, + }) + } +} + +#[cfg(test)] +mod tests { + use test_case::test_case; + + use super::*; + + #[test_case( + "1.2.3a.4-42.2-14ubuntu2~20.04.1", + &PackageVersion{epoch:"0".to_string(), upstream:"1.2.3a.4-42.2".to_string(), revision:"14ubuntu2~20.04.1".to_string()})] + #[test_case( + "3:1.2.3a.4-42.2-14ubuntu2~20.04.1", + &PackageVersion{epoch:"3".to_string(), upstream:"1.2.3a.4-42.2".to_string(), revision:"14ubuntu2~20.04.1".to_string()})] + #[test_case( + "3:1.2.3a.4ubuntu", + &PackageVersion{epoch:"3".to_string(), upstream:"1.2.3a.4ubuntu".to_string(), revision:"".to_string()})] + #[test_case( + "3:1.2.3a-4ubuntu", + &PackageVersion{epoch:"3".to_string(), upstream:"1.2.3a".to_string(), revision:"4ubuntu".to_string()})] + #[test_case( + "3:1.2.3a-4ubuntu1", + &PackageVersion{epoch:"3".to_string(), upstream:"1.2.3a".to_string(), revision:"4ubuntu1".to_string()})] + fn test_version_parsing(version: &str, expected: &PackageVersion) { + let parsed_version = PackageVersion::from_str(version).unwrap(); + + // initial parsing works + assert_eq!(&parsed_version, expected); + // reverse formatting works as well + assert_eq!(parsed_version.version(), version); + } +} diff --git a/packages/debmagic-common/src/lib.rs b/packages/debmagic-common/src/lib.rs new file mode 100644 index 0000000..49a5553 --- /dev/null +++ b/packages/debmagic-common/src/lib.rs @@ -0,0 +1 @@ +pub mod debian; diff --git a/packages/debmagic-pkg/pyproject.toml b/packages/debmagic-pkg/pyproject.toml index 4002f02..204e6f0 100644 --- a/packages/debmagic-pkg/pyproject.toml +++ b/packages/debmagic-pkg/pyproject.toml @@ -7,7 +7,7 @@ license = "GPL-2.0-or-later" # readme = "../../README.md" requires-python = ">=3.12" classifiers = ["Programming Language :: Python :: 3"] -dependencies = ["debmagic-common"] +dependencies = ["python-debian>=1.0"] [project.urls] homepage = "https://github.com/SFTtech/debmagic" diff --git a/packages/debmagic-common/src/debmagic/common/__init__.py b/packages/debmagic-pkg/src/debmagic/common/__init__.py similarity index 100% rename from packages/debmagic-common/src/debmagic/common/__init__.py rename to packages/debmagic-pkg/src/debmagic/common/__init__.py diff --git a/packages/debmagic-common/src/debmagic/common/errors.py b/packages/debmagic-pkg/src/debmagic/common/errors.py similarity index 100% rename from packages/debmagic-common/src/debmagic/common/errors.py rename to packages/debmagic-pkg/src/debmagic/common/errors.py diff --git a/packages/debmagic-common/src/debmagic/common/models/__init__.py b/packages/debmagic-pkg/src/debmagic/common/models/__init__.py similarity index 100% rename from packages/debmagic-common/src/debmagic/common/models/__init__.py rename to packages/debmagic-pkg/src/debmagic/common/models/__init__.py diff --git a/packages/debmagic-common/src/debmagic/common/models/changelog.py b/packages/debmagic-pkg/src/debmagic/common/models/changelog.py similarity index 97% rename from packages/debmagic-common/src/debmagic/common/models/changelog.py rename to packages/debmagic-pkg/src/debmagic/common/models/changelog.py index ec08c73..4644842 100644 --- a/packages/debmagic-common/src/debmagic/common/models/changelog.py +++ b/packages/debmagic-pkg/src/debmagic/common/models/changelog.py @@ -7,7 +7,6 @@ from ..errors import DebmagicError from ..type_utils import IterableDataSource -from .package_version import PackageVersion class ChangelogFormatError(DebmagicError): @@ -42,7 +41,7 @@ class ChangelogMetadata: @dataclass class ChangelogEntry: package: str | None - version: PackageVersion + version: str distributions: list[str] metadata: ChangelogMetadata changes: list[str] diff --git a/packages/debmagic-common/src/debmagic/common/models/package_version.py b/packages/debmagic-pkg/src/debmagic/common/models/package_version.py similarity index 100% rename from packages/debmagic-common/src/debmagic/common/models/package_version.py rename to packages/debmagic-pkg/src/debmagic/common/models/package_version.py diff --git a/packages/debmagic-common/src/debmagic/common/package.py b/packages/debmagic-pkg/src/debmagic/common/package.py similarity index 100% rename from packages/debmagic-common/src/debmagic/common/package.py rename to packages/debmagic-pkg/src/debmagic/common/package.py diff --git a/packages/debmagic-common/src/debmagic/common/py.typed b/packages/debmagic-pkg/src/debmagic/common/py.typed similarity index 100% rename from packages/debmagic-common/src/debmagic/common/py.typed rename to packages/debmagic-pkg/src/debmagic/common/py.typed diff --git a/packages/debmagic-common/src/debmagic/common/type_utils.py b/packages/debmagic-pkg/src/debmagic/common/type_utils.py similarity index 100% rename from packages/debmagic-common/src/debmagic/common/type_utils.py rename to packages/debmagic-pkg/src/debmagic/common/type_utils.py diff --git a/packages/debmagic-common/src/debmagic/common/utils.py b/packages/debmagic-pkg/src/debmagic/common/utils.py similarity index 100% rename from packages/debmagic-common/src/debmagic/common/utils.py rename to packages/debmagic-pkg/src/debmagic/common/utils.py diff --git a/packages/debmagic/Cargo.toml b/packages/debmagic/Cargo.toml index 316cea7..4df138b 100644 --- a/packages/debmagic/Cargo.toml +++ b/packages/debmagic/Cargo.toml @@ -8,13 +8,12 @@ rust-version.workspace = true edition.workspace = true [dependencies] -clap = { version = ">=4.5.23", features = ["derive"] } -anyhow = { version = ">=1.0.95" } -config = { version = ">=0.15.9", features = ["toml"] } -dirs = ">=5.0.0" -# thiserror = "2.0.17" # for future uses when we need clearer error handling -glob = ">=0.3.2" -libc = ">=0.2.169" -serde = { version = ">=1.0.217", features = ["derive"] } -serde_json = ">=1.0.139" -uuid = { version = ">=1.10.0", features = ["v4"] } +clap = { workspace = true, features = ["derive"] } +anyhow = { workspace = true } +config = { workspace = true, features = ["toml"] } +dirs = { workspace = true } +glob = { workspace = true } +libc = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +uuid = { workspace = true, features = ["v4"] } diff --git a/pyproject.toml b/pyproject.toml index 6dd9dd9..a36831e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,6 @@ debmagic-pkg = { workspace = true } [tool.uv.workspace] members = [ - "packages/debmagic-common", "packages/debmagic-pkg", # for now we don't want to always add the rust cli to the python workspace to avoid increasing uv sync times in CI # "packages/debmagic", diff --git a/tests/integration/test_packages.py b/tests/integration/test_packages.py index 390256f..9e2a793 100644 --- a/tests/integration/test_packages.py +++ b/tests/integration/test_packages.py @@ -12,7 +12,6 @@ FROM docker.io/{distro}:{distro_version} RUN apt-get update && apt-get -y install dpkg-dev python3 python3-pip python3-pydantic -RUN --mount=from=dist,target=/tmp/dist python3 -m pip install --break-system-packages /tmp/dist/debmagic_common-*.whl RUN --mount=from=dist,target=/tmp/dist python3 -m pip install --break-system-packages /tmp/dist/debmagic_pkg*.whl """ diff --git a/uv.lock b/uv.lock index 1d719c6..27942af 100644 --- a/uv.lock +++ b/uv.lock @@ -4,7 +4,6 @@ requires-python = ">=3.12" [manifest] members = [ - "debmagic-common", "debmagic-pkg", ] @@ -231,27 +230,16 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/8d/4c/1968f32fb9a2604645827e11ff84a31e59d532e01995f904723b4f5328b3/coverage-7.13.0-py3-none-any.whl", hash = "sha256:850d2998f380b1e266459ca5b47bc9e7daf9af1d070f66317972f382d46f1904", size = 210068, upload-time = "2025-12-08T13:14:36.236Z" }, ] -[[package]] -name = "debmagic-common" -version = "0.0.1a1" -source = { editable = "packages/debmagic-common" } -dependencies = [ - { name = "python-debian" }, -] - -[package.metadata] -requires-dist = [{ name = "python-debian", specifier = ">=1.0" }] - [[package]] name = "debmagic-pkg" version = "0.0.1a1" source = { editable = "packages/debmagic-pkg" } dependencies = [ - { name = "debmagic-common" }, + { name = "python-debian" }, ] [package.metadata] -requires-dist = [{ name = "debmagic-common", editable = "packages/debmagic-common" }] +requires-dist = [{ name = "python-debian", specifier = ">=1.0" }] [[package]] name = "distlib"