Why doenst this work?

This commit is contained in:
Hadi Chokr
2026-02-25 16:38:21 +01:00
parent 3086ceda9b
commit bfab8cc793
12 changed files with 202 additions and 11 deletions

View File

@@ -0,0 +1,2 @@
/opt/local/lib
/opt/local/lib64

View File

@@ -0,0 +1,2 @@
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
# SPDX-FileCopyrightText: 2026 Hadi Chokr <hadichokr@icloud.com>

134
mkosi.extra/etc/man_db.conf Normal file
View File

@@ -0,0 +1,134 @@
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
# SPDX-FileCopyrightText: 2026 Hadi Chokr <hadichokr@icloud.com>
#
# man_db.conf
#
# This file is used by the man-db package to configure the man and cat paths.
# It is also used to provide a manpath for those without one by examining
# their PATH environment variable. For details see the manpath(5) man page.
#
# Lines beginning with `#' are comments and are ignored. Any combination of
# tabs or spaces may be used as `whitespace' separators.
#
# There are three mappings allowed in this file:
# --------------------------------------------------------
# MANDATORY_MANPATH manpath_element
# MANPATH_MAP path_element manpath_element
# MANDB_MAP global_manpath [relative_catpath]
#---------------------------------------------------------
# every automatically generated MANPATH includes these fields
#
#MANDATORY_MANPATH /usr/src/pvm3/man
#
MANDATORY_MANPATH /usr/man
MANDATORY_MANPATH /usr/share/man
MANDATORY_MANPATH /opt/local/share/man
#---------------------------------------------------------
# set up PATH to MANPATH mapping
# ie. what man tree holds man pages for what binary directory.
#
# *PATH* -> *MANPATH*
#
MANPATH_MAP /bin /usr/share/man
MANPATH_MAP /usr/bin /usr/share/man
MANPATH_MAP /sbin /usr/share/man
MANPATH_MAP /usr/sbin /usr/share/man
MANPATH_MAP /opt/local/bin /opt/local/man
MANPATH_MAP /opt/local/bin /opt/local/share/man
MANPATH_MAP /opt/local/sbin /opt/local/man
MANPATH_MAP /opt/local/sbin /opt/local/share/man
MANPATH_MAP /usr/X11R6/bin /opt/X11R6/man
MANPATH_MAP /usr/bin/X11 /opt/X11R6/man
MANPATH_MAP /usr/games /usr/share/man
MANPATH_MAP /opt/bin /opt/man
MANPATH_MAP /opt/sbin /opt/man
#---------------------------------------------------------
# For a manpath element to be treated as a system manpath (as most of those
# above should normally be), it must be mentioned below. Each line may have
# an optional extra string indicating the catpath associated with the
# manpath. If no catpath string is used, the catpath will default to the
# given manpath.
#
# You *must* provide all system manpaths, including manpaths for alternate
# operating systems, locale specific manpaths, and combinations of both, if
# they exist, otherwise the permissions of the user running man/mandb will
# be used to manipulate the manual pages. Also, mandb will not initialise
# the database cache for any manpaths not mentioned below unless explicitly
# requested to do so.
#
# In a per-user configuration file, this directive only controls the
# location of catpaths and the creation of database caches; it has no effect
# on privileges.
#
# Any manpaths that are subdirectories of other manpaths must be mentioned
# *before* the containing manpath. E.g. /usr/man/preformat must be listed
# before /usr/man.
#
# *MANPATH* -> *CATPATH*
#
MANDB_MAP /usr/man /var/cache/man/fsstnd
MANDB_MAP /usr/share/man /var/cache/man
MANDB_MAP /opt/local/man /var/cache/man/oldlocal
MANDB_MAP /opt/local/share/man /var/cache/man/local
MANDB_MAP /usr/X11R6/man /var/cache/man/X11R6
MANDB_MAP /opt/man /var/cache/man/opt
#
#---------------------------------------------------------
# Program definitions. These are commented out by default as the value
# of the definition is already the default. To change: uncomment a
# definition and modify it.
#
#DEFINE pager less
#DEFINE cat cat
#DEFINE tr tr '\255\267\264\327' '\055\157\047\170'
#DEFINE grep grep
#DEFINE troff groff -mandoc
#DEFINE nroff nroff -mandoc
#DEFINE eqn eqn
#DEFINE neqn neqn
#DEFINE tbl tbl
#DEFINE col col
#DEFINE vgrind
#DEFINE refer refer
#DEFINE grap
#DEFINE pic pic -S
#
#DEFINE compressor gzip -c7
#---------------------------------------------------------
# Misc definitions: same as program definitions above.
#
#DEFINE whatis_grep_flags -i
#DEFINE apropos_grep_flags -iEw
#DEFINE apropos_regex_grep_flags -iE
#---------------------------------------------------------
# Section names. Manual sections will be searched in the order listed here;
# the default is 1, n, l, 8, 3, 0, 2, 3type, 5, 4, 9, 6, 7. Multiple SECTION
# directives may be given for clarity, and will be concatenated together in
# the expected way.
# If a particular extension is not in this list (say, 1mh), it will be
# displayed with the rest of the section it belongs to. The effect of this
# is that you only need to explicitly list extensions if you want to force a
# particular order. Sections with extensions should usually be adjacent to
# their main section (e.g. "1 1mh 8 ...").
#
SECTION 1 1p n l 8 3 3p 0 0p 2 3type 5 4 9 6 7
#
#---------------------------------------------------------
# Range of terminal widths permitted when displaying cat pages. If the
# terminal falls outside this range, cat pages will not be created (if
# missing) or displayed.
#
#MINCATWIDTH 80
#MAXCATWIDTH 80
#
# If CATWIDTH is set to a non-zero number, cat pages will always be
# formatted for a terminal of the given width, regardless of the width of
# the terminal actually being used. This should generally be within the
# range set by MINCATWIDTH and MAXCATWIDTH.
#
#CATWIDTH 0
#
#---------------------------------------------------------
# Flags.
# NOCACHE keeps man from creating cat pages.
#NOCACHE

