You are not logged in.
Hello,
I'm attempting to modify xorg-server with a patch adding systemd's sd_notify function call after the server is initalized.I have it installed and working locally but I'm unsuccessful at publishing it to the AUR.
I rebased the commit adding the .SRCINFO so it was the first commit in the package following the instructions at AUR_submission_guidelines
Note: If .SRCINFO was not included in your first commit, add it by rebasing with --root or filtering the tree so the AUR will permit your initial push.
On branch master
Your branch and 'origin/packages/packages/xorg-server' have diverged,
and have 819 and 817 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
remote: Resolving deltas: 100% (746/746), done.
remote: error: The following error occurred when parsing commit
remote: error: a02d4d1c9954f4c121faebea3d3a449145ef0bbb:
remote: error: missing .SRCINFO
remote: error: hook declined to update refs/heads/master
To ssh://aur.archlinux.org/xorg-server-sd_notify.git
! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'ssh://aur.archlinux.org/xorg-server-sd_notify.git'
Why is this hook failing? Could someone review my PKGBUILD?
PKGBUILD:
# Maintainer: Brennan Tracy <brennantracy4 at gmail dot com>
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=xorg-server
pkgname=('xorg-server-sd_notify' 'xorg-server-xephyr-sd_notify' 'xorg-server-xvfb-sd_notify' 'xorg-server-xnest-sd_notify'
'xorg-server-xwayland-sd_notify' 'xorg-server-common-sd_notify' 'xorg-server-devel-sd_notify')
pkgver=1.20.8
pkgrel=3
pkgdesc="xorg-server modified to call sd_notify on successful initialization"
arch=('x86_64')
license=('custom')
groups=('xorg')
url="https://xorg.freedesktop.org"
makedepends=('xorgproto' 'pixman' 'libx11' 'mesa' 'mesa-libgl' 'xtrans'
'libxkbfile' 'libxfont2' 'libpciaccess' 'libxv'
'libxmu' 'libxrender' 'libxi' 'libxaw' 'libxtst' 'libxres'
'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'libepoxy'
'xcb-util' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms'
'libxshmfence' 'libunwind' 'systemd' 'wayland-protocols' 'egl-wayland' 'meson' 'libsystemd') # 'git')
source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig}
xserver-autobind-hotplug.patch
0001-v2-FS-58644.patch
0002-fix-libshadow-2.patch
0001-fix-for-ZDI-11426.patch
enable-systemd-service.patch
xvfb-run # with updates from FC master
xvfb-run.1)
validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
'C383B778255613DFDB409D91DB221A6900000011'
'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3'
'995ED5C8A6138EB0961F18474C09DD83CAAA50B2'
'3BB639E56F861FA2E86505690FDD682D974CA72A')
sha512sums=('ab0ec0fcbf490c61558b9297f61b58fd2dedb676c78bef6431dc9166054743b43a0091b88a8b3f4e81d1f539909440ee7e188a298cefabe13ea89159639cd805'
'SKIP'
'd84f4d63a502b7af76ea49944d1b21e2030dfd250ac1e82878935cf631973310ac9ba1f0dfedf10980ec6c7431d61b7daa4b7bbaae9ee477b2c19812c1661a22'
'74e1aa0c101e42f0f25349d305641873b3a79ab3b9bb2d4ed68ba8e392b4db2701fcbc35826531ee2667d3ee55673e4b4fecc2a9f088141af29ceb400f72f363'
'3d3be34ad9fa976daec53573d3a30a9f1953341ba5ee27099af0141f0ef7994fa5cf84dc08aae848380e6abfc10879f9a67f07601c7a437abf8aef13a3ec9fe1'
'153ff7eed7fda7c6e28f28e514180fb0397ee984e709af95b8a9dcf6b2862191627cf725aae33d4b03f4aab2a988c2d4fa2e77e5c6a874b656c962b27cb5240b'
'67ff84f4d63ba2c86dbf1503f0ade990802bffd6485c5dcbf554939cc9872ca83dbaf135bcde279e261f2303eb3cc92d3be0b123864ecff00d1850afad578ffe'
'73c8ead9fba6815dabfec0a55b3a53f01169f6f2d14ac4a431e53b2d96028672dbd6b50a3314568847b37b1e54ea4fc02bdf677feabb3b2697af55e2e5331810'
'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22')
prepare() {
cd "${pkgbase}-${pkgver}"
# patch from Fedora, not yet merged
patch -Np1 -i ../xserver-autobind-hotplug.patch
# Fix rootless xorg - FS#58644
# https://bugs.freedesktop.org/show_bug.cgi?id=106588
patch -Np1 -i ../0001-v2-FS-58644.patch
# Fix libshadow.so: libfb.so => not found - merge in master
patch -Np1 -i ../0002-fix-libshadow-2.patch
# fix CVE-2020-14347
patch -Np1 -i ../0001-fix-for-ZDI-11426.patch
# Add systemd service support
patch -Np1 -i ../enable-systemd-service.patch
}
build() {
# Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
# With them, module fail to load with undefined symbol.
# See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
export CFLAGS=${CFLAGS/-fno-plt}
export CXXFLAGS=${CXXFLAGS/-fno-plt}
export LDFLAGS=${LDFLAGS/,-z,now}
arch-meson ${pkgbase}-$pkgver build \
-D os_vendor="Arch Linux" \
-D ipv6=true \
-D xvfb=true \
-D xnest=true \
-D xcsecurity=true \
-D xorg=true \
-D xephyr=true \
-D xwayland=true \
-D xwayland_eglstream=true \
-D glamor=true \
-D udev=true \
-D systemd_logind=true \
-D suid_wrapper=true \
-D xkb_dir=/usr/share/X11/xkb \
-D xkb_output_dir=/var/lib/xkb
# Print config
meson configure build
ninja -C build
# fake installation to be seperated into packages
DESTDIR="${srcdir}/fakeinstall" ninja -C build install
}
_install() {
local src f dir
for src; do
f="${src#fakeinstall/}"
dir="${pkgdir}/${f%/*}"
install -m755 -d "${dir}"
mv -v "${src}" "${dir}/"
done
}
package_xorg-server-common-sd_notify() {
pkgdesc="Xorg server common files"
depends=(xkeyboard-config xorg-xkbcomp xorg-setxkbmap)
_install fakeinstall/usr/lib/xorg/protocol.txt
_install fakeinstall/usr/share/man/man1/Xserver.1
install -m644 -Dt "${pkgdir}/var/lib/xkb/" "${pkgbase}-${pkgver}"/xkb/README.compiled
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-sd_notify() {
pkgdesc="Xorg X server"
depends=(libepoxy libxfont2 pixman xorg-server-common libunwind
dbus libgl xf86-input-libinput nettle
libpciaccess libdrm libxshmfence libsystemd) # FS#52949
# see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on
# and /usr/lib/pkgconfig/xorg-server.pc in xorg-server-devel pkg
provides=('X-ABI-VIDEODRV_VERSION=24.0' 'X-ABI-XINPUT_VERSION=24.1' 'X-ABI-EXTENSION_VERSION=10.0' 'x-server'
'xorg-server' 'xorg-server-xephyr' 'xorg-server-xvfb' 'xorg-server-xnest'
'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel')
conflicts=('nvidia-utils<=331.20' 'glamor-egl' 'xf86-video-modesetting'
'xorg-server' 'xorg-server-xephyr' 'xorg-server-xvfb' 'xorg-server-xnest'
'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel')
replaces=('glamor-egl' 'xf86-video-modesetting')
_install fakeinstall/usr/bin/{Xorg,cvt,gtf}
ln -s /usr/bin/Xorg "${pkgdir}/usr/bin/X"
_install fakeinstall/usr/lib/Xorg{,.wrap}
_install fakeinstall/usr/lib/xorg/modules/*
_install fakeinstall/usr/share/X11/xorg.conf.d/10-quirks.conf
_install fakeinstall/usr/share/man/man1/{Xorg,Xorg.wrap,cvt,gtf}.1
_install fakeinstall/usr/share/man/man4/{exa,fbdevhw,modesetting}.4
_install fakeinstall/usr/share/man/man5/{Xwrapper.config,xorg.conf,xorg.conf.d}.5
# distro specific files must be installed in /usr/share/X11/xorg.conf.d
install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-xephyr-sd_notify() {
pkgdesc="A nested X server that runs as an X application"
depends=(libxfont2 libgl libepoxy libunwind systemd-libs libxv pixman xorg-server-common
xcb-util-image xcb-util-renderutil xcb-util-wm xcb-util-keysyms
nettle libtirpc)
_install fakeinstall/usr/bin/Xephyr
_install fakeinstall/usr/share/man/man1/Xephyr.1
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-xvfb-sd_notify() {
pkgdesc="Virtual framebuffer X server"
depends=(libxfont2 libunwind pixman xorg-server-common xorg-xauth
libgl nettle libtirpc)
_install fakeinstall/usr/bin/Xvfb
_install fakeinstall/usr/share/man/man1/Xvfb.1
install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/" # outda
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-xnest-sd_notify() {
pkgdesc="A nested X server that runs as an X application"
depends=(libxfont2 libxext pixman xorg-server-common nettle libtirpc)
_install fakeinstall/usr/bin/Xnest
_install fakeinstall/usr/share/man/man1/Xnest.1
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-xwayland-sd_notify() {
pkgdesc="run X clients under wayland"
depends=(libxfont2 libepoxy libunwind systemd-libs libgl pixman xorg-server-common
nettle libtirpc)
_install fakeinstall/usr/bin/Xwayland
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-devel-sd_notify() {
pkgdesc="Development files for the X.Org X server"
depends=('xorgproto' 'mesa' 'libpciaccess'
# not technically required but almost every Xorg pkg needs it to build
'xorg-util-macros')
_install fakeinstall/usr/include/xorg/*
_install fakeinstall/usr/lib/pkgconfig/xorg-server.pc
_install fakeinstall/usr/share/aclocal/xorg-server.m4
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
# make sure there are no files left to install
find fakeinstall -depth -print0 | xargs -0 rmdir
}
.SRCINFO
pkgbase = xorg-server
pkgdesc = xorg-server modified to call sd_notify on successful initialization
pkgver = 1.20.8
pkgrel = 3
url = https://xorg.freedesktop.org
arch = x86_64
groups = xorg
license = custom
makedepends = xorgproto
makedepends = pixman
makedepends = libx11
makedepends = mesa
makedepends = mesa-libgl
makedepends = xtrans
makedepends = libxkbfile
makedepends = libxfont2
makedepends = libpciaccess
makedepends = libxv
makedepends = libxmu
makedepends = libxrender
makedepends = libxi
makedepends = libxaw
makedepends = libxtst
makedepends = libxres
makedepends = xorg-xkbcomp
makedepends = xorg-util-macros
makedepends = xorg-font-util
makedepends = libepoxy
makedepends = xcb-util
makedepends = xcb-util-image
makedepends = xcb-util-renderutil
makedepends = xcb-util-wm
makedepends = xcb-util-keysyms
makedepends = libxshmfence
makedepends = libunwind
makedepends = systemd
makedepends = wayland-protocols
makedepends = egl-wayland
makedepends = meson
makedepends = libsystemd
source = https://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.20.8.tar.bz2
source = https://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.20.8.tar.bz2.sig
source = xserver-autobind-hotplug.patch
source = 0001-v2-FS-58644.patch
source = 0002-fix-libshadow-2.patch
source = 0001-fix-for-ZDI-11426.patch
source = enable-systemd-service.patch
source = xvfb-run
source = xvfb-run.1
validpgpkeys = 7B27A3F1A6E18CD9588B4AE8310180050905E40C
validpgpkeys = C383B778255613DFDB409D91DB221A6900000011
validpgpkeys = DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3
validpgpkeys = 995ED5C8A6138EB0961F18474C09DD83CAAA50B2
validpgpkeys = 3BB639E56F861FA2E86505690FDD682D974CA72A
sha512sums = ab0ec0fcbf490c61558b9297f61b58fd2dedb676c78bef6431dc9166054743b43a0091b88a8b3f4e81d1f539909440ee7e188a298cefabe13ea89159639cd805
sha512sums = SKIP
sha512sums = d84f4d63a502b7af76ea49944d1b21e2030dfd250ac1e82878935cf631973310ac9ba1f0dfedf10980ec6c7431d61b7daa4b7bbaae9ee477b2c19812c1661a22
sha512sums = 74e1aa0c101e42f0f25349d305641873b3a79ab3b9bb2d4ed68ba8e392b4db2701fcbc35826531ee2667d3ee55673e4b4fecc2a9f088141af29ceb400f72f363
sha512sums = 3d3be34ad9fa976daec53573d3a30a9f1953341ba5ee27099af0141f0ef7994fa5cf84dc08aae848380e6abfc10879f9a67f07601c7a437abf8aef13a3ec9fe1
sha512sums = 153ff7eed7fda7c6e28f28e514180fb0397ee984e709af95b8a9dcf6b2862191627cf725aae33d4b03f4aab2a988c2d4fa2e77e5c6a874b656c962b27cb5240b
sha512sums = 67ff84f4d63ba2c86dbf1503f0ade990802bffd6485c5dcbf554939cc9872ca83dbaf135bcde279e261f2303eb3cc92d3be0b123864ecff00d1850afad578ffe
sha512sums = 73c8ead9fba6815dabfec0a55b3a53f01169f6f2d14ac4a431e53b2d96028672dbd6b50a3314568847b37b1e54ea4fc02bdf677feabb3b2697af55e2e5331810
sha512sums = de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22
pkgname = xorg-server-sd_notify
pkgdesc = Xorg X server
depends = libepoxy
depends = libxfont2
depends = pixman
depends = xorg-server-common
depends = libunwind
depends = dbus
depends = libgl
depends = xf86-input-libinput
depends = nettle
depends = libpciaccess
depends = libdrm
depends = libxshmfence
depends = libsystemd
provides = X-ABI-VIDEODRV_VERSION=24.0
provides = X-ABI-XINPUT_VERSION=24.1
provides = X-ABI-EXTENSION_VERSION=10.0
provides = x-server
provides = xorg-server
provides = xorg-server-xephyr
provides = xorg-server-xvfb
provides = xorg-server-xnest
provides = xorg-server-xwayland
provides = xorg-server-common
provides = xorg-server-devel
conflicts = nvidia-utils<=331.20
conflicts = glamor-egl
conflicts = xf86-video-modesetting
conflicts = xorg-server
conflicts = xorg-server-xephyr
conflicts = xorg-server-xvfb
conflicts = xorg-server-xnest
conflicts = xorg-server-xwayland
conflicts = xorg-server-common
conflicts = xorg-server-devel
replaces = glamor-egl
replaces = xf86-video-modesetting
pkgname = xorg-server-xephyr-sd_notify
pkgdesc = A nested X server that runs as an X application
depends = libxfont2
depends = libgl
depends = libepoxy
depends = libunwind
depends = systemd-libs
depends = libxv
depends = pixman
depends = xorg-server-common
depends = xcb-util-image
depends = xcb-util-renderutil
depends = xcb-util-wm
depends = xcb-util-keysyms
depends = nettle
depends = libtirpc
pkgname = xorg-server-xvfb-sd_notify
pkgdesc = Virtual framebuffer X server
depends = libxfont2
depends = libunwind
depends = pixman
depends = xorg-server-common
depends = xorg-xauth
depends = libgl
depends = nettle
depends = libtirpc
pkgname = xorg-server-xnest-sd_notify
pkgdesc = A nested X server that runs as an X application
depends = libxfont2
depends = libxext
depends = pixman
depends = xorg-server-common
depends = nettle
depends = libtirpc
pkgname = xorg-server-xwayland-sd_notify
pkgdesc = run X clients under wayland
depends = libxfont2
depends = libepoxy
depends = libunwind
depends = systemd-libs
depends = libgl
depends = pixman
depends = xorg-server-common
depends = nettle
depends = libtirpc
pkgname = xorg-server-common-sd_notify
pkgdesc = Xorg server common files
depends = xkeyboard-config
depends = xorg-xkbcomp
depends = xorg-setxkbmap
pkgname = xorg-server-devel-sd_notify
pkgdesc = Development files for the X.Org X server
depends = xorgproto
depends = mesa
depends = libpciaccess
depends = xorg-util-macros
Offline
The submitted PKGBUILDs must not build applications already in any of the official binary repositories under any circumstances. Check the official package database for the package. If any version of it exists, do not submit the package. If the official package is out-of-date, flag it as such. If the official package is broken or is lacking a feature, then please file a bug report.
Exception to this strict rule may only be packages having extra features enabled and/or patches in comparison to the official ones. In such an occasion the pkgname should be different to express that difference.
Offline
AUR Submission Guidelines wrote:Exception to this strict rule may only be packages having extra features enabled and/or patches in comparison to the official ones. In such an occasion the pkgname should be different to express that difference.
Accidentally edited this post
Last edited by HBBrennan (2020-08-05 07:34:19)
Offline
The pkgbase exists in the official repos...
Offline
AUR Submission Guidelines wrote:Exception to this strict rule may only be packages having extra features enabled and/or patches in comparison to the official ones. In such an occasion the pkgname should be different to express that difference.
Last edited by HBBrennan (2020-08-05 07:33:54)
Offline
man PKGBUILD
Offline
man PKGBUILD
I have read this yes. Is there something specific here you are referencing?
Offline
how many times do you need In such an occasion the pkgname should be different to express that difference be highlighted? you even quoted it twice!
Last edited by a821 (2020-08-05 09:27:31)
Offline
The pkgname's are different.
Offline
pkgbase=xorg-server ??
Offline
Did you rebase *all* commits? It appears you're trying to push the entire history of the official xorg-server package, not just yours.
Offline
pkgbase=xorg-server ??
pkgbase is a different word from pkgname
Did you rebase *all* commits? It appears you're trying to push the entire history of the official xorg-server package, not just yours.
What does rebasing *all* commits mean to you? I ran
git rebase -i --root
, changed the commit that added .SRCINFO to be the first commit, and kept my other changes as the final commit. I can't find any documentation suggesting I should squash *all* commits.
Offline
Every single commit has to have .SRCINFO.
Offline
Every commit does have a .SRCINFO if it was added as the first commit. Do you mean needs to have a correct .SRCINFO for the PKGBUILD at that commit?
Offline
a821 wrote:pkgbase=xorg-server ??
pkgbase is a different word from pkgname
Stop trying to rules lawyer. Both pkgbase and pkgname need to be renamed.
Scimmia wrote:Did you rebase *all* commits? It appears you're trying to push the entire history of the official xorg-server package, not just yours.
What does rebasing *all* commits mean to you? I ran
git rebase -i --root
, changed the commit that added .SRCINFO to be the first commit, and kept my other changes as the final commit. I can't find any documentation suggesting I should squash *all* commits.
Don't upload a thousand rebased commits from origin/packages/packages/xorg-server. The only reason this isn't a violation of the rules of submission is because no one imagined anyone would be silly enough to do it. We will NOT help you figure out how to CHEAT and circumvent the errors it causes.
Start a new PKGBUILD in a new git repo, with a new pkgbase AND a new pkgname. Add a PKGBUILD and a .SRCINFO, "git commit" it, move on from there. Just like every other package.
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Every commit does have a .SRCINFO if it was added as the first commit. Do you mean needs to have a correct .SRCINFO for the PKGBUILD at that commit?
The error says otherwise. It even gives you a specific commit that doesn't have it.
Offline
Stop trying to rules lawyer. Both pkgbase and pkgname need to be renamed.
I'm trying to follow the documentation, understand what is going on, and contribute a working AUR package. I RFTM and I'm being gaslighted on what it says.
Don't upload a thousand rebased commits from origin/packages/packages/xorg-server. The only reason this isn't a violation of the rules of submission is because no one imagined anyone would be silly enough to do it. We will NOT help you figure out how to CHEAT and circumvent the errors it causes.
Start a new PKGBUILD in a new git repo, with a new pkgbase AND a new pkgname. Add a PKGBUILD and a .SRCINFO, "git commit" it, move on from there. Just like every other package.
I don't understand why is this silly, requires cheating, and error circumvention. It makes the most sense to rebase my patch on top of the current source tree. I have no interest in attributing the commit history to myself. I have no problem with doing what every other package does.
Offline
HBBrennan wrote:Every commit does have a .SRCINFO if it was added as the first commit. Do you mean needs to have a correct .SRCINFO for the PKGBUILD at that commit?
The error says otherwise. It even gives you a specific commit that doesn't have it.
Exactly. That's why I opened this forum topic.
Offline
I believe the pkgbase not matching the name xorg-server-sd_notify would be rejected by [1] but you do not reach that far as it already rejected by [2].
The guidelines may not mention PKGBASE or committing the history of the package in the repository but a trusted uploader has explained to you it is against the intent of the guidelines.
[1] https://gitlab.archlinux.org/archlinux/ … te.py#L308
[2] https://gitlab.archlinux.org/archlinux/ … te.py#L277
Offline
Scimmia wrote:HBBrennan wrote:Every commit does have a .SRCINFO if it was added as the first commit. Do you mean needs to have a correct .SRCINFO for the PKGBUILD at that commit?
The error says otherwise. It even gives you a specific commit that doesn't have it.
Exactly. That's why I opened this forum topic.
And did you check that commit?
Offline