summary refs log tree commit diff
diff options
context:
space:
mode:
authorArtturi <Artturin@artturin.com>2022-03-22 19:57:02 +0200
committerGitHub <noreply@github.com>2022-03-22 19:57:02 +0200
commit6396adbdfa8cef5d59025d855e5872facd2c6ea8 (patch)
treec4afa6286597a0e87f5a9bf6b7b611ea8b2f7bf2
parent0ce256984a5ccb800e1cb2c841fa25eb28f89292 (diff)
parentd5bf6bac5c0e51624eb26d38621718759df32eac (diff)
downloadnixpkgs-6396adbdfa8cef5d59025d855e5872facd2c6ea8.tar
nixpkgs-6396adbdfa8cef5d59025d855e5872facd2c6ea8.tar.gz
nixpkgs-6396adbdfa8cef5d59025d855e5872facd2c6ea8.tar.bz2
nixpkgs-6396adbdfa8cef5d59025d855e5872facd2c6ea8.tar.lz
nixpkgs-6396adbdfa8cef5d59025d855e5872facd2c6ea8.tar.xz
nixpkgs-6396adbdfa8cef5d59025d855e5872facd2c6ea8.tar.zst
nixpkgs-6396adbdfa8cef5d59025d855e5872facd2c6ea8.zip
Merge pull request #164420 from corngood/build-fhs-fix
-rw-r--r--pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix19
-rw-r--r--pkgs/build-support/build-fhs-userenv/env.nix19
2 files changed, 22 insertions, 16 deletions
diff --git a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
index d0f88df4453..93292122b73 100644
--- a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
+++ b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
@@ -97,18 +97,21 @@ let
       if [[ -d  $out/share/gsettings-schemas/ ]]; then
           # Recreate the standard schemas directory if its a symlink to make it writable
           if [[ -L $out/share/glib-2.0 ]]; then
-              ln -s $(readlink $out/share/glib-2.0) $out/share/glib-2.0.old
-              rm -rf $out/share/glib-2.0
+              target=$(readlink $out/share/glib-2.0)
+              rm $out/share/glib-2.0
+              mkdir $out/share/glib-2.0
+              ln -fs $target/* $out/share/glib-2.0
           fi
 
-          mkdir -p $out/share/glib-2.0/schemas
-
-          # symlink any schema files or overrides to the standard schema directory
-          if [[ -e $out/share/glib-2.0.old/schemas ]]; then
-              ln -fs $out/share/glib-2.0.old/schemas/*.xml $out/share/glib-2.0/schemas
-              ln -fs $out/share/glib-2.0.old/schemas/*.gsettings-schemas.override $out/share/glib-2.0/schemas
+          if [[ -L $out/share/glib-2.0/schemas ]]; then
+              target=$(readlink $out/share/glib-2.0/schemas)
+              rm $out/share/glib-2.0/schemas
+              mkdir $out/share/glib-2.0/schemas
+              ln -fs $target/* $out/share/glib-2.0/schemas
           fi
 
+          mkdir -p $out/share/glib-2.0/schemas
+
           for d in $out/share/gsettings-schemas/*; do
               # Force symlink, in case there are duplicates
               ln -fs $d/glib-2.0/schemas/*.xml $out/share/glib-2.0/schemas
diff --git a/pkgs/build-support/build-fhs-userenv/env.nix b/pkgs/build-support/build-fhs-userenv/env.nix
index 7251500f76c..cdc3096fcbf 100644
--- a/pkgs/build-support/build-fhs-userenv/env.nix
+++ b/pkgs/build-support/build-fhs-userenv/env.nix
@@ -138,18 +138,21 @@ let
       if [[ -d  $out/share/gsettings-schemas/ ]]; then
           # Recreate the standard schemas directory if its a symlink to make it writable
           if [[ -L $out/share/glib-2.0 ]]; then
-              ln -s $(readlink $out/share/glib-2.0) $out/share/glib-2.0.old
-              rm -rf $out/share/glib-2.0
+              target=$(readlink $out/share/glib-2.0)
+              rm $out/share/glib-2.0
+              mkdir $out/share/glib-2.0
+              ln -fs $target/* $out/share/glib-2.0
           fi
 
-          mkdir -p $out/share/glib-2.0/schemas
-
-          # symlink any schema files or overrides to the standard schema directory
-          if [[ -e $out/share/glib-2.0.old/schemas ]]; then
-              ln -fs $out/share/glib-2.0.old/schemas/*.xml $out/share/glib-2.0/schemas
-              ln -fs $out/share/glib-2.0.old/schemas/*.gsettings-schemas.override $out/share/glib-2.0/schemas
+          if [[ -L $out/share/glib-2.0/schemas ]]; then
+              target=$(readlink $out/share/glib-2.0/schemas)
+              rm $out/share/glib-2.0/schemas
+              mkdir $out/share/glib-2.0/schemas
+              ln -fs $target/* $out/share/glib-2.0/schemas
           fi
 
+          mkdir -p $out/share/glib-2.0/schemas
+
           for d in $out/share/gsettings-schemas/*; do
               # Force symlink, in case there are duplicates
               ln -fs $d/glib-2.0/schemas/*.xml $out/share/glib-2.0/schemas