[pacman-dev] Bug: using --program-prefix configure option breaks makepkg

wwijsman at live.nl wwijsman at live.nl
Mon May 4 21:12:44 UTC 2020

On Mon, 2020-05-04 at 10:54 -0400, Eli Schwartz wrote:
> On 5/4/20 10:39 AM, Wouter Wijsman wrote:
> > Hi Pacman team,
> > 
> > In the last couple of days I've been trying to build pacman for use
> > with a homebrew sdk for the Playstation portable. The idea is for
> > it
> > to allow sharing of libraries for the system. To make sure this
> > version of pacman doesn't collide with the system's, I use the
> > --program-prefix option for the configure script, which adds "psp-"
> > in front of all binary names.
> > 
> > Now when using the --program-prefix option, makepkg is no longer
> > able
> > to work. This because it has the name for the pacman executable
> > name
> > hardcoded it seems.
> I've never really experimented with --program-prefix, but I expect
> the
> general way to do this would be to add those executable names as
> replacements to build-aux/edit-script.sh.in (meson) and
> scripts/Makefile.am $(edit) (autotools). Is there e.g. a variable set
> in
> the configured Makefile which describes this prefix and can be used
> to
> define a replacement?
> Do you know of any examples of other autotools projects which invoke
> internal programs via shellscripts and have handled this before?
> I think for meson, this would need to be explicitly added as AFAIK
> meson
> doesn't have a comparable feature anyway.

Thanks for the info! I did manage to fix it for autotools in the way
gcc does it, for which I've submitted a patch now, but I think you're
right about Meson. I don't really know much about Meson, though. Are
you guys planning on keeping autotools supported or is Meson the

> > I compile with the following commands: ./configure --
> > prefix=${PSPDEV}
> > --with-buildscript=PSPBUILD --with-root-dir=${PSPDEV}/psp
> > --program-prefix="psp-" --disable-doc make make install
> > 
> > For this to work, I require the following patch:
> > https://github.com/sharkwouter/psptoolchain/blob/psp-pacman/patches/pacman-5.2.1.patch
> > 
> >  Is there a way to prevent me from needing this patch? Besides this
> > patch, the pacman 5.2.1 tarball build and works fine for my
> > purposes.
> > 
> > P.S. I did find another small annoyance. Which is that "make
> > install"
> > fails if the bash completion files are already installed.
> Is this because of:
>         for completion in makepkg pacman-key; do \
>             $(LN_S) pacman $(DESTDIR)/$(bashcompdir)/$$completion; \
>         done
> Because if so, you can probably get it to work by defining LN_S to
> add
> the -f flag.

It seems this can be set in libtool.m4, but that's generated/added by
autoreconf it seems, so I don't know if that would work. I'll probably
add a workaround to my build script :/

More information about the pacman-dev mailing list