summarylogtreecommitdiffstats
path: root/PKGBUILD.template
diff options
context:
space:
mode:
authorchrisjbillington2021-02-24 22:45:54 +1100
committerchrisjbillington2021-02-24 22:45:54 +1100
commit53293e15c8583fa8b93c4327d27288b3aa2ddb2d (patch)
tree1aa6fdb91ef23549dff0dc29659a382b013d3fe5 /PKGBUILD.template
parenteecea8d5e82e6f3aa4aafac8f23afd6c53febafc (diff)
downloadaur-53293e15c8583fa8b93c4327d27288b3aa2ddb2d.tar.gz
Automate syncing metadata with [core] packages
Diffstat (limited to 'PKGBUILD.template')
-rw-r--r--PKGBUILD.template99
1 files changed, 99 insertions, 0 deletions
diff --git a/PKGBUILD.template b/PKGBUILD.template
new file mode 100644
index 000000000000..34b5b2e3ebe4
--- /dev/null
+++ b/PKGBUILD.template
@@ -0,0 +1,99 @@
+# Maintainer: Chris Billington <chrisjbillington@gmail.com>
+_pkgname=linux
+_kernver=%KERNVER
+_archver=%ARCHVER
+_pkgrel=%PKGREL
+_pkgver="${_kernver}.${_archver}"
+pkgbase="${_pkgname}-versioned-bin"
+KERNNAME="${_kernver}-${_archver}-${_pkgrel}"
+_versioned_pkgname="linux${_pkgver}-${_pkgrel}"
+pkgname=("${_pkgname}-versioned-bin"
+ "${_pkgname}-versioned-headers-bin"
+ "${_pkgname}-versioned-docs-bin"
+ "${_versioned_pkgname}-bin"
+ "${_versioned_pkgname}-headers-bin"
+ "${_versioned_pkgname}-docs-bin")
+pkgver=${_pkgver}
+pkgrel=${_pkgrel}
+pkgdesc="%KERN_PKGDESC | repackaged with a unique package name for each version"
+url="%URL"
+arch=(x86_64)
+license=(GPL2)
+options=('!strip')
+
+_kernpkg=${_pkgname}-${_pkgver}-${_pkgrel}-${arch}.pkg.tar.zst
+_headerspkg=${_pkgname}-headers-${_pkgver}-${_pkgrel}-${arch}.pkg.tar.zst
+_docspkg=${_pkgname}-docs-${_pkgver}-${_pkgrel}-${arch}.pkg.tar.zst
+
+# See if the sources are available from our own mirror:
+_kernsrc=$(pacman -Sp "${_pkgname}" 2> /dev/null)
+_headerssrc=$(pacman -Sp "${_pkgname}-headers" 2> /dev/null)
+_docssrc=$(pacman -Sp "${_pkgname}-docs" 2> /dev/null)
+
+# If not, then use the Arch Linux archive:
+if [ "$(basename "${_kernsrc}" 2> /dev/null)" != "${_kernpkg}" ]; then
+ _arch_archive=https://archive.archlinux.org/packages/.all
+ _kernsrc=${_arch_archive}/${_kernpkg}
+ _headerssrc=${_arch_archive}/${_headerspkg}
+ _docssrc=${_arch_archive}/${_docspkg}
+fi
+
+source=("${_kernsrc}"
+ "${_headerssrc}"
+ "${_docssrc}")
+
+sha256sums=('0358dc97518d1e1dcb8aae3b0a3c9d0e43dd69708cd92ecef22e6e9dd3f9d1c8'
+ 'b6f662509ddcaa185f8eef31157cbb1e576efa6453e1a86c440bd3a21e1bc591'
+ '19802a951538749da4d5120ff89d1fc792e4bb8f465c1d3455d3803084e5f922')
+
+package_linux-versioned-bin() {
+ pkgdesc="Dummy package depending on ${_versioned_pkgname}-bin"
+ depends=("${_versioned_pkgname}-bin")
+ optdepends=('grub-hook: to run grub-mkconfig when kernels are added/removed')
+}
+
+package_linux-versioned-headers-bin() {
+ pkgdesc="Dummy package depending on ${_versioned_pkgname}-headers-bin"
+ depends=("${_versioned_pkgname}-headers-bin")
+}
+
+package_linux-versioned-docs-bin() {
+ pkgdesc="Dummy package depending on ${_versioned_pkgname}-docs-bin"
+ depends=("${_versioned_pkgname}-docs-bin")
+}
+
+package_linux%PKGVER-%PKGREL-bin() {
+ pkgdesc="%KERN_PKGDESC, version ${KERNNAME}"
+ %KERN_DEPENDS
+ %KERN_CONFLICTS
+ %KERN_OPTDEPENDS
+ %KERN_PROVIDES
+ %KERN_REPLACES
+ tar -xf "${_kernpkg}" -C "${pkgdir}"
+ rm "${pkgdir}"/{.MTREE,.BUILDINFO,.PKGINFO}
+ sed -ic "s/${_pkgname}/${KERNNAME}/" "${pkgdir}/usr/lib/modules/${KERNNAME}/pkgbase"
+}
+
+package_linux%PKGVER-%PKGREL-headers-bin() {
+ pkgdesc="%HEADERS_PKGDESC ${KERNNAME}"
+ %HEADERS_DEPENDS
+ %HEADERS_CONFLICTS
+ %HEADERS_OPTDEPENDS
+ %HEADERS_PROVIDES
+ %HEADERS_REPLACES
+ tar -xf "${_headerspkg}" -C "${pkgdir}"
+ rm "${pkgdir}"/{.MTREE,.BUILDINFO,.PKGINFO}
+ mv "${pkgdir}/usr/src/"{"${_pkgname}","${_versioned_pkgname}"}
+}
+
+package_linux%PKGVER-%PKGREL-docs-bin() {
+ pkgdesc="%DOCS_PKGDESC ${KERNNAME}"
+ %DOCS_DEPENDS
+ %DOCS_CONFLICTS
+ %DOCS_OPTDEPENDS
+ %DOCS_PROVIDES
+ %DOCS_REPLACES
+ tar -xf "${_docspkg}" -C "${pkgdir}"
+ rm "${pkgdir}"/{.MTREE,.BUILDINFO,.PKGINFO}
+ mv "${pkgdir}/usr/share/doc/"{"${_pkgname}","${_versioned_pkgname}"}
+}