View File

@@ -0,0 +1,17 @@
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
# SPDX-FileCopyrightText: 2026 Hadi Chokr <hadichokr@icloud.com>
# Setup PATH to let ~/.local and after that /opt/local mask everything
export PATH="$HOME/.local/bin:$HOME/.local/sbin:/opt/local/sbin:/opt/local/bin:$PATH"
# Prefixes
export LOCAL_PREFIX=/opt/local
export PREFIX=/opt/local
export DESTDIR=/opt/local
# For .desktop files and systemd
export XDG_DATA_DIRS="$HOME/.local/share:/opt/local/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
export XDG_CONFIG_DIRS="$HOME/.config:/opt/local/etc/xdg:${XDG_CONFIG_DIRS:-/etc/xdg}"
# pkgconfig
export PKG_CONFIG_PATH="$HOME/.local/lib/pkgconfig:/opt/local/lib/pkgconfig:/opt/local/share/pkgconfig:${PKG_CONFIG_PATH:-}"

View File

@@ -1,9 +1,10 @@
#!/bin/sh
#!/usr/bin/env bash
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
# SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
# SPDX-FileCopyrightText: 2026 Hadi Chokr <hadichokr@icloud.com>
if [ "$(id -u)" != "0" ]; then
exec pkexec /usr/local/bin/calamares "$@"
exec pkexec /opt/local/bin/calamares "$@"
fi
export KDE_FULL_SESSION=TRUE

View File

@@ -1,8 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
# SPDX-FileCopyrightText: 2025 Harald Sitter <sitter@kde.org>
# SPDX-FileCopyrightText: 2026 Thomas Duckworth <tduck@filotimoproject.org>
# Explicitly set PATH so we always have /usr/local binary paths in front, which we need
# to mask binaries in /usr/bin.
# Also, kde-builder wants .local/bin in the PATH and will fail if it is not.
PATH=$HOME/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin

View File

@@ -0,0 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
# SPDX-FileCopyrightText: 2026 Hadi Chokr <hadichokr@icloud.com>
[SysExt]
Mutable=auto

View File

@@ -0,0 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
# SPDX-FileCopyrightText: 2026 Hadi Chokr <hadichokr@icloud.com>
# Will trigger the systemd-sysext.service Condition to merge Extensions
# TODO: Remove when https://github.com/systemd/systemd/issues/40827 is fixed
f /etc/extensions/enable-sysext 0644 root root -

View File

@@ -0,0 +1,28 @@
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
# SPDX-FileCopyrightText: 2026 Hadi Chokr <hadichokr@icloud.com>
# Local admin prefix replacing /usr/local
d /opt/local 0755 root root -
d /opt/local/bin 0755 root root -
d /opt/local/sbin 0755 root root -
d /opt/local/lib 0755 root root -
d /opt/local/lib64 0755 root root -
d /opt/local/include 0755 root root -
d /opt/local/share 0755 root root -
d /opt/local/share/man 0755 root root -
d /opt/local/share/info 0755 root root -
d /opt/local/share/doc 0755 root root -
d /opt/local/etc 0755 root root -
d /opt/local/games 0755 root root -
d /opt/local/src 0755 root root -
d /opt/local/etc/xdg 0755 root root -
d /opt/local/lib/pkgconfig 0755 root root -
d /opt/local/share/pkgconfig 0755 root root -
# sysext-routing
d /var/lib/extensions.mutable 0755 root root -
d /var/lib/extensions.mutable/usr 0755 root root -
# Route /usr/local → /opt/local
L /var/lib/extensions.mutable/usr/local - - - - /opt/local

View File

@@ -19,7 +19,7 @@
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/local/bin/calamares</annotate>
<annotate key="org.freedesktop.policykit.exec.path">/opt/local/bin/calamares</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>

View File

@@ -133,6 +133,9 @@ rm -rf \
/usr/lib/modules/*/vdso \
/usr/src/*
## Get rid of /usr/local for /opt/local
rm -rf /usr/local
## Replace Falkon with Firefox as the default browser, since that's what we pre-install.
sed -i 's/org.kde.falkon.desktop/org.mozilla.firefox.desktop/' /usr/share/applications/kde-mimeapps.list