Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nfpm for openSUSE:Factory checked in 
at 2025-09-02 17:59:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nfpm (Old)
 and      /work/SRC/openSUSE:Factory/.nfpm.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nfpm"

Tue Sep  2 17:59:02 2025 rev:11 rq:1302309 version:2.43.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/nfpm/nfpm.changes        2025-06-10 
09:08:58.936604346 +0200
+++ /work/SRC/openSUSE:Factory/.nfpm.new.1977/nfpm.changes      2025-09-02 
17:59:34.797670603 +0200
@@ -1,0 +2,51 @@
+Tue Sep 02 05:57:11 UTC 2025 - Johannes Kastl 
<[email protected]>
+
+- Update to version 2.43.1:
+  * Bug fixes
+    - 409e8c9: fix: dir ownership when type: dir (@caarlos0)
+    - 0b3c28f: fix: symlink with empty mtime (#955) (@caarlos0)
+  * Other work
+    - 4497fb3: docs: corrected amd64 name for deb in
+      goarch-to-pkg.md (#945) (@BCMM)
+    - 83fcc7d: docs: improve version extraction of systemctl (#961)
+      (@supcik)
+    - 9c3ba6b: docs: update cmd docs (@caarlos0)
+    - b2a1c0e: refactor: move it around a bit (@caarlos0)
+    - d0d7d06: refactor: use stdlib maps (#942) (@scop)
+  * Dependencies
+    - chore(deps): bump github.com/ulikunitz/xz from 0.5.14 to
+      0.5.15 (#965)
+    - chore(deps): bump github.com/ulikunitz/xz from 0.5.13 to
+      0.5.14 (#964)
+    - chore(deps): bump github.com/stretchr/testify from 1.11.0 to
+      1.11.1 (#963)
+    - chore(deps): bump github.com/stretchr/testify from 1.10.0 to
+      1.11.0 (#962)
+    - chore(deps): bump github.com/ulikunitz/xz from 0.5.12 to
+      0.5.13 (#960)
+    - chore(deps): bump anchore/sbom-action from 0.20.4 to 0.20.5
+      (#959)
+    - chore(deps): bump actions/checkout from 4 to 5 (#958)
+    - chore(deps): bump actions/cache from 4.2.3 to 4.2.4 (#957)
+    - chore(deps): bump github.com/google/rpmpack from 0.7.0 to
+      0.7.1 (#951)
+    - chore(deps): bump anchore/sbom-action from 0.20.2 to 0.20.4
+      (#950)
+    - chore(deps): bump sigstore/cosign-installer from 3.9.1 to
+      3.9.2 (#949)
+    - chore(deps): bump anchore/sbom-action from 0.20.1 to 0.20.2
+      (#947)
+    - chore(deps): bump github.com/Masterminds/semver/v3 from 3.3.1
+      to 3.4.0 (#946)
+    - chore(deps): bump github.com/caarlos0/go-version from 0.2.0
+      to 0.2.1 (#944)
+    - chore(deps): bump sigstore/cosign-installer from 3.8.2 to
+      3.9.1 (#943)
+    - chore(deps): bump anchore/sbom-action from 0.20.0 to 0.20.1
+      (#940)
+    - chore(deps): bump stefanzweifel/git-auto-commit-action from 5
+      to 6 (#937)
+    - chore(deps): bump github.com/goreleaser/chglog from 0.7.0 to
+      0.7.3 (#936)
+
+-------------------------------------------------------------------

Old:
----
  nfpm-2.43.0.obscpio

New:
----
  nfpm-2.43.1.obscpio

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

Other differences:
------------------
++++++ nfpm.spec ++++++
--- /var/tmp/diff_new_pack.qPBv9X/_old  2025-09-02 17:59:35.677707577 +0200
+++ /var/tmp/diff_new_pack.qPBv9X/_new  2025-09-02 17:59:35.681707745 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package nfpm
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           nfpm
-Version:        2.43.0
+Version:        2.43.1
 Release:        0
 Summary:        Simple deb, rpm, apk and arch linux packager written in Go
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.qPBv9X/_old  2025-09-02 17:59:35.709708922 +0200
+++ /var/tmp/diff_new_pack.qPBv9X/_new  2025-09-02 17:59:35.713709090 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/goreleaser/nfpm</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v2.43.0</param>
+    <param name="revision">v2.43.1</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.qPBv9X/_old  2025-09-02 17:59:35.733709930 +0200
+++ /var/tmp/diff_new_pack.qPBv9X/_new  2025-09-02 17:59:35.741710266 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/goreleaser/nfpm</param>
-              <param 
name="changesrevision">2e47af64a3f33d32ec1395dbd56165c4feb2bc21</param></service></servicedata>
+              <param 
name="changesrevision">75a52a288bf13f31e4810212982c3095a5bf3115</param></service></servicedata>
 (No newline at EOF)
 

++++++ nfpm-2.43.0.obscpio -> nfpm-2.43.1.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nfpm-2.43.0/files/files.go 
new/nfpm-2.43.1/files/files.go
--- old/nfpm-2.43.0/files/files.go      2025-06-07 18:32:08.000000000 +0200
+++ new/nfpm-2.43.1/files/files.go      2025-08-29 10:21:40.000000000 +0200
@@ -146,6 +146,8 @@
                info, err := os.Stat(cc.Source)
                if err == nil {
                        if cc.FileInfo.MTime.IsZero() {
+                               // if we can stat the file and mtime not set, 
use original
+                               // file's mtime
                                cc.FileInfo.MTime = info.ModTime()
                        }
                        if cc.FileInfo.Mode == 0 {
@@ -155,8 +157,9 @@
                }
        }
 
+       // finally, if mtime is still 0, set time.Now()
        if cc.FileInfo.MTime.IsZero() {
-               cc.FileInfo.MTime = mtime
+               cc.FileInfo.MTime = time.Now()
        }
        return cc
 }
@@ -260,7 +263,7 @@
                                return nil, contentCollisionError(content, 
presentContent)
                        }
 
-                       err := addParents(contentMap, content.Destination, 
mtime)
+                       err := addParents(contentMap, content.Destination, 
mtime, nil)
                        if err != nil {
                                return nil, err
                        }
@@ -279,7 +282,7 @@
                                return nil, contentCollisionError(content, 
presentContent)
                        }
 
-                       err := addParents(contentMap, content.Destination, 
mtime)
+                       err := addParents(contentMap, content.Destination, 
mtime, nil)
                        if err != nil {
                                return nil, err
                        }
@@ -345,7 +348,7 @@
        return true
 }
 
-func addParents(contentMap map[string]*Content, path string, mtime time.Time) 
error {
+func addParents(contentMap map[string]*Content, path string, mtime time.Time, 
fileInfo *ContentFileInfo) error {
        for _, parent := range sortedParents(path) {
                parent = NormalizeAbsoluteDirPath(parent)
                // check for content collision and just overwrite previously 
created
@@ -364,12 +367,25 @@
                        }, c)
                }
 
+               owner := "root"
+               group := "root"
+
+               // Use provided ownership for directories that are not owned by 
the filesystem
+               if fileInfo != nil && !ownedByFilesystem(parent) {
+                       if fileInfo.Owner != "" {
+                               owner = fileInfo.Owner
+                       }
+                       if fileInfo.Group != "" {
+                               group = fileInfo.Group
+                       }
+               }
+
                contentMap[parent] = &Content{
                        Destination: parent,
                        Type:        TypeImplicitDir,
                        FileInfo: &ContentFileInfo{
-                               Owner: "root",
-                               Group: "root",
+                               Owner: owner,
+                               Group: group,
                                Mode:  0o755,
                                MTime: mtime,
                        },
@@ -415,7 +431,7 @@
                        return contentCollisionError(&c, presentContent)
                }
 
-               if err := addParents(all, dst, mtime); err != nil {
+               if err := addParents(all, dst, mtime, origFile.FileInfo); err 
!= nil {
                        return err
                }
 
@@ -458,7 +474,7 @@
                }
        }
 
-       err := addParents(all, tree.Destination, mtime)
+       err := addParents(all, tree.Destination, mtime, tree.FileInfo)
        if err != nil {
                return err
        }
@@ -478,7 +494,7 @@
                c := &Content{
                        FileInfo: &ContentFileInfo{},
                }
-               if tree.FileInfo != nil && !ownedByFilesystem(tree.Destination) 
{
+               if tree.FileInfo != nil && !ownedByFilesystem(c.Destination) {
                        c.FileInfo.Owner = tree.FileInfo.Owner
                        c.FileInfo.Group = tree.FileInfo.Group
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nfpm-2.43.0/files/files_test.go 
new/nfpm-2.43.1/files/files_test.go
--- old/nfpm-2.43.0/files/files_test.go 2025-06-07 18:32:08.000000000 +0200
+++ new/nfpm-2.43.1/files/files_test.go 2025-08-29 10:21:40.000000000 +0200
@@ -975,6 +975,75 @@
        }
 }
 
+func TestIssue954(t *testing.T) {
+       tmpDir := t.TempDir()
+       contentDir := filepath.Join(tmpDir, "content")
+       require.NoError(t, os.MkdirAll(filepath.Join(contentDir, "subdir1"), 
0o755))
+       require.NoError(t, os.MkdirAll(filepath.Join(contentDir, "subdir2"), 
0o755))
+       require.NoError(t, os.WriteFile(filepath.Join(contentDir, "subdir1", 
"file1.txt"), []byte("test"), 0o644))
+       require.NoError(t, os.WriteFile(filepath.Join(contentDir, "subdir2", 
"file2.txt"), []byte("test"), 0o644))
+
+       results, err := files.PrepareForPackager(
+               files.Contents{
+                       {
+                               Source:      contentDir + "/",
+                               Destination: "/srv/www",
+                               FileInfo: &files.ContentFileInfo{
+                                       Owner: "www-data",
+                                       Group: "www-data",
+                                       Mode:  0o775,
+                               },
+                       },
+               },
+               0,
+               "",
+               false,
+               mtime,
+       )
+       require.NoError(t, err)
+
+       found := []string{}
+       for _, f := range results {
+               found = append(found, f.Destination)
+               if f.Destination == "/srv/" {
+                       require.Equal(t, "root", f.FileInfo.Owner, 
f.Destination)
+                       require.Equal(t, "root", f.FileInfo.Group, 
f.Destination)
+                       continue
+               }
+               require.Contains(t, f.Destination, "/srv/www")
+               require.Equal(t, "www-data", f.FileInfo.Owner, f.Destination)
+               require.Equal(t, "www-data", f.FileInfo.Group, f.Destination)
+
+       }
+       require.ElementsMatch(t, []string{
+               "/srv/",
+               "/srv/www/",
+               "/srv/www/subdir1/",
+               "/srv/www/subdir1/file1.txt",
+               "/srv/www/subdir2/",
+               "/srv/www/subdir2/file2.txt",
+       }, found)
+}
+
+func TestIssue952(t *testing.T) {
+       contents := files.Contents{
+               {
+                       Source:      "/source",
+                       Destination: "/dest",
+                       Type:        files.TypeSymlink,
+               },
+       }
+
+       result, err := files.PrepareForPackager(contents, 0, "", false, mtime)
+       require.NoError(t, err)
+       require.Len(t, result, 1)
+
+       symlink := result[0]
+       require.Equal(t, files.TypeSymlink, symlink.Type)
+       require.Equal(t, "/dest", symlink.Destination)
+       require.Equal(t, mtime, symlink.FileInfo.MTime)
+}
+
 func TestIssue829(t *testing.T) {
        var config testStruct
        dec := yaml.NewDecoder(strings.NewReader(`---
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nfpm-2.43.0/go.mod new/nfpm-2.43.1/go.mod
--- old/nfpm-2.43.0/go.mod      2025-06-07 18:32:08.000000000 +0200
+++ new/nfpm-2.43.1/go.mod      2025-08-29 10:21:40.000000000 +0200
@@ -5,13 +5,13 @@
 require (
        dario.cat/mergo v1.0.2
        github.com/AlekSi/pointer v1.2.0
-       github.com/Masterminds/semver/v3 v3.3.1
+       github.com/Masterminds/semver/v3 v3.4.0
        github.com/ProtonMail/go-crypto v1.3.0
        github.com/ProtonMail/gopenpgp/v2 v2.7.1
        github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb
-       github.com/caarlos0/go-version v0.2.0
-       github.com/google/rpmpack v0.7.0
-       github.com/goreleaser/chglog v0.7.0
+       github.com/caarlos0/go-version v0.2.1
+       github.com/google/rpmpack v0.7.1
+       github.com/goreleaser/chglog v0.7.3
        github.com/goreleaser/fileglob v1.3.0
        github.com/invopop/jsonschema v0.13.0
        github.com/klauspost/compress v1.18.0
@@ -20,9 +20,8 @@
        github.com/muesli/roff v0.1.0
        github.com/sassoftware/go-rpmutils v0.4.0
        github.com/spf13/cobra v1.9.1
-       github.com/stretchr/testify v1.10.0
-       github.com/ulikunitz/xz v0.5.12
-       golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
+       github.com/stretchr/testify v1.11.1
+       github.com/ulikunitz/xz v0.5.15
        gopkg.in/yaml.v3 v3.0.1
 )
 
@@ -35,14 +34,14 @@
        github.com/bahlo/generic-list-go v0.2.0 // indirect
        github.com/buger/jsonparser v1.1.1 // indirect
        github.com/cavaliergopher/cpio v1.0.1 // indirect
-       github.com/cloudflare/circl v1.6.0 // indirect
+       github.com/cloudflare/circl v1.6.1 // indirect
        github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
        github.com/cyphar/filepath-securejoin v0.4.1 // indirect
        github.com/davecgh/go-spew v1.1.1 // indirect
        github.com/emirpasic/gods v1.18.1 // indirect
        github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
        github.com/go-git/go-billy/v5 v5.6.2 // indirect
-       github.com/go-git/go-git/v5 v5.14.0 // indirect
+       github.com/go-git/go-git/v5 v5.16.1 // indirect
        github.com/gobwas/glob v0.2.3 // indirect
        github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // 
indirect
        github.com/google/uuid v1.6.0 // indirect
@@ -68,9 +67,9 @@
        github.com/xanzy/ssh-agent v0.3.3 // indirect
        github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
        gitlab.com/digitalxero/go-conventional-commit v1.0.7 // indirect
-       golang.org/x/crypto v0.36.0 // indirect
-       golang.org/x/net v0.38.0 // indirect
-       golang.org/x/sys v0.31.0 // indirect
-       golang.org/x/text v0.23.0 // indirect
+       golang.org/x/crypto v0.37.0 // indirect
+       golang.org/x/net v0.39.0 // indirect
+       golang.org/x/sys v0.32.0 // indirect
+       golang.org/x/text v0.24.0 // indirect
        gopkg.in/warnings.v0 v0.1.2 // indirect
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nfpm-2.43.0/go.sum new/nfpm-2.43.1/go.sum
--- old/nfpm-2.43.0/go.sum      2025-06-07 18:32:08.000000000 +0200
+++ new/nfpm-2.43.1/go.sum      2025-08-29 10:21:40.000000000 +0200
@@ -6,8 +6,8 @@
 github.com/DataDog/zstd v1.5.5/go.mod 
h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw=
 github.com/Masterminds/goutils v1.1.1 
h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
 github.com/Masterminds/goutils v1.1.1/go.mod 
h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
-github.com/Masterminds/semver/v3 v3.3.1 
h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
-github.com/Masterminds/semver/v3 v3.3.1/go.mod 
h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
+github.com/Masterminds/semver/v3 v3.4.0 
h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
+github.com/Masterminds/semver/v3 v3.4.0/go.mod 
h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
 github.com/Masterminds/sprig/v3 v3.3.0 
h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
 github.com/Masterminds/sprig/v3 v3.3.0/go.mod 
h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
 github.com/Microsoft/go-winio v0.5.2/go.mod 
h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
@@ -31,15 +31,15 @@
 github.com/buger/jsonparser v1.1.1 
h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs=
 github.com/buger/jsonparser v1.1.1/go.mod 
h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
 github.com/bwesterb/go-ristretto v1.2.0/go.mod 
h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
-github.com/caarlos0/go-version v0.2.0 
h1:TTD5dF3PBAtRHbfCKRE173SrVVpbE0yX95EDQ4BwTGs=
-github.com/caarlos0/go-version v0.2.0/go.mod 
h1:X+rI5VAtJDpcjCjeEIXpxGa5+rTcgur1FK66wS0/944=
+github.com/caarlos0/go-version v0.2.1 
h1:bJY5WRvs2RXErLKBELd1WR0U72whX8ELbKg0WtQ9/7A=
+github.com/caarlos0/go-version v0.2.1/go.mod 
h1:X+rI5VAtJDpcjCjeEIXpxGa5+rTcgur1FK66wS0/944=
 github.com/caarlos0/testfs v0.4.4 
h1:3PHvzHi5Lt+g332CiShwS8ogTgS3HjrmzZxCm6JCDr8=
 github.com/caarlos0/testfs v0.4.4/go.mod 
h1:bRN55zgG4XCUVVHZCeU+/Tz1Q6AxEJOEJTliBy+1DMk=
 github.com/cavaliergopher/cpio v1.0.1 
h1:KQFSeKmZhv0cr+kawA3a0xTQCU4QxXF1vhU7P7av2KM=
 github.com/cavaliergopher/cpio v1.0.1/go.mod 
h1:pBdaqQjnvXxdS/6CvNDwIANIFSP0xRKI16PX4xejRQc=
 github.com/cloudflare/circl v1.1.0/go.mod 
h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I=
-github.com/cloudflare/circl v1.6.0 
h1:cr5JKic4HI+LkINy2lg3W2jF8sHCVTBncJr5gIIq7qk=
-github.com/cloudflare/circl v1.6.0/go.mod 
h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
+github.com/cloudflare/circl v1.6.1 
h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0=
+github.com/cloudflare/circl v1.6.1/go.mod 
h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
 github.com/cpuguy83/go-md2man/v2 v2.0.6 
h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0=
 github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod 
h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
 github.com/cyphar/filepath-securejoin v0.4.1 
h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s=
@@ -61,22 +61,22 @@
 github.com/go-git/go-billy/v5 v5.6.2/go.mod 
h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU=
 github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 
h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
 github.com/go-git/go-git-fixtures/v4 
v4.3.2-0.20231010084843-55a94097c399/go.mod 
h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
-github.com/go-git/go-git/v5 v5.14.0 
h1:/MD3lCrGjCen5WfEAzKg00MJJffKhC8gzS80ycmCi60=
-github.com/go-git/go-git/v5 v5.14.0/go.mod 
h1:Z5Xhoia5PcWA3NF8vRLURn9E5FRhSl7dGj9ItW3Wk5k=
+github.com/go-git/go-git/v5 v5.16.1 
h1:TuxMBWNL7R05tXsUGi0kh1vi4tq0WfXNLlIrAkXG1k8=
+github.com/go-git/go-git/v5 v5.16.1/go.mod 
h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8=
 github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
 github.com/gobwas/glob v0.2.3/go.mod 
h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 
h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ=
 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod 
h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw=
 github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
 github.com/google/go-cmp v0.7.0/go.mod 
h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
-github.com/google/rpmpack v0.7.0 
h1:mA2Yd3/dOmao1ype0DJA8DFquEpslaleywOuglVCrUs=
-github.com/google/rpmpack v0.7.0/go.mod 
h1:uqVAUVQLq8UY2hCDfmJ/+rtO3aw7qyhc90rCVEabEfI=
+github.com/google/rpmpack v0.7.1 
h1:YdWh1IpzOjBz60Wvdw0TU0A5NWP+JTVHA5poDqwMO2o=
+github.com/google/rpmpack v0.7.1/go.mod 
h1:h1JL16sUTWCLI/c39ox1rDaTBo3BXUQGjczVJyK4toU=
 github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
 github.com/google/uuid v1.6.0/go.mod 
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/gopherjs/gopherjs v1.17.2 
h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g=
 github.com/gopherjs/gopherjs v1.17.2/go.mod 
h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k=
-github.com/goreleaser/chglog v0.7.0 
h1:/KzXWAeg4DrEz4r3OI6K2Yb8RAsVGeInCUfLWFXL9C0=
-github.com/goreleaser/chglog v0.7.0/go.mod 
h1:2h/yyq9xvTUeM9tOoucBP+jri8Dj28splx+SjlYkklc=
+github.com/goreleaser/chglog v0.7.3 
h1:eCKJrvsDgG+F1F2fhwM6qX+S5yMiZgsQ4VNTPFl9qEM=
+github.com/goreleaser/chglog v0.7.3/go.mod 
h1:HXPf4avc1kTD00a46LuTEH0i1dZctLq8Xs2BxUfROnY=
 github.com/goreleaser/fileglob v1.3.0 
h1:/X6J7U8lbDpQtBvGcwwPS6OpzkNVlVEsFUVRx9+k+7I=
 github.com/goreleaser/fileglob v1.3.0/go.mod 
h1:Jx6BoXv3mbYkEzwm9THo7xbr5egkAraxkGorbJb4RxU=
 github.com/huandu/xstrings v1.5.0 
h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
@@ -154,10 +154,10 @@
 github.com/stretchr/testify v1.2.2/go.mod 
h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.4.0/go.mod 
h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
 github.com/stretchr/testify v1.7.0/go.mod 
h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.10.0 
h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
-github.com/stretchr/testify v1.10.0/go.mod 
h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
-github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
-github.com/ulikunitz/xz v0.5.12/go.mod 
h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
+github.com/stretchr/testify v1.11.1 
h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
+github.com/stretchr/testify v1.11.1/go.mod 
h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
+github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY=
+github.com/ulikunitz/xz v0.5.15/go.mod 
h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
 github.com/wk8/go-ordered-map/v2 v2.1.8 
h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc=
 github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod 
h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw=
 github.com/xanzy/ssh-agent v0.3.3 
h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
@@ -173,8 +173,8 @@
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod 
h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.7.0/go.mod 
h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
-golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
-golang.org/x/crypto v0.36.0/go.mod 
h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
+golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
+golang.org/x/crypto v0.37.0/go.mod 
h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
 golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 
h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
 golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod 
h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod 
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
@@ -185,8 +185,8 @@
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
 golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
-golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
-golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
+golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
+golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -202,22 +202,22 @@
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
-golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
+golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
 golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
-golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
-golang.org/x/term v0.30.0/go.mod 
h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
+golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
+golang.org/x/term v0.31.0/go.mod 
h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
-golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
-golang.org/x/text v0.23.0/go.mod 
h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
+golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
+golang.org/x/text v0.24.0/go.mod 
h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod 
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod 
h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.1.12/go.mod 
h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nfpm-2.43.0/internal/maps/maps.go 
new/nfpm-2.43.1/internal/maps/maps.go
--- old/nfpm-2.43.0/internal/maps/maps.go       2025-06-07 18:32:08.000000000 
+0200
+++ new/nfpm-2.43.1/internal/maps/maps.go       2025-08-29 10:21:40.000000000 
+0200
@@ -1,13 +1,12 @@
 package maps
 
 import (
-       "sort"
-
-       "golang.org/x/exp/maps"
+       "maps"
+       "slices"
 )
 
 func Keys[T any](m map[string]T) []string {
-       keys := maps.Keys(m)
-       sort.Strings(keys)
+       keys := slices.Collect(maps.Keys(m))
+       slices.Sort(keys)
        return keys
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nfpm-2.43.0/rpm/rpm_test.go 
new/nfpm-2.43.1/rpm/rpm_test.go
--- old/nfpm-2.43.0/rpm/rpm_test.go     2025-06-07 18:32:08.000000000 +0200
+++ new/nfpm-2.43.1/rpm/rpm_test.go     2025-08-29 10:21:40.000000000 +0200
@@ -153,6 +153,35 @@
        require.Equal(t, "Foo does things", description)
 }
 
+func TestIssue952(t *testing.T) {
+       info := exampleInfo()
+       info.MTime = time.Time{}
+
+       info.Contents = files.Contents{
+               &files.Content{
+                       Source:      "/file-that-does-not-exist",
+                       Destination: "/etc/link",
+                       Type:        files.TypeSymlink,
+               },
+       }
+
+       var buf bytes.Buffer
+       err := DefaultRPM.Package(info, &buf)
+       require.NoError(t, err)
+
+       rpm, err := rpmutils.ReadRpm(&buf)
+       require.NoError(t, err)
+
+       files, err := rpm.Header.GetFiles()
+       require.NoError(t, err)
+       require.Len(t, files, 1)
+       f := files[0]
+       require.Equal(t, cpio.S_ISLNK, f.Mode())
+       require.Equal(t, "/etc/link", f.Name())
+       require.Equal(t, "/file-that-does-not-exist", f.Linkname())
+       require.Positive(t, f.Mtime())
+}
+
 func TestSRPM(t *testing.T) {
        f, err := os.CreateTemp(t.TempDir(), "test.rpm")
        require.NoError(t, err)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nfpm-2.43.0/www/docs/cmd/nfpm_package.md 
new/nfpm-2.43.1/www/docs/cmd/nfpm_package.md
--- old/nfpm-2.43.0/www/docs/cmd/nfpm_package.md        2025-06-07 
18:32:08.000000000 +0200
+++ new/nfpm-2.43.1/www/docs/cmd/nfpm_package.md        2025-08-29 
10:21:40.000000000 +0200
@@ -11,7 +11,7 @@
 ```
   -f, --config string     config file to be used (default "nfpm.yaml")
   -h, --help              help for package
-  -p, --packager string   which packager implementation to use 
[apk|archlinux|deb|ipk|rpm]
+  -p, --packager string   which packager implementation to use 
[apk|archlinux|deb|ipk|rpm|srpm]
   -t, --target string     where to save the generated package (filename, 
folder or empty for current folder)
 ```
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nfpm-2.43.0/www/docs/goarch-to-pkg.md 
new/nfpm-2.43.1/www/docs/goarch-to-pkg.md
--- old/nfpm-2.43.0/www/docs/goarch-to-pkg.md   2025-06-07 18:32:08.000000000 
+0200
+++ new/nfpm-2.43.1/www/docs/goarch-to-pkg.md   2025-08-29 10:21:40.000000000 
+0200
@@ -19,7 +19,7 @@
 | GOARCH | Value |
 | :--: | :--: |
 | `386` | `i386` |
-| `amd64` | `x86_64` |
+| `amd64` | `amd64` |
 | `arm64` | `arm64` |
 | `arm5` | `armel` |
 | `arm6` | `armhf` |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nfpm-2.43.0/www/docs/static/latest 
new/nfpm-2.43.1/www/docs/static/latest
--- old/nfpm-2.43.0/www/docs/static/latest      2025-06-07 18:32:08.000000000 
+0200
+++ new/nfpm-2.43.1/www/docs/static/latest      2025-08-29 10:21:40.000000000 
+0200
@@ -1 +1 @@
-v2.42.1
+v2.43.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nfpm-2.43.0/www/docs/tips.md 
new/nfpm-2.43.1/www/docs/tips.md
--- old/nfpm-2.43.0/www/docs/tips.md    2025-06-07 18:32:08.000000000 +0200
+++ new/nfpm-2.43.1/www/docs/tips.md    2025-08-29 10:21:40.000000000 +0200
@@ -40,7 +40,7 @@
 if ! command -V systemctl >/dev/null 2>&1; then
   use_systemctl="False"
 else
-    systemd_version=$(systemctl --version | head -1 | sed 's/systemd //g')
+    systemd_version=$(systemctl --version | head -1 | grep -E -o "[0-9]+" | 
head -1)
 fi
 
 cleanup() {

++++++ nfpm.obsinfo ++++++
--- /var/tmp/diff_new_pack.qPBv9X/_old  2025-09-02 17:59:36.053723375 +0200
+++ /var/tmp/diff_new_pack.qPBv9X/_new  2025-09-02 17:59:36.057723543 +0200
@@ -1,5 +1,5 @@
 name: nfpm
-version: 2.43.0
-mtime: 1749313928
-commit: 2e47af64a3f33d32ec1395dbd56165c4feb2bc21
+version: 2.43.1
+mtime: 1756455700
+commit: 75a52a288bf13f31e4810212982c3095a5bf3115
 

++++++ vendor.tar.gz ++++++
++++ 7345 lines of diff (skipped)

Reply via email to