diff --git a/pika-baseos/debian/changelog b/pika-baseos/debian/changelog index ffd4494..776fcda 100644 --- a/pika-baseos/debian/changelog +++ b/pika-baseos/debian/changelog @@ -1,3 +1,9 @@ +pika-baseos (2.3.0) kinetic; urgency=medium + + * Just make fish source /etc/profile, other non posix shells can chainload via bash + + -- Ward Nakchbandi Thu, 12 Jan 2023 16:48:00 +0300 + pika-baseos (2.2.0) kinetic; urgency=medium * Add env var fixer diff --git a/pika-baseos/etc/fish/conf.d/pikaprofiles.fish b/pika-baseos/etc/fish/conf.d/pikaprofiles.fish new file mode 100755 index 0000000..d1d03d4 --- /dev/null +++ b/pika-baseos/etc/fish/conf.d/pikaprofiles.fish @@ -0,0 +1 @@ +fenv source /etc/profile > /dev/null diff --git a/pika-baseos/etc/fish/functions/fenv.fish b/pika-baseos/etc/fish/functions/fenv.fish new file mode 100755 index 0000000..3cc246e --- /dev/null +++ b/pika-baseos/etc/fish/functions/fenv.fish @@ -0,0 +1,36 @@ +# The MIT License (MIT) + +# Copyright (c) 2015 Derek Willian Stavis + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +function fenv -d "Run bash scripts and import variables modified by them" + if count $argv >/dev/null + if string trim -- $argv | string length -q + fenv.main $argv + return $status + end + return 0 + else + echo (set_color red)'error:' (set_color normal)'parameter missing' + echo (set_color cyan)'usage:' (set_color normal)'fenv ' + return 23 # EINVAL + end +end diff --git a/pika-baseos/etc/fish/functions/fenv.main.fish b/pika-baseos/etc/fish/functions/fenv.main.fish new file mode 100755 index 0000000..6b984d5 --- /dev/null +++ b/pika-baseos/etc/fish/functions/fenv.main.fish @@ -0,0 +1,15 @@ +function fenv.main + bash -c "$argv && env -0 >&31" 31>| while read -l -z env_var + set -l kv (string split -m 1 = $env_var); or continue + # Skip read-only variables + contains $kv[1] _ SHLVL PWD; and continue + # Variable + # - is not defined + # - OR variable differs + # - OR variable is not exported + if not set -q $kv[1]; or test "$$kv[1]" != $kv[2]; or not set -qx $kv[1] + set -gx $kv + end + end + return $pipestatus[1] +end diff --git a/pika-baseos/etc/init.d/addenv b/pika-baseos/etc/init.d/addenv deleted file mode 100755 index 4408c09..0000000 --- a/pika-baseos/etc/init.d/addenv +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -sed -i '/#startenvd/,/#endenvd/d' /etc/environment - -echo -e "#startenvd\n$(cat /etc/environment.d/*)\n#endenvd" >> /etc/environment diff --git a/pika-baseos/etc/profile.d/99-pipewire_alsa-fix.sh b/pika-baseos/etc/profile.d/99-pipewire_alsa-fix.sh deleted file mode 100755 index 16eba43..0000000 --- a/pika-baseos/etc/profile.d/99-pipewire_alsa-fix.sh +++ /dev/null @@ -1,2 +0,0 @@ -# Fix alsa for programs like davinci resolve, this fixes the Davinci Resolve audio delay -export PIPEWIRE_ALSA='{ alsa.buffer-bytes=20480 }' diff --git a/pika-baseos/etc/rc0.d/S01addenv b/pika-baseos/etc/rc0.d/S01addenv deleted file mode 100755 index 4408c09..0000000 --- a/pika-baseos/etc/rc0.d/S01addenv +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -sed -i '/#startenvd/,/#endenvd/d' /etc/environment - -echo -e "#startenvd\n$(cat /etc/environment.d/*)\n#endenvd" >> /etc/environment diff --git a/pika-baseos/etc/rc1.d/S01addenv b/pika-baseos/etc/rc1.d/S01addenv deleted file mode 100755 index 4408c09..0000000 --- a/pika-baseos/etc/rc1.d/S01addenv +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -sed -i '/#startenvd/,/#endenvd/d' /etc/environment - -echo -e "#startenvd\n$(cat /etc/environment.d/*)\n#endenvd" >> /etc/environment diff --git a/pika-baseos/etc/rc2.d/S01addenv b/pika-baseos/etc/rc2.d/S01addenv deleted file mode 100755 index 4408c09..0000000 --- a/pika-baseos/etc/rc2.d/S01addenv +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -sed -i '/#startenvd/,/#endenvd/d' /etc/environment - -echo -e "#startenvd\n$(cat /etc/environment.d/*)\n#endenvd" >> /etc/environment diff --git a/pika-baseos/etc/rc3.d/S01addenv b/pika-baseos/etc/rc3.d/S01addenv deleted file mode 100755 index 4408c09..0000000 --- a/pika-baseos/etc/rc3.d/S01addenv +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -sed -i '/#startenvd/,/#endenvd/d' /etc/environment - -echo -e "#startenvd\n$(cat /etc/environment.d/*)\n#endenvd" >> /etc/environment diff --git a/pika-baseos/etc/rc4.d/S01addenv b/pika-baseos/etc/rc4.d/S01addenv deleted file mode 100755 index 4408c09..0000000 --- a/pika-baseos/etc/rc4.d/S01addenv +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -sed -i '/#startenvd/,/#endenvd/d' /etc/environment - -echo -e "#startenvd\n$(cat /etc/environment.d/*)\n#endenvd" >> /etc/environment diff --git a/pika-baseos/etc/rc5.d/S01addenv b/pika-baseos/etc/rc5.d/S01addenv deleted file mode 100755 index 4408c09..0000000 --- a/pika-baseos/etc/rc5.d/S01addenv +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -sed -i '/#startenvd/,/#endenvd/d' /etc/environment - -echo -e "#startenvd\n$(cat /etc/environment.d/*)\n#endenvd" >> /etc/environment diff --git a/pika-baseos/etc/rc6.d/S01addenv b/pika-baseos/etc/rc6.d/S01addenv deleted file mode 100755 index 4408c09..0000000 --- a/pika-baseos/etc/rc6.d/S01addenv +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -sed -i '/#startenvd/,/#endenvd/d' /etc/environment - -echo -e "#startenvd\n$(cat /etc/environment.d/*)\n#endenvd" >> /etc/environment diff --git a/pika-baseos/etc/rcS.d/S01addenv b/pika-baseos/etc/rcS.d/S01addenv deleted file mode 100755 index 4408c09..0000000 --- a/pika-baseos/etc/rcS.d/S01addenv +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash - -sed -i '/#startenvd/,/#endenvd/d' /etc/environment - -echo -e "#startenvd\n$(cat /etc/environment.d/*)\n#endenvd" >> /etc/environment