Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-podman for openSUSE:Factory 
checked in at 2023-09-29 21:13:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-podman (Old)
 and      /work/SRC/openSUSE:Factory/.python-podman.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-podman"

Fri Sep 29 21:13:39 2023 rev:11 rq:1113989 version:4.7.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-podman/python-podman.changes      
2023-07-25 11:53:19.838234979 +0200
+++ /work/SRC/openSUSE:Factory/.python-podman.new.28202/python-podman.changes   
2023-09-29 21:14:44.932292322 +0200
@@ -1,0 +2,27 @@
+Thu Sep 28 04:38:02 UTC 2023 - Johannes Kastl <ka...@b1-systems.de>
+
+- update to 4.6.0:
+  * Bump version to v4.6.0 by @umohnani8 in #303
+  * Packit: mention downstream_package_name: python-podman in
+    config by @lsm5 in #306
+  * Bump version on main to 4.7.0-dev by @umohnani8 in #304
+  * Add read_write_tmpfs by @msisj in #302
+  * Update dependency containers/automation_images to v20230807 by
+    @renovate in #308
+  * remove direct logging to sys.stderr by @chnrxn in #311
+  * packit: Build PRs into default packit COPRs by @martinpitt in
+    #310
+  * Update dependency ubuntu to v22 by @renovate in #313
+  * Update dependency containers/automation_images to v20230809 by
+    @renovate in #314
+  * [skip-ci] Update tim-actions/commit-message-checker-with-regex
+    action to v0.3.2 by @renovate in #317
+  * Fix assertation error in manifest.py by @umohnani8 in #320
+  * Update dependency containers/automation_images to v20230816 by
+    @renovate in #316
+  * Fixes the secrets parameter, adds the secret_env parameter by
+    @andryyy in #319
+  * Fix image SCP when not providing quiet by @hpvb in #321
+  * Change default value for tty in exec_run by @maxi0604 in #324
+
+-------------------------------------------------------------------

Old:
----
  podman-4.6.0.tar.gz

New:
----
  podman-4.7.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-podman.spec ++++++
--- /var/tmp/diff_new_pack.tkfHlP/_old  2023-09-29 21:14:46.068333311 +0200
+++ /var/tmp/diff_new_pack.tkfHlP/_new  2023-09-29 21:14:46.072333455 +0200
@@ -26,7 +26,7 @@
 %bcond_with test
 %endif
 Name:           python-podman%{psuffix}
-Version:        4.6.0
+Version:        4.7.0
 Release:        0
 Summary:        A library to interact with a Podman server
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.tkfHlP/_old  2023-09-29 21:14:46.104334610 +0200
+++ /var/tmp/diff_new_pack.tkfHlP/_new  2023-09-29 21:14:46.108334754 +0200
@@ -1,5 +1,5 @@
 <services>
-  <service name="download_files" mode="disabled">
+  <service name="download_files" mode="manual">
   </service>
 </services>
 

++++++ podman-4.6.0.tar.gz -> podman-4.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/podman-py-4.6.0/.cirrus.yml 
new/podman-py-4.7.0/.cirrus.yml
--- old/podman-py-4.6.0/.cirrus.yml     2023-07-24 14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/.cirrus.yml     2023-09-25 20:53:21.000000000 +0200
@@ -17,7 +17,7 @@
     FEDORA_NAME: "fedora-38"
 
     # Google-cloud VM Images
-    IMAGE_SUFFIX: "c20230614t132754z-f38f37d13"
+    IMAGE_SUFFIX: "c20230816t191118z-f38f37d13"
     FEDORA_CACHE_IMAGE_NAME: "fedora-podman-py-${IMAGE_SUFFIX}"
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/podman-py-4.6.0/.github/workflows/pr.yml 
new/podman-py-4.7.0/.github/workflows/pr.yml
--- old/podman-py-4.6.0/.github/workflows/pr.yml        2023-07-24 
14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/.github/workflows/pr.yml        2023-09-25 
20:53:21.000000000 +0200
@@ -4,7 +4,7 @@
 
 jobs:
   commit:
-    runs-on: ubuntu-20.04
+    runs-on: ubuntu-22.04
     # Only check commits on pull requests.
     if: github.event_name == 'pull_request'
     steps:
@@ -15,7 +15,7 @@
           token: ${{ secrets.GITHUB_TOKEN }}
 
       - name: check subject line length
