8 Commits
Author SHA1 Message Date
Kivi Kaitaniemi fc668600ba Release v1.2.2 2026-07-04 11:16:59 +03:00
Kivi Kaitaniemi d4dc676878 Merge pull request #73 from eeviriyi/fix-aur-nspawn-warning
Fix AUR chroot cleanup with nspawn warnings
2026-07-04 11:08:49 +03:00
eeviriyi cc33ce97ae Fix AUR chroot cleanup with nspawn warnings 2026-06-30 11:46:11 +08:00
Kivi Kaitaniemi bb6d65428a Merge pull request #69 from LiamS-H/patch-1
Fix File instantiated as Directory in README
2026-05-03 13:37:28 +03:00
Liam Stelly-Hawkes a94b0e2db8 Fix File instantiated as Directory in README 2026-05-02 05:33:31 +00:00
Kivi Kaitaniemi 8c54220dbc Release v1.2.1 2026-02-18 21:48:12 +02:00
Kivi Kaitaniemi e8d292be13 Set symlink ownership (fixes #60) 2026-02-18 20:54:29 +02:00
Kivi Kaitaniemi 6c054681ee Treat systemd user daemon reloading failures as warnings 2026-02-17 22:16:49 +02:00
9 changed files with 23 additions and 14 deletions
+1 -1
View File
@@ -183,7 +183,7 @@ from decman import Directory
import decman
# To declare a directory, add it's target path and create a Directory object
decman.directories["/home/me/.config/nvim"] = File(
decman.directories["/home/me/.config/nvim"] = Directory(
source_directory="./dotfiles/nvim",
bin_files=False,
encoding="utf-8",
+2 -2
View File
@@ -1,8 +1,8 @@
[project]
name = "decman-flatpak"
version = "1.1.0"
version = "1.2.2"
requires-python = ">=3.13"
dependencies = ["decman==1.2.0"]
dependencies = ["decman==1.2.2"]
[project.entry-points."decman.plugins"]
flatpak = "decman.plugins.flatpak:Flatpak"
+2 -2
View File
@@ -1,9 +1,9 @@
[project]
name = "decman-pacman"
version = "1.1.0"
version = "1.2.2"
requires-python = ">=3.13"
dependencies = [
"decman==1.2.0",
"decman==1.2.2",
"pyalpm",
"requests",
]
@@ -454,6 +454,12 @@ class ForeignPackageManager:
raise ForeignPackageManagerError("Failed to compare versions using vercmp.") from error
def _last_non_empty_line(text: str) -> str:
return next(
(line.strip() for line in reversed(text.splitlines()) if line.strip()), ""
)
class PackageBuilder:
"""
Used for building packages in a chroot.
@@ -642,7 +648,7 @@ class PackageBuilder:
if p not in self._pkgs_in_chroot:
cmd = self._commands.resolve_real_name_chroot(self.chroot_dir, p)
_, cmd_output = command.check_run_result(cmd, command.run(cmd))
real_pkgname = cmd_output.strip()
real_pkgname = _last_non_empty_line(cmd_output)
to_remove.add(real_pkgname)
if to_remove:
+2 -2
View File
@@ -1,8 +1,8 @@
[project]
name = "decman-systemd"
version = "1.1.0"
version = "1.2.2"
requires-python = ">=3.13"
dependencies = ["decman==1.2.0"]
dependencies = ["decman==1.2.2"]
[project.entry-points."decman.plugins"]
systemd = "decman.plugins.systemd:Systemd"
@@ -248,7 +248,7 @@ class Systemd(plugins.Plugin):
"""
cmd = self.commands.user_daemon_reload(user)
command.prg(cmd, pty=config.debug_output)
command.prg(cmd, pty=config.debug_output, check=False)
def reload_daemon(self):
"""
+1 -1
View File
@@ -1,6 +1,6 @@
[project]
name = "decman"
version = "1.2.0"
version = "1.2.2"
description = "Declarative package & configuration manager for Arch Linux."
license = "GPL-3.0-or-later"
license-files = ["LICENSE"]
+3
View File
@@ -300,6 +300,9 @@ class Symlink:
os.unlink(link_name)
os.symlink(self.target, link_name)
if self.uid is not None:
assert self.gid is not None, "If uid is set, then gid is set."
os.chown(link_name, self.uid, self.gid, follow_symlinks=False)
return True
except OSError as error:
raise errors.FSSymlinkFailedError(
Generated
+4 -4
View File
@@ -71,7 +71,7 @@ wheels = [
[[package]]
name = "decman"
version = "1.2.0"
version = "1.2.2"
source = { editable = "." }
[package.optional-dependencies]
@@ -107,7 +107,7 @@ dev = [
[[package]]
name = "decman-flatpak"
version = "1.1.0"
version = "1.2.2"
source = { editable = "plugins/decman-flatpak" }
dependencies = [
{ name = "decman" },
@@ -118,7 +118,7 @@ requires-dist = [{ name = "decman", editable = "." }]
[[package]]
name = "decman-pacman"
version = "1.1.0"
version = "1.2.2"
source = { editable = "plugins/decman-pacman" }
dependencies = [
{ name = "decman" },
@@ -147,7 +147,7 @@ dev = [
[[package]]
name = "decman-systemd"
version = "1.1.0"
version = "1.2.2"
source = { editable = "plugins/decman-systemd" }
dependencies = [
{ name = "decman" },