You are not logged in.

#1 2015-06-26 02:22:21

jamespharvey20
Member
Registered: 2015-06-09
Posts: 129

Posting a core application to AUR (or using locally via makepkg)

Arch packaging standards states submitted PKGBUILDs must not build applications in the official repositories, unless the submitted package has extra features enabled or patches; and in such occasion, the pkgname array should be different.

I have several packages I'd like to upload to AUR following this rule.  First, a fork of systemd 221-1 with a fix for possible data loss.  After that, potentially gcc, gdb, glibc "-git" versions.

Regarding systemd, under certain circumstances during shutdown, systemd will send a SIGKILL immediately after SIGTERM.  This can cause data loss.  The most frequent issue reported is bash being unable to write .bash_history, but other applications have been affected as well.

Debian, and Ubuntu have reverted the upstream commit fixing this issue.  RedHat/Fedora appears to be in the works of doing the same.

Upstream seems unwilling to do so, because the revert slows down shutdown, and has the risk of a 90 second timeout delay on shutdown.

Wanted to make this revert available to everyone who thinks (granted, likely minor) data loss is more severe than a slower shutdown.

Starting from core's systemd 221-1 git repo, I added the necessary git revert to prepare().  (I also had to remove splash-arch.bmp because it is 378k, larged than AUR4 git's maximum file size of 250k.)

How do I upload to AUR using a different pkgbase or pkgname, while having pacman recognize the new package as a replacement to the official package?  core's systemd PKGBUILD includes:

pkgbase=systemd
pkgname=('systemd' 'libsystemd' 'systemd-sysvcompat')
pkgver=221
pkgrel=1

For my local system to use via makepkg, I changed it to "pkgrel=1.1".  Which, allowed pacman to use the resulting .pkg.tar.xz as a replacement to the official one in core.

For AUR, do I need to go with:

pkgbase=systemd-kill-fix
pkgname=('systemd-kill-fix' 'libsystemd-kill-fix' 'systemd-sysvcompat-killfix')

Won't that cause pacman to install systemd-kill-fix in parallel with systemd, doing who knows what?

This same line of questioning applies to other AUR packages I may upload, that are "-git" versions and have other packages that require it.

Offline

#2 2015-06-26 02:31:36

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,517
Website

Re: Posting a core application to AUR (or using locally via makepkg)

jamespharvey20 wrote:

How do I upload to AUR using a different pkgbase or pkgname, while having pacman recognize the new package as a replacement to the official package?

https://wiki.archlinux.org/index.php/PKGBUILD#provides
https://wiki.archlinux.org/index.php/PKGBUILD#conflicts
https://wiki.archlinux.org/index.php/PKGBUILD#replaces

Don't take this the wrong way - but if these options are news to you, perhaps you aren't at a stage to be taking on this task yet.  Also, gcc-git and glibc-git are already in the AUR.

Please search before posting.


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

Board footer

Powered by FluxBB