How do I get the actual source/PKGBUILD for a package?

I know on Arch we can use pkgctl then makepkg -do to get the source of a package.

Yay can also be used to retrieve PKGBUILD from both ABS and AUR: yay --getpkgbuild

But I’m struggling getting the actual source code or PKGBUILD for a specific package that seems to only exists in Manjaro’s repositories: cinnamon-session 6.2.0-1.0

Recently, cinnamon-session 6.2.0-1 introduced a bug where rebooting only logs out.

According to some people on this thread, version 6.2.0-1.0 should fix it, but it didn’t fix it for me.

When I ask yay for the PKGBUILD, I get the Arch’s version (6.2.0-1) which contains no fix and pulls directly from linuxmint’s github.

This 6.2.0-1.0 (with a dot zero) seems to be different. I’d like to see how it’s made, what kind of fix it contains. And more generally, be able to get the actual build/source of the packages on my system.

That would be Packages · GitLab then use the search function - but even so, it seems the PKGBUILD is no longer in use

So judgning from the information provided …

 $ pamac info cinnamon-session
Name                  : cinnamon-session
Version               : 6.2.0-1.0
Description           : The Cinnamon Session Handler
URL                   : https://github.com/linuxmint/cinnamon-session
Licenses              : GPL LGPL
Repository            : extra
Installed Size        : 354,2 kB
Groups                : --
Depends On            : cinnamon-desktop libsm libcanberra xapps
Optional Dependencies : cinnamon-translations: i18n
Provides              : --
Replaces              : --
Conflicts With        : --
Packager              : Mark Wagie <mark@manjaro.org>
Build Date            : man 01 jul 2024 17:54:07 CEST
Validated By          : MD5 Sum  SHA-256 Sum  Signature

pinging @Yochanan

So that package is either built with a custom pkgbuild that is not published, or the package is simply the same as the Arch version?

Mark Wagie probably knows but I don’t want to bother him.

The PKGBUILD is the same as Arch’s except I applied PR 172. It’s just a temporary overlay and will be removed in favor of Arch’s next update to the package.

diff --git a/PKGBUILD b/PKGBUILD
index 71c4f96..ca54f37 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
 
 pkgname=cinnamon-session
 pkgver=6.2.0
-pkgrel=1
+pkgrel=1.0
 pkgdesc="The Cinnamon Session Handler"
 arch=('x86_64')
 url="https://github.com/linuxmint/${pkgname}"
@@ -12,9 +12,19 @@ license=('GPL' 'LGPL')
 depends=('cinnamon-desktop' 'libsm' 'libcanberra' 'xapps')
 optdepends=('cinnamon-translations: i18n')
 makedepends=('meson' 'samurai' 'xtrans' 'glib2-devel')
-source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz")
-sha256sums=('fd12d27652658f95644cf7a93adcbd6a985f3a6bc47c68660eed563b8ab34693')
-b2sums=('a856724a1a189aae5b9b6cd2bb4997bf8c4b9e39e084ce90c17463eece9e8615444e5e103d597e029cd0c0df15546474fd2ca787ddd7aadc6aa51856d67c1412')
+source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz"
+        'https://github.com/linuxmint/cinnamon-session/pull/172.patch')
+sha256sums=('fd12d27652658f95644cf7a93adcbd6a985f3a6bc47c68660eed563b8ab34693'
+            '657cc2f13fde9b789ca8cfa07872304d865f943a5b9871846255f60fd4e042a6')
+b2sums=('a856724a1a189aae5b9b6cd2bb4997bf8c4b9e39e084ce90c17463eece9e8615444e5e103d597e029cd0c0df15546474fd2ca787ddd7aadc6aa51856d67c1412'
+        '6e5c5de4bb0fd26c11489a28e6f9b817f7b9dd68dfd35e78397fbd3b5d536b36f9cfb7d9c5cad00ebaa749d4ea3d4d15f6b4e09c1d76322f280927557b0fd01a')
+
+prepare() {
+  cd ${pkgname}-${pkgver}
+
+  # https://github.com/linuxmint/cinnamon-session/issues/173
+  patch -Np1 -i ../172.patch
+}
 
 build() {
     mkdir -p ${pkgname}-${pkgver}/build
1 Like

Ah ok. Thanks a lot for the information and the update.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.