summary refs log tree commit diff
diff options
context:
space:
mode:
authorColin Arnott <colin@urandom.co.uk>2023-01-15 10:15:58 +0000
committerColin Arnott <colin@urandom.co.uk>2023-01-28 10:17:21 +0000
commit1754920c76b6fd0142a680b74e887022b244f3e7 (patch)
tree7a3191b11c2ae7cd3d4bbe35149dd641a060fea9
parent7a60b737d2b3876cf68c8e9dcdc81fed4d56c6cd (diff)
downloadnixpkgs-1754920c76b6fd0142a680b74e887022b244f3e7.tar
nixpkgs-1754920c76b6fd0142a680b74e887022b244f3e7.tar.gz
nixpkgs-1754920c76b6fd0142a680b74e887022b244f3e7.tar.bz2
nixpkgs-1754920c76b6fd0142a680b74e887022b244f3e7.tar.lz
nixpkgs-1754920c76b6fd0142a680b74e887022b244f3e7.tar.xz
nixpkgs-1754920c76b6fd0142a680b74e887022b244f3e7.tar.zst
nixpkgs-1754920c76b6fd0142a680b74e887022b244f3e7.zip
wordpress: remove bundled plugins and themes
Wordpress bundles some non-essential plugins and themes, then pesters
users to upgrade them. As we make the whole webroot readonly, it is
not possible to trivially delete them. Instead we should have users
explicitly install plugins via the existing nixos module.
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2305.section.xml8
-rw-r--r--nixos/doc/manual/release-notes/rl-2305.section.md2
-rw-r--r--pkgs/servers/web-apps/wordpress/generic.nix9
3 files changed, 19 insertions, 0 deletions
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
index 8679bb4b70f..54c7da4279a 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
@@ -304,6 +304,14 @@
       </listitem>
       <listitem>
         <para>
+          The <literal>wordpress</literal> derivation no longer contains
+          any builtin plugins or themes; these can be found in
+          <literal>wordpressPackages.{plugins,themes}</literal>,
+          respectively.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>llvmPackages_rocm.llvm</literal> will not contain
           <literal>clang</literal> or <literal>compiler-rt</literal>.
           <literal>llvmPackages_rocm.clang</literal> will not contain
diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md
index db80ccc9b72..19b3d2f7e12 100644
--- a/nixos/doc/manual/release-notes/rl-2305.section.md
+++ b/nixos/doc/manual/release-notes/rl-2305.section.md
@@ -77,6 +77,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `tut` has been updated from 1.0.34 to 2.0.0, and now uses the TOML format for the configuration file instead of INI. Additional information can be found [here](https://github.com/RasmusLindroth/tut/releases/tag/2.0.0).
 
+- The `wordpress` derivation no longer contains any builtin plugins or themes; these can be found in `wordpressPackages.{plugins,themes}`, respectively.
+
 - `llvmPackages_rocm.llvm` will not contain `clang` or `compiler-rt`. `llvmPackages_rocm.clang` will not contain `llvm`. `llvmPackages_rocm.clangNoCompilerRt` has been removed in favor of using `llvmPackages_rocm.clang-unwrapped`.
 
 - The EC2 image module previously detected and automatically mounted ext3-formatted instance store devices and partitions in stage-1 (initramfs), storing `/tmp` on the first discovered device. This behaviour, which only catered to very specific use cases and could not be disabled, has been removed. Users relying on this should provide their own implementation, and probably use ext4 and perform the mount in stage-2.
diff --git a/pkgs/servers/web-apps/wordpress/generic.nix b/pkgs/servers/web-apps/wordpress/generic.nix
index e15640c8828..d2d97dab35d 100644
--- a/pkgs/servers/web-apps/wordpress/generic.nix
+++ b/pkgs/servers/web-apps/wordpress/generic.nix
@@ -12,6 +12,15 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
+    # remove non-essential plugins and themes
+    rm -r wp-content/{plugins,themes}
+    mkdir wp-content/plugins
+    cat << EOF > wp-content/plugins/index.php
+    <?php
+    // Silence is golden.
+    EOF
+    cp -a wp-content/{plugins,themes}
+
     mkdir -p $out/share/wordpress
     cp -r . $out/share/wordpress