nixos/mediawiki: change user in maintenance scripts, use maintenance/run.php script (#352521)

This commit is contained in:
Jörg Thalheim
2024-12-25 21:31:12 +01:00
committed by GitHub
+20 -4
View File
@@ -48,10 +48,26 @@ let
preferLocalBuild = true;
} ''
mkdir -p $out/bin
for i in changePassword.php createAndPromote.php resetUserEmail.php userOptions.php edit.php nukePage.php update.php; do
makeWrapper ${php}/bin/php $out/bin/mediawiki-$(basename $i .php) \
--set MEDIAWIKI_CONFIG ${mediawikiConfig} \
--add-flags ${pkg}/share/mediawiki/maintenance/$i
makeWrapper ${php}/bin/php $out/bin/mediawiki-maintenance \
--set MEDIAWIKI_CONFIG ${mediawikiConfig} \
--add-flags ${pkg}/share/mediawiki/maintenance/run.php
for i in changePassword createAndPromote deleteUserEmail resetUserEmail userOptions edit nukePage update importDump run; do
script="$out/bin/mediawiki-$i"
cat <<'EOF' >"$script"
#!${pkgs.runtimeShell}
become=(exec)
if [[ "$(id -u)" != ${user} ]]; then
become=(exec /run/wrappers/bin/sudo -u ${user} --)
fi
"${"$"}{become[@]}" ${placeholder "out"}/bin/mediawiki-maintenance \
EOF
if [[ "$i" != "run" ]]; then
echo " ${pkg}/share/mediawiki/maintenance/$i.php \"\$@\"" >>"$script"
else
echo " ${pkg}/share/mediawiki/maintenance/\$1.php \"\''${@:2}\"" >>"$script"
fi
chmod +x "$script"
done
'';