← pag

Commit 455d1e6

0
plików
+0
dodanych
-0
usuniętych
@@ -1,7 +1,7 @@
1 1 #!/usr/bin/env python3
2 2 """
3 3 ╔══════════════════════════════════════════════════════════════════════════════╗
4 -║ PAG - Pagan Linux Package Manager v3.3.10a ║
4 +║ PAG - Pagan Linux Package Manager v3.3.14 ║
5 5 ║ Produkcyjny menedżer pakietów – atomowy, bezpieczny, i18n ║
6 6 ╚══════════════════════════════════════════════════════════════════════════════╝
7 7
@@ -55,7 +55,7 @@ import threading, itertools
55 55 import uuid # serialNumber SBOM (CycloneDX)
56 56
57 57 # Wersja klienta – do porównania z repo.json["pag_version"] (self-update)
58 -PAG_VERSION = "3.3.13"
58 +PAG_VERSION = "3.3.14"
59 59 from urllib.error import URLError, HTTPError
60 60
61 61 # =============================================================================
@@ -1589,6 +1589,24 @@ def _atomic_install(pkg_path: str, pkg: PackageInfo, deploy_dir: str = "",
1589 1589
1590 1590 # Przenieś pliki: staging/data/* → /
1591 1591 for root, dirs, files in os.walk(data_staging):
1592 + # Odtwórz katalogi z pakietu – w tym PUSTE (np. /etc/pulse/default.pa.d).
1593 + # Pętla plików tworzy tylko rodziców instalowanych plików, przez co
1594 + # puste katalogi z data.tar.xz ginęły przy instalacji.
1595 + for d in dirs:
1596 + src_dir = os.path.join(root, d)
1597 + rel_dir = os.path.relpath(src_dir, data_staging)
1598 + if deploy_dir and _is_shared_path("/" + rel_dir):
1599 + dst_root = PAG_ROOT
1600 + elif deploy_dir:
1601 + dst_root = deploy_dir
1602 + else:
1603 + dst_root = PAG_ROOT
1604 + dst_dir = os.path.join(dst_root, rel_dir)
1605 + if not os.path.isdir(dst_dir):
1606 + try:
1607 + os.makedirs(dst_dir, exist_ok=True)
1608 + except OSError:
1609 + pass
1592 1610 for fname in files:
1593 1611 if fname == "sums.json":
1594 1612 continue