-        uses: tim-actions/commit-message-checker-with-regex@v0.3.1
+        uses: tim-actions/commit-message-checker-with-regex@v0.3.2
         with:
           commits: ${{ steps.get-pr-commits.outputs.commits }}
           pattern: '^.{0,72}(\n.*)*$'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/podman-py-4.6.0/.packit.yaml 
new/podman-py-4.7.0/.packit.yaml
--- old/podman-py-4.6.0/.packit.yaml    2023-07-24 14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/.packit.yaml    2023-09-25 20:53:21.000000000 +0200
@@ -2,26 +2,26 @@
 # See the documentation for more information:
 # https://packit.dev/docs/configuration/
 
-# Build targets can be found at:
-# https://copr.fedorainfracloud.org/coprs/rhcontainerbot/packit-builds/
-
+downstream_package_name: python-podman
 specfile_path: rpm/python-podman.spec
 upstream_tag_template: v{version}
 
+srpm_build_deps:
+  - make
+
 jobs:
-  - &copr
-    job: copr_build
+  - job: copr_build
     trigger: pull_request
-    owner: rhcontainerbot
-    project: packit-builds
-    enable_net: true
-    srpm_build_deps:
-      - make
+    targets:
+      - fedora-all
+      - centos-stream-8
+      - centos-stream-9
 
-  - <<: *copr
-    # Run on commit to main branch
+  # Run on commit to main branch
+  - job: copr_build
     trigger: commit
     branch: main
+    owner: rhcontainerbot
     project: podman-next
 
   - job: propose_downstream
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/podman-py-4.6.0/Makefile new/podman-py-4.7.0/Makefile
--- old/podman-py-4.6.0/Makefile        2023-07-24 14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/Makefile        2023-09-25 20:53:21.000000000 +0200
@@ -8,7 +8,7 @@
 EPOCH_TEST_COMMIT ?= $(shell git merge-base $${DEST_BRANCH:-main} HEAD)
 HEAD ?= HEAD
 
-export PODMAN_VERSION ?= "4.6.0"
+export PODMAN_VERSION ?= "4.7.0"
 
 .PHONY: podman
 podman:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/podman-py-4.6.0/podman/domain/containers.py 
new/podman-py-4.7.0/podman/domain/containers.py
--- old/podman-py-4.6.0/podman/domain/containers.py     2023-07-24 
14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/podman/domain/containers.py     2023-09-25 
20:53:21.000000000 +0200
@@ -131,7 +131,7 @@
         stdout: bool = True,
         stderr: bool = True,
         stdin: bool = False,
-        tty: bool = True,
+        tty: bool = False,
         privileged: bool = False,
         user=None,
         detach: bool = False,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/podman-py-4.6.0/podman/domain/containers_create.py 
new/podman-py-4.7.0/podman/domain/containers_create.py
--- old/podman-py-4.6.0/podman/domain/containers_create.py      2023-07-24 
14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/podman/domain/containers_create.py      2023-09-25 
20:53:21.000000000 +0200
@@ -103,7 +103,7 @@
             mounts (List[Mount]): Specification for mounts to be added to the 
container. More
                 powerful alternative to volumes. Each item in the list is 
expected to be a
                 Mount object.
