logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: f0fb0e517737860133352382ec082e4690be9b3a
parent cdf748ea39cb023b364240569a57ad5bc3e00171
Author: Michael Forney <mforney@mforney.org>
Date:   Mon, 25 May 2020 21:01:32 -0700

Start to support configurable prefix

Diffstat:

Mconfig.def.lua3+++
Mpkg/binutils/gen.lua10+++++-----
Mpkg/file/gen.lua2+-
Mpkg/kbd/gen.lua2+-
Mpkg/libdrm/gen.lua2+-
Mpkg/libnl/gen.lua2+-
Mpkg/msmtp/gen.lua2+-
Mpkg/sinit/config.h6+++---
Mpkg/sinit/gen.lua6+++++-
Mpkg/velox/gen.lua2+-
Mpkg/vis/gen.lua2+-
Msetup.lua3+++
Msrc/devd.c7+++++--
Msrc/gen.lua6+++++-
14 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/config.def.lua b/config.def.lua @@ -4,6 +4,9 @@ return { -- build output directory builddir='out', + -- install prefix + prefix='', + -- package/file selection fs={ -- Each entry contains a list of packages, a list of patterns to diff --git a/pkg/binutils/gen.lua b/pkg/binutils/gen.lua @@ -162,7 +162,7 @@ sub('bfd.ninja', function() '$cflags', string.format([[-D 'SELECT_ARCHITECTURES=&%s']], table.concat(table.keys(selarchs), ',&')), }}) - cc('bfd/dwarf2.c', nil, {cflags={'$cflags', [[-D 'DEBUGDIR="/lib/debug"']]}}) + cc('bfd/dwarf2.c', nil, {cflags={'$cflags', string.format([[-D 'DEBUGDIR="%s/lib/debug"']], config.prefix)}}) lib('libbfd.a', { -- src/bfd/Makefile.am:/^BFD32_LIBS_CFILES -- src/bfd/Makefile.am:/^BFD64_LIBS_CFILES @@ -199,7 +199,7 @@ end) sub('binutils.ninja', function() cflags{ - [[-D 'LOCALEDIR="/share/locale"']], + string.format([[-D 'LOCALEDIR="%s/share/locale"']], config.prefix), '-D bin_dummy_emulation=bin_vanilla_emulation', '-I $dir/binutils', '-I $srcdir/binutils', @@ -309,9 +309,9 @@ sub('ld.ninja', function() '-D ELF_LIST_OPTIONS=TRUE', '-D ELF_SHLIB_LIST_OPTIONS=TRUE', '-D ELF_PLT_UNWIND_LIST_OPTIONS=TRUE', - [[-D 'BINDIR="/bin"']], - string.format([[-D 'SCRIPTDIR="/%s/lib"']], config.target.platform), - string.format([[-D 'TOOLBINDIR="/%s/bin"']], config.target.platform), + string.format([[-D 'BINDIR="%s/bin"']], config.prefix), + string.format([[-D 'SCRIPTDIR="%s/%s/lib"']], config.prefix, config.target.platform), + string.format([[-D 'TOOLBINDIR="%s/%s/bin"']], config.prefix, config.target.platform), '-I $dir/ld', '-I $outdir/ld', '-I $srcdir/ld', diff --git a/pkg/file/gen.lua b/pkg/file/gen.lua @@ -2,7 +2,7 @@ local version = '5.37' cflags{ '-Wall', '-D HAVE_CONFIG_H', - [[-D 'MAGIC="/share/file/magic"']], + string.format([[-D 'MAGIC="%s/share/file/magic"']], config.prefix), '-D _GNU_SOURCE', '-I $dir', '-I $outdir/include', diff --git a/pkg/kbd/gen.lua b/pkg/kbd/gen.lua @@ -1,5 +1,5 @@ cflags{ - [[-D 'DATADIR="/share/kbd"']], + string.format([[-D 'DATADIR="%s/share/kbd"']], config.prefix), '-I $dir', '-I $srcdir', '-I $srcdir/src', diff --git a/pkg/libdrm/gen.lua b/pkg/libdrm/gen.lua @@ -67,7 +67,7 @@ if config.video_drivers and config.video_drivers['nouveau'] then end if config.video_drivers and config.video_drivers['amdgpu'] then - cflags{[[-D 'AMDGPU_ASIC_ID_TABLE="/share/libdrm/amdgpu.ids"']]} + cflags{string.format([[-D 'AMDGPU_ASIC_ID_TABLE="%s/share/libdrm/amdgpu.ids"']], config.prefix)} lib('libdrm_amdgpu.a', [[ amdgpu/( amdgpu_asic_id.c diff --git a/pkg/libnl/gen.lua b/pkg/libnl/gen.lua @@ -1,6 +1,6 @@ cflags{ '-D _GNU_SOURCE', - [[-D 'SYSCONFDIR="/etc/libnl"']], + string.format([[-D 'SYSCONFDIR="%s/etc/libnl"']], config.prefix), '-I $dir', '-I $outdir/include', '-I $srcdir/include', diff --git a/pkg/msmtp/gen.lua b/pkg/msmtp/gen.lua @@ -1,6 +1,6 @@ cflags{ '-D HAVE_CONFIG_H', - [[-D 'SYSCONFDIR="/etc"']], + string.format([[-D 'SYSCONFDIR="%s/etc"']], config.prefix), '-I $dir', '-I $builddir/pkg/libressl/include', } diff --git a/pkg/sinit/config.h b/pkg/sinit/config.h @@ -1,5 +1,5 @@ /* See LICENSE file for copyright and license details. */ -static char *const rcinitcmd[] = { "/etc/rc.init", NULL }; -static char *const rcrebootcmd[] = { "/etc/rc.shutdown", "reboot", NULL }; -static char *const rcpoweroffcmd[] = { "/etc/rc.shutdown", "poweroff", NULL }; +static char *const rcinitcmd[] = { PREFIX "/etc/rc.init", NULL }; +static char *const rcrebootcmd[] = { PREFIX "/etc/rc.shutdown", "reboot", NULL }; +static char *const rcpoweroffcmd[] = { PREFIX "/etc/rc.shutdown", "poweroff", NULL }; diff --git a/pkg/sinit/gen.lua b/pkg/sinit/gen.lua @@ -1,4 +1,8 @@ -cflags{'-Wall', '-Wextra', '-I $dir'} +cflags{ + '-Wall', '-Wextra', + string.format([[-D 'PREFIX="%s"']], config.prefix), + '-I $dir', +} file('bin/sinit', '755', exe('sinit', {'sinit.c'})) man{'sinit.8'} diff --git a/pkg/velox/gen.lua b/pkg/velox/gen.lua @@ -1,5 +1,5 @@ cflags{ - [[-D 'VELOX_LIBEXEC="/libexec/velox"']], + string.format([[-D 'VELOX_LIBEXEC="%s/libexec/velox"']], config.prefix), '-I $outdir', '-I $basedir/pkg/fontconfig/src', '-I $basedir/pkg/libinput/src/src', diff --git a/pkg/vis/gen.lua b/pkg/vis/gen.lua @@ -12,7 +12,7 @@ cflags{ '-D _POSIX_C_SOURCE=200809L', '-D _XOPEN_SOURCE=700', [[-D 'VERSION="$version"']], - [[-D 'VIS_PATH="/share/vis"']], + string.format([[-D 'VIS_PATH="%s/share/vis"']], config.prefix), '-D NDEBUG', '-I $outdir', '-I $basedir/pkg/libtermkey/src', diff --git a/setup.lua b/setup.lua @@ -17,6 +17,9 @@ end dofile(basedir..'/ninja.lua') config = dofile 'config.lua' +if not config.prefix then + config.prefix = '' +end local recurse = not arg[1] diff --git a/src/devd.c b/src/devd.c @@ -24,8 +24,11 @@ triggering "add" uevents for each one. #include <linux/netlink.h> -#define HOTPLUG "/etc/hotplug" -#define TRIGGER "/libexec/devd-trigger" +#ifndef PREFIX +#define PREFIX +#endif +#define HOTPLUG PREFIX "/etc/hotplug" +#define TRIGGER PREFIX "/libexec/devd-trigger" #define LEN(a) (sizeof(a) / sizeof((a)[0])) diff --git a/src/gen.lua b/src/gen.lua @@ -3,7 +3,11 @@ cflags{ '-std=c11', '-Wall', '-Wextra', '-Wpedantic', '-Wno-unused-parameter', } -cc('devd.c', 'pkg/linux-headers/headers', {cflags='$cflags -I $builddir/pkg/linux-headers/include'}) +cc('devd.c', 'pkg/linux-headers/headers', {cflags={ + '$cflags', + '-I $builddir/pkg/linux-headers/include', + string.format([[-D 'PREFIX="%s"']], config.prefix), +}}) file('libexec/applyperms', '755', exe('applyperms', {'applyperms.c'})) file('libexec/devd-trigger', '755', exe('devd-trigger', {'devd-trigger.c'}))