116 lines
3.7 KiB
RPMSpec
116 lines
3.7 KiB
RPMSpec
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
|
|
%global debug_package %{nil}
|
|
|
|
Name: Lmod
|
|
Version: 8.7.24
|
|
Release: 1
|
|
Summary: Environmental Modules System in Lua
|
|
|
|
License: MIT and LGPLv2
|
|
URL: https://github.com/TACC/Lmod
|
|
Source0: https://github.com/TACC/Lmod/archive/refs/tags/%{version}.tar.gz
|
|
Source1: macros.%{name}
|
|
|
|
# redirect echo stmts to stderr in init/bash.in
|
|
# Having them go to stdout breaks openQA tests when Lmod is installed
|
|
# Backported version of
|
|
# https://github.com/TACC/Lmod/commit/fa2e3a1a84951b38a56c76391e6b0c340c0199a7
|
|
|
|
BuildRequires: gcc
|
|
BuildRequires: lua-devel
|
|
BuildRequires: lua-filesystem
|
|
BuildRequires: lua-json
|
|
BuildRequires: lua-posix
|
|
BuildRequires: lua-term
|
|
BuildRequires: tcl-devel
|
|
BuildRequires: zsh
|
|
Requires: lua-filesystem
|
|
Requires: lua-json
|
|
Requires: lua-posix
|
|
Requires: lua-term
|
|
Requires: /usr/bin/ps
|
|
Provides: environment(modules)
|
|
|
|
%description
|
|
Lmod is a Lua based module system that easily handles the MODULEPATH
|
|
Hierarchical problem. Environment Modules provide a convenient way to
|
|
dynamically change the users' environment through modulefiles. This includes
|
|
easily adding or removing directories to the PATH environment variable.
|
|
Modulefiles for library packages provide environment variables that specify
|
|
where the library and header files can be found.
|
|
|
|
|
|
%prep
|
|
%setup -q
|
|
sed -i -e 's,/usr/bin/env ,/usr/bin/,' src/*.tcl
|
|
# Remove bundled lua-filesystem and lua-term
|
|
rm -r pkgs/{luafilesystem,term} tools/json.lua
|
|
#sed -i -e 's, pkgs , ,' Makefile.in
|
|
# Remove unneeded shbangs
|
|
sed -i -e '/^#!/d' init/*.in
|
|
|
|
|
|
%build
|
|
%configure --prefix=%{_datadir} PS=/usr/bin/ps
|
|
%make_build
|
|
|
|
|
|
%install
|
|
export CFLAGS="${RPM_OPT_FLAGS}"
|
|
%make_install
|
|
# init scripts are sourced
|
|
find %{buildroot}%{_datadir}/lmod/%{version}/init -type f -exec chmod -x {} +
|
|
mkdir -p %{buildroot}%{_sysconfdir}/modulefiles
|
|
mkdir -p %{buildroot}%{_datadir}/modulefiles
|
|
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
|
|
|
|
cat <<'EOF' > %{buildroot}%{_sysconfdir}/profile.d/00-modulepath.sh
|
|
[ -z "$MODULEPATH" ] &&
|
|
[ "$(readlink /etc/alternatives/modules.sh)" = "/usr/share/lmod/lmod/init/profile" -o -f /etc/profile.d/z00_lmod.sh ] &&
|
|
export MODULEPATH=%{_sysconfdir}/modulefiles:%{_datadir}/modulefiles || :
|
|
EOF
|
|
|
|
cat << 'EOF' > %{buildroot}%{_sysconfdir}/profile.d/00-modulepath.csh
|
|
if (! $?MODULEPATH && ( `readlink /etc/alternatives/modules.csh` == /usr/share/lmod/lmod/init/cshrc || -f /etc/profile.d/z00_lmod.csh ) ) then
|
|
setenv MODULEPATH %{_sysconfdir}/modulefiles:%{_datadir}/modulefiles
|
|
endif
|
|
EOF
|
|
|
|
# Add a snippet to make sure that the 00-modulepath.* is included, when
|
|
# the user calls /etc/profile.d/modules.sh directly, just below
|
|
# the shbang line.
|
|
sed -i '2i\. /etc/profile.d/00-modulepath.sh\n' \
|
|
%{buildroot}%{_datadir}/lmod/lmod/init/profile
|
|
|
|
# Install the rpm config file
|
|
install -Dpm 644 %{SOURCE1} %{buildroot}/%{macrosdir}/macros.%{name}
|
|
|
|
%files
|
|
%license License
|
|
%doc INSTALL README.md README_lua_modulefiles.txt
|
|
%{_sysconfdir}/modulefiles
|
|
%config(noreplace) %{_sysconfdir}/profile.d/00-modulepath.csh
|
|
%config(noreplace) %{_sysconfdir}/profile.d/00-modulepath.sh
|
|
%ghost %{_sysconfdir}/profile.d/modules.csh
|
|
%ghost %{_sysconfdir}/profile.d/modules.sh
|
|
%{_datadir}/lmod
|
|
%{_datadir}/modulefiles
|
|
%{macrosdir}/macros.%{name}
|
|
|
|
|
|
%changelog
|
|
* Fri May 05 2023 Ge Wang <wang__ge@126.com> - 8.7.24-1
|
|
- Update to 8.7.24
|
|
|
|
* Thu Mar 02 2023 xu_ping <xuping33@h-partners.com> - 8.7.4-2
|
|
- Add debug package to add strip.
|
|
|
|
* Tue Aug 2 2022 wenzhiwei <wenzhiwei@kylinos.cn> - 8.7.4-1
|
|
- Update to 8.7.4
|
|
|
|
* Sat May 7 2022 liyanan <liyanan32@h-partners.com> - 8.1.17-2
|
|
- Support for lua 5.4 added
|
|
|
|
* Fri Oct 10 2020 wangxiao <wangxiao65@huawei.com> - 8.1.17-1
|
|
- package init.
|