-                For example :
+                For example:
                  [
                     {
                         "type": "bind",
@@ -190,6 +190,8 @@
             privileged (bool): Give extended privileges to this container.
             publish_all_ports (bool): Publish all ports to the host.
             read_only (bool): Mount the container's root filesystem as read 
only.
+            read_write_tmpfs (bool): Mount temporary file systems as read 
write,
+                in case of read_only options set to True. Default: False
             remove (bool): Remove the container when it has finished running. 
Default: False.
             restart_policy (Dict[str, Union[str, int]]): Restart the container 
when it exits.
                 Configured as a dictionary with keys:
@@ -200,7 +202,37 @@
                 For example: {"Name": "on-failure", "MaximumRetryCount": 5}
 
             runtime (str): Runtime to use with this container.
-            secrets (Union[List[Secret]|List[str]]): Secrets to add to this 
container.
+            secrets (List[Union[str, Secret, Dict[str, Union[str, int]]]]): 
Secrets to
+                mount to this container.
+
+                For example:
+                    - As list of strings, each string representing a secret's 
ID or name:
+                        ['my_secret', 'my_secret2']
+
+                    - As list of Secret objects the corresponding IDs are read 
from:
+                        [Secret, Secret]
+
+                    - As list of dictionaries:
+                        [
+                            {
+                                "source": "my_secret",  # A string 
representing the ID or name of
+                                                        # a secret
+                                "target": "/my_secret", # An optional target 
to mount source to,
+                                                        # falls back to 
/run/secrets/source
+                                "uid": 1000,            # An optional UID that 
falls back to 0
+                                                        # if not given
+                                "gid": 1000,            # An optional GID that 
falls back to 0
+                                                        # if not given
+                                "mode": 0o400,          # An optional mode to 
apply to the target,
+                                                        # use an 0o prefix for 
octal integers
+                            },
+                        ]
+
+            secret_env (Dict[str, str]): Secrets to add as environment 
variables available in the
+                container.
+
+                For example: {"VARIABLE1": "NameOfSecret", "VARIABLE2": 
"NameOfAnotherSecret"}
+
             security_opt (List[str]): A List[str]ing values to customize 
labels for MLS systems,
                 such as SELinux.
             shm_size (Union[str, int]): Size of /dev/shm (e.g. 1G).
@@ -424,6 +456,7 @@
             "r_limits": [],
             "raw_image_name": pop("raw_image_name"),  # TODO document, podman 
only
             "read_only_filesystem": pop("read_only"),
+            "read_write_tmpfs": pop("read_write_tmpfs"),
             "remove": args.pop("remove", args.pop("auto_remove", None)),
             "resource_limits": {},
             "rootfs": pop("rootfs"),
@@ -608,9 +641,19 @@
 
         for item in args.pop("secrets", []):
             if isinstance(item, Secret):
-                params["secrets"].append({"ID": item.id})
+                params["secrets"].append({"source": item.id})
             elif isinstance(item, str):
-                params["secrets"].append({"ID": item})
+                params["secrets"].append({"source": item})
+            elif isinstance(item, dict):
+                secret = {}
+                secret_opts = ["source", "target", "uid", "gid", "mode"]
+                for k, v in item.items():
+                    if k in secret_opts:
+                        secret.update({k: v})
+                params["secrets"].append(secret)
+
+        if "secret_env" in args:
+            params["secret_env"] = args.pop("secret_env", {})
 
         if "cgroupns" in args:
             params["cgroupns"] = {"nsmode": args.pop("cgroupns")}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/podman-py-4.6.0/podman/domain/images_manager.py 
new/podman-py-4.7.0/podman/domain/images_manager.py
--- old/podman-py-4.6.0/podman/domain/images_manager.py 2023-07-24 
14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/podman/domain/images_manager.py 2023-09-25 
20:53:21.000000000 +0200
@@ -411,11 +411,10 @@
         Raises:
             APIError: when service returns an error
         """
-        params = {}
-        if dest is not None and quiet:
-            params = {"destination": dest, "quiet": quiet}
-        elif quiet:
-            params = {"quiet": quiet}
+        params = {"quiet": quiet}
+        if dest is not None:
+            params["destination"] = dest
+
         response = self.client.post(f"/images/scp/{source}", params=params)
         response.raise_for_status()
         return response.json()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/podman-py-4.6.0/podman/domain/networks_manager.py 
new/podman-py-4.7.0/podman/domain/networks_manager.py
--- old/podman-py-4.6.0/podman/domain/networks_manager.py       2023-07-24 
14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/podman/domain/networks_manager.py       2023-09-25 
20:53:21.000000000 +0200
@@ -10,7 +10,6 @@
 """
 import ipaddress
 import logging
-import sys
 from contextlib import suppress
 from typing import Any, Dict, List, Optional
 
@@ -73,7 +72,6 @@
             headers={"Content-Type": "application/json"},
         )
         response.raise_for_status()
-        sys.stderr.write(str(response.json()))
         return self.prepare_model(attrs=response.json())
 
     def _prepare_ipam(self, data: Dict[str, Any], ipam: Dict[str, Any]):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/podman-py-4.6.0/podman/tests/__init__.py 
new/podman-py-4.7.0/podman/tests/__init__.py
--- old/podman-py-4.6.0/podman/tests/__init__.py        2023-07-24 
14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/podman/tests/__init__.py        2023-09-25 
20:53:21.000000000 +0200
@@ -3,5 +3,5 @@
 # Do not auto-update these from version.py,
 #   as test code should be changed to reflect changes in Podman API versions
 BASE_SOCK = "unix:///run/api.sock"
-LIBPOD_URL = "http://%2Frun%2Fapi.sock/v4.6.0/libpod";
+LIBPOD_URL = "http://%2Frun%2Fapi.sock/v4.7.0/libpod";
 COMPATIBLE_URL = "http://%2Frun%2Fapi.sock/v1.40";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/podman-py-4.6.0/podman/tests/integration/test_container_create.py 
new/podman-py-4.7.0/podman/tests/integration/test_container_create.py
--- old/podman-py-4.6.0/podman/tests/integration/test_container_create.py       
2023-07-24 14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/podman/tests/integration/test_container_create.py       
2023-09-25 20:53:21.000000000 +0200
@@ -276,6 +276,52 @@
                 # validate if proper device was added (by major/minor numbers)
                 self.assertEqual(source_match.group(1), 
destination_match.group(1))
 
+    def test_read_write_tmpfs(self):
+        test_cases = [
+            {"read_write_tmpfs": True, "failed_container": False},
+            {
+                "read_write_tmpfs": False,
+                "failed_container": True,
+                "expected_output": "Read-only file system",
+            },
+            {
+                "read_write_tmpfs": None,
+                "failed_container": True,
+                "expected_output": "Read-only file system",
+            },
+        ]
+
+        for test in test_cases:
+            read_write_tmpfs = test.get('read_write_tmpfs')
+            with self.subTest(f"Check read_write_tmpfs set to 
{read_write_tmpfs}"):
+                kwargs = (
+                    {"read_write_tmpfs": read_write_tmpfs} if read_write_tmpfs 
is not None else {}
+                )
+                container = self.client.containers.create(
+                    self.alpine_image,
+                    read_only=True,
+                    command=["/bin/touch", "/tmp/test_file"],
+                    **kwargs,
+                )
+
+                self.containers.append(container)
+
+                container.start()
+                container.wait()
+
+                inspect = container.inspect()
+                logs = b"\n".join(container.logs(stderr=True)).decode()
+
+                if test.get("failed_container") is True:
+                    self.assertNotEqual(inspect.get("State", 
{}).get("ExitCode", -1), 0)
+                else:
+                    self.assertEqual(inspect.get("State", {}).get("ExitCode", 
-1), 0)
+
+                expected_output = test.get("expected_output")
+                if expected_output:
+                    print(inspect)
+                    self.assertIn(expected_output, logs)
+
 
 if __name__ == '__main__':
     unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/podman-py-4.6.0/podman/tests/integration/test_manifests.py 
new/podman-py-4.7.0/podman/tests/integration/test_manifests.py
--- old/podman-py-4.6.0/podman/tests/integration/test_manifests.py      
2023-07-24 14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/podman/tests/integration/test_manifests.py      
2023-09-25 20:53:21.000000000 +0200
@@ -66,7 +66,7 @@
 
         with self.subTest("Remove digest"):
             manifest.remove(self.alpine_image.attrs["RepoDigests"][0])
-            self.assertIsNone(manifest.attrs["manifests"])
+            self.assertEqual(manifest.attrs["manifests"], [])
 
     def test_create_409(self):
         """Test that invalid Image names are caught and not corrupt storage."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/podman-py-4.6.0/podman/version.py 
new/podman-py-4.7.0/podman/version.py
--- old/podman-py-4.6.0/podman/version.py       2023-07-24 14:05:07.000000000 
+0200
+++ new/podman-py-4.7.0/podman/version.py       2023-09-25 20:53:21.000000000 
+0200
@@ -1,4 +1,4 @@
 """Version of PodmanPy."""
 
-__version__ = "4.6.0"
+__version__ = "4.7.0"
 __compatible_version__ = "1.40"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/podman-py-4.6.0/setup.cfg 
new/podman-py-4.7.0/setup.cfg
--- old/podman-py-4.6.0/setup.cfg       2023-07-24 14:05:07.000000000 +0200
+++ new/podman-py-4.7.0/setup.cfg       2023-09-25 20:53:21.000000000 +0200
@@ -1,6 +1,6 @@
 [metadata]
 name = podman
-version = 4.6.0
+version = 4.7.0
 author = Brent Baude, Jhon Honce
 author_email = jho...@redhat.com
 description = Bindings for Podman RESTful API

Reply via email to