That's a great solution! But it doesn't have to be the same length actually. A shorter path with padded 0x00s should also work fine. On Mon, Aug 7, 2017 at 3:16 AM, Chi-Hsuan Yen via aur-general < aur-general@archlinux.org> wrote:
On Mon, Aug 7, 2017 at 2:35 AM, Eli Schwartz <eschwartz@archlinux.org> wrote:
On 08/06/2017 08:21 AM, Chi-Hsuan Yen via aur-general wrote:
Hello Arch enthusiasts,
I'd like to create a package for Pulse Connect Secure, a popular VPN software. Current PKGBUILD can be found at [1]. That package works fine, but it conflicts with Arch's packaging guideline. [2]
"Packages should never be installed to /usr/local"
The reason I put files in /usr/local is that file paths are apparently hard-coded. Specifically, the VPN frontend (pulseUi) loads assets from /usr/local/pulse/html, and then it invokes /usr/local/pulse/pulsesvc to actually connects to VPN.
Is there a workaround for this?
Not much you can do with software which encodes violations of packaging guidelines in its proprietary binaries. Depending on where the information is stored, you might be able to patch it...
/usr/local/pulse *gags*
If software insists on being installed to "/completely/arbitrary/directory" then you either package it anyway or you don't. But I suppose you could try asking them to install it in /opt instead.
-- Eli Schwartz
Aha, didn't think of patching. That simple "fix" works! Many thanks! The key is that the path before and after should have the same length. [1]
Best,
Yen Chi Hsuan
[1] https://github.com/yan12125/aur/commit/0588f70772fae8bd84f87e56015bdc 87a6729d90#diff-62ac6814f4207a45189d3491ca4e38f3R28