Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Apr 2019 15:58:48 +0200
From:      Matthias Fechner <idefix@fechner.net>
To:        ports@freebsd.org
Subject:   How to use @preexec to test for installed packages
Message-ID:  <16553fab-03af-9942-93e2-7ebb116487a9@fechner.net>

next in thread | raw e-mail | index | archive | help
Dear all,

as pkg cannot handle CONFLICTS_INSTALL I tried now to implement this as
a preinstall command using @preexec in pkg-plist.

The command should check if a package is installed and stop the
installation or continue if the package is not installed.

I tried it with the following command:
@preexec `/usr/sbin/pkg -N info -e gogs`; if [ $? -eq 0 ]; then echo
"Gitlab cannot be installed together with gogs as both of them modify
.ssh/authorized_keys" && exit 1; else echo "Gogs not installed,
continue."; fi

But it does not work.
Now matter if gogs is installed or not.
If I execute the same line in a shell script, it works fine.

Anyone an idea?


Gruß
Matthias

-- 

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the universe trying to
produce bigger and better idiots. So far, the universe is winning." --
Rich Cook




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16553fab-03af-9942-93e2-7ebb116487a9>