diff --git a/packages/p/pisi/actions.py b/packages/p/pisi/actions.py
index 59c3a347144e..5726dffb05e0 100644
--- a/packages/p/pisi/actions.py
+++ b/packages/p/pisi/actions.py
@@ -4,7 +4,17 @@ def install():
pythonmodules.install()
pisitools.dosym("eopkg-cli", "/usr/bin/eopkg")
- pisitools.dosym("uneopkg", "/usr/bin/unpisi")
- pisitools.dosym("lseopkg", "/usr/bin/lspisi")
+ pisitools.dosym("uneopkg.py2", "/usr/bin/unpisi.py2")
+ pisitools.dosym("lseopkg.py2", "/usr/bin/lspisi.py2")
pisitools.dodir("/etc/mudur")
shelltools.echo("%s/etc/mudur/locale" % get.installDIR(), "")
+
+ # Everything below here _removes_ stuff that we don't want installed.
+ # After the epoch bump, The goal is to make pisi own as little as
+ # practically possible, so that eopkg4 can own it instead for
+ # co-installability purposes as we deprecate pisi.
+ #
+ #shelltools.unlinkDir("%s/usr/share/defaults" % get.installDIR())
+ #pisitools.remove("/usr/share/defaults/eopkg/eopkg.conf")
+ pisitools.remove("/usr/share/doc/pisi/dependency.pdf")
+ pisitools.remove("/usr/share/doc/pisi/package_versions.pdf")
diff --git a/packages/p/pisi/comar/manager.py b/packages/p/pisi/comar/manager.py
index b838b80f2db3..ab89bc48693e 100755
--- a/packages/p/pisi/comar/manager.py
+++ b/packages/p/pisi/comar/manager.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python2
+#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright (C) 2005-2009 TUBITAK/UEKAE
@@ -128,7 +128,7 @@ def privileged(func):
Decorator for synchronizing privileged functions
"""
def wrapper(*__args,**__kw):
- operation = "System.Manager.%s" % func.func_name
+ operation = "System.Manager.%s" % func.__name__
started(operation)
_init_pisi()
@@ -137,7 +137,7 @@ def wrapper(*__args,**__kw):
except KeyboardInterrupt:
cancelled()
return
- except Exception, e:
+ except Exception(e):
notify("System.Manager", "error", str(e))
return
finished(operation)
@@ -182,7 +182,7 @@ def updateAllRepositories():
for repo in repos:
try:
pisi.api.update_repo(repo)
- except pisi.db.repodb.RepoError, e:
+ except pisi.db.repodb.RepoError(e):
notify("System.Manager", "error", str(e))
@privileged
@@ -198,7 +198,7 @@ def removeRepository(repo=None):
@privileged
def setRepoActivities(repos=None):
if repos:
- for repo, active in repos.items():
+ for repo, active in list(repos.items()):
pisi.api.set_repo_activity(repo, active)
@privileged
diff --git a/packages/p/pisi/comar/package.py b/packages/p/pisi/comar/package.py
index f3f6b70c5a3d..7daa908ad566 100755
--- a/packages/p/pisi/comar/package.py
+++ b/packages/p/pisi/comar/package.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python2
+#!/usr/bin/env python3
import os
diff --git a/packages/p/pisi/component.xml b/packages/p/pisi/component.xml
index f19004762552..9a8af4ce3b80 100644
--- a/packages/p/pisi/component.xml
+++ b/packages/p/pisi/component.xml
@@ -1,3 +1,3 @@
- system.base
+ system.utils
diff --git a/packages/p/pisi/pspec.xml b/packages/p/pisi/pspec.xml
index bac44066c5f4..26e05414b5e5 100644
--- a/packages/p/pisi/pspec.xml
+++ b/packages/p/pisi/pspec.xml
@@ -12,13 +12,14 @@
app:console
PISI
PISI is a modern package management system implemented in Python. Some of its main features are: package sources are written in XML and python, implements all functions through a simple-to-use API, integrates low-level and high-level package management features.
- https://github.com/getsolus/eopkg/archive/refs/tags/v3.11.tar.gz
+ https://github.com/getsolus/eopkg/archive/refs/tags/v3.12.tar.gz
- python
- python2-xattr
db5
- piksemel
intltool
+ piksemel
+ python
+ python2-ordered-set
+ python2-xattr
@@ -28,40 +29,65 @@
pisi
+ /etc/pisi/pisi.conf
+ /etc/mudur/locale
+ /usr/lib/tmpfiles.d/pisi.conf
+ /usr/share/defaults/eopkg
+ /usr/share/factory/var/db/comar3/scripts/System.Manager/pisi.py
+ /usr/share/mime/packages
+ /usr/share/doc
+ /usr/share/man/man1
/usr/bin
/usr/sbin
/usr/lib/python*
/usr/share/locale
- /usr/share/doc
- /usr/share/man/man1
- /usr/share/defaults/eopkg
- /etc/pisi/pisi.conf
- /etc/mudur/locale
- /usr/share/mime/packages
- /usr/share/factory/var/db/comar3/scripts/System.Manager/pisi.py
- /usr/lib/tmpfiles.d/pisi.conf
+ pisi.tmpfiles
+
mirrors.conf
sandbox.conf
- pisi.tmpfiles
+
manager.py
+
eopkg.1
+
System.Package
System.Manager
- python
- python2-xattr
db5
+
piksemel
+ python
+ python2-ordered-set
+ python2-xattr
usysconf
+
+ 24-06-2024
+ 3.12
+ Update to legacy/co-installable pisi version v3.12
+**Summary**
+- Sync with pisi v3.12 upstream release, which always installs baselayout eopkg first if they are present in any given install/upgrade order.
+- Add rundep on python2-ordered-set package
+- Make pisi co-installable with the eopkg(py3) package
+- Miscellaneous shebang and file name extension changes
+- Sort pspec.xml file sections lexically for ease of reading/tweaking
+- Change long_description to indicate that pisi is now considered legacy
+- Port pisi comar/*.py build scripts to python3 to enable building when
+ using `eopkg.py3 build` (Thank you to @ultr4_l4s3r for the fix)
+
+ Rune Morling
+ ermo@serpentos.com
+
10-06-2024
3.11