Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove the gconf dependency on Arch Linux #23909

Merged
merged 2 commits into from
Apr 27, 2020

Conversation

oconnor663
Copy link
Contributor

This was suggested in https://aur.archlinux.org/packages/keybase-bin/#comment-723637.
I just tested it on my machine, and the Keybase client starts successfully without gconf.


f6bd8dc updates some stale metadata in the .SRCINFO file.
In the usual Arch Linux workflow, this is a generated file. However,
generating it requires the makepkg tool, which is difficult to run on
anything other than Arch Linux. To avoid that dependency, we've checked
in this generated file as another template. However, as a predictable
consequence, it's gotten out of sync with the PKGBUILD file it's
supposedly generated from. These changes bring it back into sync.

One alternative to this whole setup, would be to just run a Docker image
for Arch Linux, and to legitimately generate this file. If that would be
convenient in the current build environment, it's worth considering.

In the usual Arch Linux workflow, this is a generated file. However,
generating it requires the `makepkg` tool, which is difficult to run on
anything other than Arch Linux. To avoid that dependency, we've checked
in this generated file as another template. However, as a predictable
consequence, it's gotten out of sync with the PKGBUILD file it's
supposedly generated from. These changes bring it back into sync.

One alternative to this whole setup, would be to just run a Docker image
for Arch Linux, and to legitimately generate this file. If that would be
convenient in the current build environment, it's worth considering.
@eli-schwartz
Copy link
Contributor

What distros do you currently use in the release toolchain?

@eli-schwartz
Copy link
Contributor

eli-schwartz commented Apr 22, 2020

gconf was removed from electron here: electron/electron#19498

$ cd packaging/linux/; git grep gconf
arch/DOT_SRCINFO.bin.in:        depends = gconf
arch/PKGBUILD.bin.in:depends=(fuse gconf libxss gtk2 lsof) # don't change this without changing the SRCINFO template too
deb/package_binaries.sh:  dependencies="Depends: libappindicator1, fuse, libgconf-2-4, psmisc, lsof, procps, libasound2, libnss3, libxss1, libxtst6, libgtk-3-0"
test/keybase-arch-test/Dockerfile:RUN pacman -S --noconfirm git binutils fuse gconf libxss gtk2 fakeroot lsof
test/keybase-ubuntu-systemd-test/Dockerfile:RUN apt-get install -y libappindicator1 fuse libgconf-2-4 psmisc procps lsof
test/keybase-ubuntu-test/Dockerfile:RUN apt-get install -y libappindicator1 fuse libgconf-2-4 psmisc procps lsof

All these should be removed. It's not specific to Arch Linux.

@oconnor663
Copy link
Contributor Author

[It's been a while since I worked at Keybase, so I'll let someone who's up to speed on the build pipeline chime in.]

@Hattshire
Copy link

@oconnor663 I think you should also edit

RUN pacman -S --noconfirm git binutils fuse gconf libxss gtk2 fakeroot lsof

It would be great if you could make the modifications and run the tests for the ubuntu images (no ubuntu installation needed, instructions here)

@heronhaye heronhaye merged commit 807c299 into keybase:master Apr 27, 2020
@heronhaye
Copy link
Contributor

Thanks!

@oconnor663
Copy link
Contributor Author

I'll defer to folks who use the other distros to make those changes. I'm not very confident that I'd test things properly.

@oconnor663
Copy link
Contributor Author

I've updated the keybase-git AUR package with the same change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants