mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
tools, build system: Detect distro-variant directories at build-time
In b59f87f56b1e, the defaults for some of the directory config variables implicitly changed. In this commit we arrange for the defaults to be auto-detected (with the same logic as the run-time scripts use). This will make the build more likely to produce answers which the builder intends. (And, in particular, it should un-break the automated tests, which didn't set these variables explicitly and therefore got broken by b59f87f56b1e.) Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
This commit is contained in:
1 parent
89acd8b4d6
commit
39ae85c6ee
2 files changed
+23
-13
No files matched your search
@@ -2,26 +2,26 @@ With directory layout differences between Red Hat, Debian, Suse and
|
||||
other distros one needs to set the variables for the elements below
|
||||
|
||||
-----------------+------------------+---------------+----------------+
|
||||
| RedHat (default) | Debian | Suse |
|
||||
| Red Hat | Debian | Suse |
|
||||
-----------------+------------------+---------------+----------------+
|
||||
CONFIG_LEAF_DIR | sysconfig | default | sysconfig |
|
||||
SUBSYS_DIR | /var/run/subsys | /var/run | /var/run |
|
||||
INITD_DIR | /etc/rc.d/init.d | /etc/init.d | /etc/init.d |
|
||||
-----------------+------------------+---------------+----------------+
|
||||
|
||||
The build currently defaults to the elements used by Red Hat.
|
||||
For others, these env variables must be set in the shell env
|
||||
or modified in Config.mk before running make.
|
||||
The existence of these directories are tested at build-time (on the
|
||||
build host, via the "setvar_dir" macro in Config.mk) and for some
|
||||
scripts at run-time. If the Red Hat directory exists, it is used;
|
||||
otherwise the Debian one is used.
|
||||
|
||||
This mechanism sets the location that files are installed to, but does
|
||||
not change the code itself. Scripts that refer to files affected by these
|
||||
directories must check each possible location at run time.
|
||||
You can override this by setting the variables in the environment or
|
||||
your ".config" (which is included by .config).
|
||||
|
||||
To add support for new distributions that don't use the above locations,
|
||||
one must grep for the above elements and add appropriate checks.
|
||||
|
||||
For example if a new distro uses /etc/bork as it's config dir, It's not
|
||||
sufficient to set CONFIG_LEAF_DIR=bork, one must also add tests for the
|
||||
For example if a new distro uses /etc/bork as its config dir, it's not
|
||||
sufficient to set CONFIG_LEAF_DIR=bork; one must also add tests for the
|
||||
existance of the bork dir in every context where config files are read.
|
||||
|
||||
|
||||