redis: fix the install prefix

redis 8.10.0 added "deploy: PREFIX ?= /usr/local" to the top level
Makefile. Assigning PREFIX there, even for an unrelated target, clears
the export flag it inherited from the environment, so recipe shells no
longer see it. As the install target recurses with "$(MAKE) -C src
install" from a recipe shell, the sub-make falls back to src/Makefile's
"PREFIX?=/usr/local" and installs outside ${D}:

  install: cannot create regular file '/usr/local/bin/redis-server': Permission denied
  make[1]: *** [Makefile:576: install] Error 1

Releases up to 8.8.1 had no PREFIX assignment there, so the exported
value propagated. Pass PREFIX on the make command line instead, which
is propagated to sub-makes.

AI-Generated: Uses Claude Code
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Ricardo Salveti
2026-08-26 01:43:12 -07:00
committed by Khem Raj
parent f9f7a9482a
commit 5a317e396d
@@ -65,8 +65,7 @@ do_compile() {
}
do_install() {
export PREFIX=${D}/${prefix}
oe_runmake install
oe_runmake install PREFIX=${D}${prefix}
install -d ${D}/${sysconfdir}/redis
install -m 0644 ${UNPACKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf
install -d ${D}/${sysconfdir}/init.d