# Helper macroses for mediawiki extensions packages in ALT Linux.
# According to ALT Linux MediaWiki policy: http://www.altlinux.org/MediaWiki_Policy
# 02.02.2010 Vitaly Lipatov <lav@etersoft.ru>
# 07.02.2014 Vitaly Lipatov <lav@etersoft.ru>
# 31.07.2018 Vitaly Lipatov <lav@etersoft.ru>

# TODO: split common parts

%_mediawikidir %_datadir/mediawiki
%_mediawiki_settings_dir %_mediawikidir/config/LocalSettings.d

# for use in %%install section (use with priority and mediawiki extension name)
# %%build helpers
#############################################################
%mediawiki_ext_install() \
cat <<EOF >%{2}.files \
%_mediawikidir/extensions/%{2}/\
%_mediawiki_settings_dir/%{1}-%{2}.php\
EOF\
\
mkdir -p %buildroot%_mediawikidir/extensions/%{2}/\
cp -a * %buildroot%_mediawikidir/extensions/%{2}/\
rm -f %buildroot%_mediawikidir/extensions/%{2}/%{2}.files\
\
mkdir -p %buildroot%_mediawiki_settings_dir/\
if [ -e %buildroot%_mediawikidir/extensions/%{2}/extension.json ] ; then\
cat >%buildroot%_mediawiki_settings_dir/%{1}-%{2}.php <<EOF\
<?php\
\
wfLoadExtension( '%{2}' );\
\
EOF\
elif [ -e %buildroot%_mediawikidir/extensions/%{2}/%{2}.php ] ; then\
cat >%buildroot%_mediawiki_settings_dir/%{1}-%{2}.php <<EOF\
<?php\
\
require_once("\\$IP/extensions/%{2}/%{2}.php");\
\
EOF\
else\
echo "Can't detect extension type (no %{2}.php, nor extension.json in ext. dir)"; false\
fi\
%nil

# 1.31.0 -> 1.31 : sed -e "s|\\\\(.*\\\\)\\\\..*|\\\\1|"

# Obsoletes:
# args: MW version
# set mwversion, MWREL (REL1_31)
%set_required_mediawiki() \
%global mwversion %{1} \
%global MWREL %(echo "REL%mwversion" | sed -e "s|\\\\.|_|g") \
%global mediawiki_ext_dir %_mediawikidir/extensions/%{2} \
Requires: mediawiki-common >= %mwversion \
%nil

# Recommended:
# args: MW version, extension name
# set mwversion, MWREL (REL1_31) and mediawiki_ext_dir
%setup_mediawiki_ext() \
%global mwversion %{1} \
%global MWREL %(echo "REL%mwversion" | sed -e "s|\\\\.|_|g") \
%global mediawiki_ext_dir %_mediawikidir/extensions/%{2} \
Requires: mediawiki-common >= %mwversion \
%nil

# use %%files -f %oname.files in your spec
# use %mediawiki_ext_install 50 %oname in install section

