Compare commits

..
Author SHA1 Message Date
fe2ae06367
make: Fix CONFIG_SUBDIR
Some checks failed
CI / Packaging - Kali Linux (pull_request) Successful in 4m20s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Failing after 2m12s
CI / Packaging test (pull_request) Failing after 0s
The existence of CONFIG_SUBDIR hijacks INSTALL_CFGDIR to a subdirectory (by
default /etc/opt/<package>/$(CONFIG_SUBDIR)). Then std_install_rules apply,
and (the bent) INSTALL_CFGDIR is installed, but its parent directory, the
original $(INSTALL_CFGDIR), is not a prerequisite of install anylonger, and
has no rule anymore, hence log-install is never run for it. Instead it's
implicitly created by log-install -D $(INSTALL_CFGDIR).

This commit gives /etc/opt/<package> std-install rule and variables back as
CFGTOPDIR variants, and inserts it early into the install target's
prerequisite list.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-09-07 06:27:28 +02:00
60ddc971d2
make: Support INSTALL_PREFIXDIR
During "make install", the packaging machinery should run "$(LOG_INSTALL)
-D /opt/<pkg>" but runs "mkdir -p /opt/<pkg>" instead. As a consequence,
the created directory is not owned by any of the created packages. This
commit fixes that by introducing INSTALL_PREFIXDIR and installing it like
all other directories.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-09-07 06:27:28 +02:00

View file

@ -5,7 +5,7 @@ import os
import re
import sys
from typing import TYPE_CHECKING, Any, Generic, Iterable, TypeGuard, TypeVar, override
from typing import TYPE_CHECKING, Any, Generic, Iterable, TypeVar, override
from .log import ERR, OFF, log, parse_log_level
@ -15,9 +15,6 @@ if TYPE_CHECKING:
T = TypeVar('T')
def is_abc_class(c: type[object]) -> TypeGuard[abc.ABCMeta]:
return isinstance(c, abc.ABCMeta)
class Types(abc.ABC, Iterable[type[T]], Generic[T]): # export
@override
@ -104,9 +101,6 @@ class LoadTypes(Types[T]): # export
if rx is not None and not re.match(rx, member_name):
self._debug(f'o "{name}" has wrong name')
continue
if not is_abc_class(c):
self._debug(f'o "{name}" is not derived from ABCMeta')
continue
if inspect.isabstract(c):
self._debug(f'o "{name}" is abstract: {c.__abstractmethods__}')
continue