Skip to content

Commit 40ecdd9

Browse files
authored
Add support for ALT Linux Server 10.1 distribution (#354)
1 parent 16ae9cb commit 40ecdd9

7 files changed

Lines changed: 65 additions & 0 deletions

File tree

src/distro/distro.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ class InfoDict(TypedDict):
125125
# Base file names to be looked up for if _UNIXCONFDIR is not readable.
126126
_DISTRO_RELEASE_BASENAMES = [
127127
"SuSE-release",
128+
"altlinux-release",
128129
"arch-release",
129130
"base-release",
130131
"centos-release",
@@ -243,6 +244,7 @@ def id() -> str:
243244
"rocky" Rocky Linux
244245
"aix" AIX
245246
"guix" Guix System
247+
"altlinux" ALT Linux
246248
============== =========================================
247249
248250
If you have a need to get distros for reliable IDs added into this set,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALT Server 10.1 (Mendelevium)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
altlinux-release
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
NAME="ALT Server"
2+
VERSION="10.1"
3+
ID=altlinux
4+
VERSION_ID=10.1
5+
PRETTY_NAME="ALT Server 10.1 (Mendelevium)"
6+
ANSI_COLOR="1;33"
7+
CPE_NAME="cpe:/o:alt:server:10.1"
8+
BUILD_ID="ALT Server 10.1"
9+
HOME_URL="https://basealt.ru/"
10+
BUG_REPORT_URL="https://bugs.altlinux.org/"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
altlinux-release
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
altlinux-release

tests/test_distro.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,19 @@ def test_cloudlinux7_os_release(self) -> None:
509509
}
510510
self._test_outcome(desired_outcome)
511511

512+
def test_altlinux10_os_release(self) -> None:
513+
desired_outcome = {
514+
"id": "altlinux",
515+
"name": "ALT Server",
516+
"pretty_name": "ALT Server 10.1 (Mendelevium)",
517+
"version": "10.1",
518+
"pretty_version": "10.1",
519+
"best_version": "10.1",
520+
"major_version": "10",
521+
"minor_version": "1",
522+
}
523+
self._test_outcome(desired_outcome)
524+
512525

513526
class TestWithRootDir(TestOSRelease):
514527
"""Test that a LinuxDistribution can be created using an arbitrary root_dir
@@ -1080,6 +1093,20 @@ def test_cloudlinux7_dist_release(self) -> None:
10801093
}
10811094
self._test_outcome(desired_outcome, "cloudlinux", "7", "redhat")
10821095

1096+
def test_altlinux10_dist_release(self) -> None:
1097+
desired_outcome = {
1098+
"id": "altlinux",
1099+
"name": "ALT Server",
1100+
"codename": "Mendelevium",
1101+
"pretty_name": "ALT Server 10.1 (Mendelevium)",
1102+
"version": "10.1",
1103+
"pretty_version": "10.1 (Mendelevium)",
1104+
"best_version": "10.1",
1105+
"major_version": "10",
1106+
"minor_version": "1",
1107+
}
1108+
self._test_outcome(desired_outcome, "altlinux", "10")
1109+
10831110

10841111
@pytest.mark.skipif(not IS_LINUX, reason="Irrelevant on non-linux")
10851112
class TestOverall(DistroTestCase):
@@ -1829,6 +1856,28 @@ def test_cloudlinux7_release(self) -> None:
18291856
}
18301857
self._test_outcome(desired_outcome)
18311858

1859+
def test_altlinux10_release(self) -> None:
1860+
desired_outcome = {
1861+
"id": "altlinux",
1862+
"name": "ALT Server",
1863+
"codename": "Mendelevium",
1864+
"pretty_name": "ALT Server 10.1 (Mendelevium)",
1865+
"version": "10.1",
1866+
"pretty_version": "10.1 (Mendelevium)",
1867+
"best_version": "10.1",
1868+
"major_version": "10",
1869+
"minor_version": "1",
1870+
}
1871+
self._test_outcome(desired_outcome)
1872+
1873+
desired_info = {
1874+
"id": "altlinux",
1875+
"name": "ALT Server",
1876+
"version_id": "10.1",
1877+
"codename": "Mendelevium",
1878+
}
1879+
self._test_release_file_info("altlinux-release", desired_info)
1880+
18321881

18331882
def _bad_os_listdir(path: str = ".") -> NoReturn:
18341883
"""This function is used by TestOverallWithEtcNotReadable to simulate

0 commit comments

Comments
 (0)