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

Eli Schwartz eschwartz at archlinux.org
Mon May 4 14:54:50 UTC 2020

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.

> 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; \

Because if so, you can probably get it to work by defining LN_S to add
the -f flag.

Eli Schwartz
Bug Wrangler and Trusted User

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1601 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/pacman-dev/attachments/20200504/06f09c0f/attachment.sig>

More information about the pacman-dev mailing list