From 9291f8a99869fbcb4005c3549082fefafd4d5b31bbec1e4cc0a6a5e9962489db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= Date: Wed, 25 Feb 2026 23:35:20 +0100 Subject: [PATCH] Add update-alternatives/alts support. --- lua-moonscript.changes | 5 ++++ lua-moonscript.spec | 62 +++++++++++++++++++++++++++++++++++------- 2 files changed, 57 insertions(+), 10 deletions(-) diff --git a/lua-moonscript.changes b/lua-moonscript.changes index b089ab6..5c8eb07 100644 --- a/lua-moonscript.changes +++ b/lua-moonscript.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Feb 25 22:35:03 UTC 2026 - Matej Cepl + +- Add update-alternatives/alts support. + ------------------------------------------------------------------- Fri Jan 23 22:10:27 UTC 2026 - Matej Cepl diff --git a/lua-moonscript.spec b/lua-moonscript.spec index 48a8d59..d2f2eb5 100644 --- a/lua-moonscript.spec +++ b/lua-moonscript.spec @@ -23,6 +23,11 @@ %else %bcond_with test %endif +%if 0%{?suse_version} > 1500 +%bcond_without libalternatives +%else +%bcond_with libalternatives +%endif %define mod_name moonscript %define upversion 0.5.0 Version: 0.5.0 @@ -45,8 +50,13 @@ Requires: %{flavor}-argparse Requires: %{flavor}-loadkit Requires: %{flavor}-lpeg Requires: %{flavor}-luafilesystem +%if %{with libalternatives} +BuildRequires: alts +Requires: alts +%else Requires(post): update-alternatives Requires(postun): update-alternatives +%endif # optionally BuildRequires: %%{flavor}-lnotify BuildArch: noarch %lua_provides @@ -70,7 +80,7 @@ A programmer friendly language that compiles to Lua. sed -i 's|^#!%{_bindir}/env lua|#!%{_bindir}/lua%{lua_version}|' bin/moon{,c} %build -/bin/true +: %install %if ! %{with test} @@ -79,16 +89,41 @@ cp -r -p moonscript %{buildroot}%{lua_noarchdir} cp -r -p moon %{buildroot}%{lua_noarchdir} install -D -m 0755 -p -t %{buildroot}%{_bindir} bin/moon{,c} -# Alternatives -# create a dummy target for /etc/alternatives/vim -mkdir -p %{buildroot}%{_sysconfdir}/alternatives -mv %{buildroot}%{_bindir}/moon{,-%{lua_version}} -mv %{buildroot}%{_bindir}/moonc{,-%{lua_version}} -ln -s -f %{_sysconfdir}/alternatives/moonc %{buildroot}%{_bindir}/moonc -ln -s -f %{_sysconfdir}/alternatives/moon %{buildroot}%{_bindir}/moon +# Prepare alternatives handling +mv -v %{buildroot}%{_bindir}/moon{,-%{lua_version}} +mv -v %{buildroot}%{_bindir}/moonc{,-%{lua_version}} +chmod +x %{buildroot}%{_bindir}/moon-%{lua_version} +chmod +x %{buildroot}%{_bindir}/moonc-%{lua_version} +sed -i -e 's,# *\!%{_bindir}/.*lua.*$,#!%{_bindir}/%{lua_version},' \ + %{buildroot}%{_bindir}/moon-%{lua_version} \ + %{buildroot}%{_bindir}/moonc-%{lua_version} + +%if %{with libalternatives} +# alternatives - create configuration file +echo "### lua_value = %{lua_value}" +ln -sf %{_bindir}/alts %{buildroot}%{_bindir}/moon +mkdir -p %{buildroot}%{_datadir}/libalternatives/moon +cat > %{buildroot}%{_datadir}/libalternatives/moon/%{lua_value}.conf < %{buildroot}%{_datadir}/libalternatives/moonc/%{lua_value}.conf <