Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package slirp4netns for openSUSE:Factory 
checked in at 2023-10-08 12:17:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/slirp4netns (Old)
 and      /work/SRC/openSUSE:Factory/.slirp4netns.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "slirp4netns"

Sun Oct  8 12:17:10 2023 rev:15 rq:1116064 version:1.2.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/slirp4netns/slirp4netns.changes  2023-08-22 
08:55:25.114475828 +0200
+++ /work/SRC/openSUSE:Factory/.slirp4netns.new.28202/slirp4netns.changes       
2023-10-08 12:18:41.310955809 +0200
@@ -1,0 +2,6 @@
+Mon Oct  2 08:28:59 UTC 2023 - [email protected]
+
+- version update to 1.2.2
+  * Enabled reproducible builds (#324, #325, #326)
+
+-------------------------------------------------------------------

Old:
----
  slirp4netns-1.2.1.tar.xz

New:
----
  slirp4netns-1.2.2.tar.xz

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

Other differences:
------------------
++++++ slirp4netns.spec ++++++
--- /var/tmp/diff_new_pack.KgfVCo/_old  2023-10-08 12:18:42.342992916 +0200
+++ /var/tmp/diff_new_pack.KgfVCo/_new  2023-10-08 12:18:42.346993059 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           slirp4netns
-Version:        1.2.1
+Version:        1.2.2
 Release:        0
 Summary:        User-mode networking for unprivileged network namespaces
 License:        BSD-2-Clause AND GPL-2.0-only AND MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.KgfVCo/_old  2023-10-08 12:18:42.374994066 +0200
+++ /var/tmp/diff_new_pack.KgfVCo/_new  2023-10-08 12:18:42.378994210 +0200
@@ -3,7 +3,7 @@
   <param 
name="url">https://github.com/rootless-containers/slirp4netns.git</param>
   <param name="scm">git</param>
   <param name="filename">slirp4netns</param>
-  <param name="revision">v1.2.1</param>
+  <param name="revision">v1.2.2</param>
   <param name="versionformat">@PARENT_TAG@</param>
   <param name="versionrewrite-pattern">v(.*)</param>
 </service>

++++++ slirp4netns-1.2.1.tar.xz -> slirp4netns-1.2.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slirp4netns-1.2.1/.github/workflows/release.yaml 
new/slirp4netns-1.2.2/.github/workflows/release.yaml
--- old/slirp4netns-1.2.1/.github/workflows/release.yaml        2023-08-19 
12:28:04.000000000 +0200
+++ new/slirp4netns-1.2.2/.github/workflows/release.yaml        2023-09-13 
16:19:04.000000000 +0200
@@ -7,10 +7,45 @@
   release:
     runs-on: ubuntu-22.04
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@v4
+      with:
+        # Reproduce the exact commit hash value
+        fetch-depth: 0
+        ref: ${{ github.event.pull_request.head.sha }}
+    - run: echo "SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)" >> $GITHUB_ENV
     - uses: docker/setup-buildx-action@v2
+    - name: Cache var-cache-apt
+      uses: actions/cache@v3
+      with:
+        path: var-cache-apt
+        key: var-cache-apt-${{ hashFiles('Dockerfile.artifact') }}
+    - name: Cache var-lib-apt
+      uses: actions/cache@v3
+      with:
+        path: var-lib-apt
+        key: var-lib-apt-${{ hashFiles('Dockerfile.artifact') }}
+    - name: inject var-cache-apt into docker
+      uses: 
overmindtech/buildkit-cache-dance/inject@306d31a77191f643c0c4a95083f36c6ddccb4a16
+      with:
+        cache-source: var-cache-apt
+        cache-target: /var/cache/apt
+    - name: inject var-lib-apt into docker
+      uses: 
overmindtech/buildkit-cache-dance/inject@306d31a77191f643c0c4a95083f36c6ddccb4a16
+      with:
+        cache-source: var-lib-apt
+        cache-target: /var/lib/apt
     - name: "Build binaries from Dockerfile.artifact"
-      run: docker buildx build -o /tmp/slirpbuilds 
--platform=amd64,arm64,arm,s390x,ppc64le,riscv64 -f Dockerfile.artifact .
+      run: docker buildx build -o /tmp/slirpbuilds --build-arg 
SOURCE_DATE_EPOCH --platform=amd64,arm64,arm,s390x,ppc64le,riscv64 -f 
Dockerfile.artifact .
+    - name: extract var-cache-apt into docker
+      uses: 
overmindtech/buildkit-cache-dance/extract@306d31a77191f643c0c4a95083f36c6ddccb4a16
+      with:
+        cache-source: var-cache-apt
+        cache-target: /var/cache/apt
+    - name: extract var-lib-apt into docker
+      uses: 
overmindtech/buildkit-cache-dance/extract@306d31a77191f643c0c4a95083f36c6ddccb4a16
+      with:
+        cache-source: var-lib-apt
+        cache-target: /var/lib/apt
     - name: "Create /tmp/artifact"
       run: |
         mkdir -p /tmp/artifact
@@ -20,6 +55,7 @@
         mv /tmp/slirpbuilds/linux_s390x/slirp4netns 
/tmp/artifact/slirp4netns-s390x
         mv /tmp/slirpbuilds/linux_ppc64le/slirp4netns 
/tmp/artifact/slirp4netns-ppc64le
         mv /tmp/slirpbuilds/linux_riscv64/slirp4netns 
/tmp/artifact/slirp4netns-riscv64
+        echo "${SOURCE_DATE_EPOCH}" >/tmp/artifact/SOURCE_DATE_EPOCH
     - name: "SHA256SUMS"
       run: (cd /tmp/artifact; sha256sum *) | tee /tmp/SHA256SUMS
     - name: "The sha256sum of the SHA256SUMS file"
@@ -50,6 +86,16 @@
         The build log is available for 90 days: https://github.com/${{ 
github.repository }}/actions/runs/${{ github.run_id }}
 
         The sha256sum of the SHA256SUMS file itself is \`${shasha}\` .
+
+        The binaries should be reproducible with the following command:
+        \`\`\`
+        docker buildx build \
+          -o /tmp/slirpbuilds \
+          --build-arg SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} \
+          --platform=amd64,arm64,arm,s390x,ppc64le,riscv64 \
+          -f Dockerfile.artifact \
+          "https://github.com/${{ github.repository }}.git#${tag}"
+        \`\`\`
         EOF
     - name: "Create release"
       if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slirp4netns-1.2.1/Dockerfile.artifact 
new/slirp4netns-1.2.2/Dockerfile.artifact
--- old/slirp4netns-1.2.1/Dockerfile.artifact   2023-08-19 12:28:04.000000000 
+0200
+++ new/slirp4netns-1.2.2/Dockerfile.artifact   2023-09-13 16:19:04.000000000 
+0200
@@ -1,19 +1,47 @@
+# Usage:
+# docker buildx build \
+#   -o /tmp/slirpbuilds \
+#   --build-arg SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct) \
+#   --platform=amd64,arm64,arm,s390x,ppc64le,riscv64 \
+#   -f Dockerfile.artifact .
+
 ARG LIBSLIRP_COMMIT=v4.7.0
-ARG UBUNTU_VERSION=22.04
+ARG UBUNTU_VERSION=jammy-20230804
 ARG 
XX_VERSION=1.2.1@sha256:8879a398dedf0aadaacfbd332b29ff2f84bc39ae6d4e9c0a1109db27ac5ba012
+ARG REPRO_SOURCES_LIST_VERSION=v0.1.0
 
 FROM --platform=$BUILDPLATFORM tonistiigi/xx:${XX_VERSION} AS xx
 
 FROM --platform=$BUILDPLATFORM ubuntu:${UBUNTU_VERSION} AS build-libslirp
+ARG REPRO_SOURCES_LIST_VERSION
+ADD --chmod=0755 \
+  
https://raw.githubusercontent.com/reproducible-containers/repro-sources-list.sh/${REPRO_SOURCES_LIST_VERSION}/repro-sources-list.sh
 \
+  /usr/local/bin/repro-sources-list.sh
 ENV DEBIAN_FRONTEND=noninteractive
-RUN apt-get update && apt-get install -y apt-utils automake autotools-dev make 
git ninja-build meson
+RUN \
+  --mount=type=cache,target=/var/cache/apt,sharing=locked \
+  --mount=type=cache,target=/var/lib/apt,sharing=locked \
+  repro-sources-list.sh && \
+  apt-get update && \
+  apt-get install -y apt-utils automake autotools-dev file make git 
ninja-build meson
+# Set SOURCE_DATE_EPOCH after running repro-sources-list.sh, for cache 
efficiency
+ARG SOURCE_DATE_EPOCH
 RUN git clone https://git.qemu.org/libslirp.git /libslirp
 WORKDIR /libslirp
 ARG LIBSLIRP_COMMIT
 RUN  git pull && git checkout ${LIBSLIRP_COMMIT}
 COPY --from=xx / /
 ARG TARGETPLATFORM
-RUN xx-apt-get install -y gcc libglib2.0-dev libcap-dev libseccomp-dev
+# xx-apt-get cannot be used, as it clobbers /etc/apt/sources.list created by 
repro-sources-list.sh
+RUN \
+  --mount=type=cache,target=/var/cache/apt,sharing=locked \
+  --mount=type=cache,target=/var/lib/apt,sharing=locked \
+  darch="$(xx-info debian-arch)" && \
+  dpkg --add-architecture ${darch} && \
+  apt-get update && \
+  gcc="gcc" && \
+  if xx-info is-cross; then gcc="gcc-$(xx-info triple)"; fi; \
+  apt-get install -y "${gcc}" "libglib2.0-dev:${darch}" "libcap-dev:${darch}" 
"libseccomp-dev:${darch}"
 COPY Dockerfile.artifact.d/meson-cross /meson-cross
 RUN meson_setup_flags="--default-library=both" ; \
  if xx-info is-cross; then meson_setup_flags="${meson_setup_flags} 
--cross-file=/meson-cross/$(xx-info) -Dprefix=/usr/local/$(xx-info)"; fi ; \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slirp4netns-1.2.1/Makefile.am 
new/slirp4netns-1.2.2/Makefile.am
--- old/slirp4netns-1.2.1/Makefile.am   2023-08-19 12:28:04.000000000 +0200
+++ new/slirp4netns-1.2.2/Makefile.am   2023-09-13 16:19:04.000000000 +0200
@@ -36,7 +36,7 @@
        vendor/parson/parson.h
 
 # define specific commit if git available or it was replaced during 
git-archive creation
-COMMIT := $(shell V=$Format:%H$ ; \
+COMMIT := $(shell V=0ee2d87523e906518d34a6b423271e4826f71faf ; \
        expr match "$$V" ormat: >/dev/null \
                && (cd "$$abs_srcdir" && [ -d .git ] && git describe --always 
--abbrev=0 --dirty --exclude=\* || echo unknown) \
                || echo "$$V" )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/slirp4netns-1.2.1/configure.ac 
new/slirp4netns-1.2.2/configure.ac
--- old/slirp4netns-1.2.1/configure.ac  2023-08-19 12:28:04.000000000 +0200
+++ new/slirp4netns-1.2.2/configure.ac  2023-09-13 16:19:04.000000000 +0200
@@ -1,5 +1,5 @@
 AC_PREREQ([2.69])
-AC_INIT([slirp4netns], [1.2.1], 
[https://github.com/rootless-containers/slirp4netns/issues])
+AC_INIT([slirp4netns], [1.2.2], 
[https://github.com/rootless-containers/slirp4netns/issues])
 AC_CONFIG_SRCDIR([main.c])
 AC_CONFIG_HEADERS([config.h])
 

Reply via email to