[aur-general] Package proprietary softwares with hard-coded paths within /usr/local?
yan12125 at gmail.com
Tue Aug 8 14:38:57 UTC 2017
On Tue, Aug 8, 2017 at 11:13 AM, KY Chou <forendef2846 at gmail.com> wrote:
> 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 at archlinux.org> wrote:
>> On Mon, Aug 7, 2017 at 2:35 AM, Eli Schwartz <eschwartz at archlinux.org>
>> > 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 . That package works
>> >> fine, but it conflicts with Arch's packaging guideline. 
>> >> "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.
>> Yen Chi Hsuan
Tailing null bytes sounds absolutely interesting. But I get no luck
for this package. There's a line in the offensive binary:
(\x0 indicates a null byte)
I tried several combinations:
Some doesn't run, and others uses a wrong path:
(pulseUi:1501): Gtk-WARNING **: Error loading icon from file '/opt/pulse/':
Image file '/opt/pulse/' contains no data
(pulseUi:9589): Gtk-WARNING **: Error loading icon from file
Failed to open file
'/opt/pulse//html//html/images/Pulse-Secure128x128.png': No such file
I think sticking to same-size patching is simpler :)
Yen Chi Hsuan
More information about the aur-general