便利なEnvironmentModulesなのだが、バージョンによってまちまち.

  • CentOS7 3.2.10
  • RockyLinux8 4.5.2
  • RockyLinux9 5.0.1
  • Ubuntu18.04 4.1.1
  • Ubuntu20.04 4.4.1
  • Ubuntu22.04 5.0.1

っで最新版はhttps://modules.sourceforge.net/から 5.2.0(2022.12.05時点) である.
これをrpmで作ってみた

rockylinux

幸いなことにfedora様にて5.2.0がリリースされている. そこにSPECもあるのでそれを採用してみた

[root@rockylinux ~]# cat /etc/redhat-release
Rocky Linux release 8.6 (Green Obsidian)
 
[root@rockylinux ~]# wget https://kojipkgs.fedoraproject.org/packages/environment-modules/5.2.0/2.fc38/src/environment-modules-5.2.0-2.fc38.src.rpm
[root@rockylinux ~]# ls -lh environment-modules-5.2.0-2.fc38.src.rpm
-rw-r--r--. 1 root root 1.6M Jan 19 11:43 environment-modules-5.2.0-2.fc38.src.rpm
 
[root@rockylinux ~]# dnf --enablerepo=powertools install dejagnu tcl-devel
[root@rockylinux ~]# rpmbuild --rebuild environment-modules-5.2.0-2.fc38.src.rpm
 
[root@rockylinux ~]# ls -l rpmbuild/RPMS/x86_64/
total 716
-rw-r--r--. 1 root root 649856 Feb  4 01:36 environment-modules-5.2.0-2.el8.x86_64.rpm
-rw-r--r--. 1 root root  54336 Feb  4 01:36 environment-modules-debuginfo-5.2.0-2.el8.x86_64.rpm
-rw-r--r--. 1 root root  24512 Feb  4 01:36 environment-modules-debugsource-5.2.0-2.el8.x86_64.rpm
[root@rockylinux ~]#

っでインストールしてみる

[root@rockylinux ~]# dnf localinstall rpmbuild/RPMS/x86_64/environment-modules-5.2.0-2.el8.x86_64.rpm
 
[root@rockylinux ~]# source /etc/profile.d/modules.sh
[root@rockylinux ~]# module --version
Modules Release 5.2.0 (2022-11-08)
[root@rockylinux ~]#

大丈夫みたい

CentOS7

次にCentOS7
同じくfedora様で公開されている 5.2.0 のsource rpmを利用させて頂きます

[root@centos7 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
 
[root@centos7 ~]# wget https://kojipkgs.fedoraproject.org//packages/environment-modules/5.2.0/2.fc38/src/environment-modules-5.2.0-2.fc38.src.rpm
[root@centos7 ~]# rpm -Uvh environment-modules-5.2.0-2.fc38.src.rpm
[root@centos7 ~]# yum --enablerepo=epel install nagelfar
[root@centos7 ~]# yum install dejagnu tcl-devel
--- rpmbuild/SPECS/environment-modules.spec.orig        2022-11-08 15:36:58.000000000 +0900
+++ rpmbuild/SPECS/environment-modules.spec     2022-12-05 01:51:26.641919953 +0900
@@ -33,7 +33,7 @@
 Obsoletes:      environment-modules-compat <= 4.8.99
 
 # Tcl linter is useful for module lint command
-Recommends:     nagelfar
+#Recommends:     nagelfar
 
 %description
 The Environment Modules package provides for the dynamic modification of
[root@centos7 ~]# rpmbuild -bb rpmbuild/SPECS/environment-modules.spec
[root@centos7 ~]# ls -l rpmbuild/RPMS/x86_64/
total 684
-rw-r--r--. 1 root root 645728 Dec  5 01:53 environment-modules-5.2.0-1.el7.x86_64.rpm
-rw-r--r--. 1 root root  51104 Dec  5 01:53 environment-modules-debuginfo-5.2.0-1.el7.x86_64.rpm
[root@centos7 ~]#

ubuntu20.04

一応 debianの下記サイトで「environment-modules_5.2.0-1_amd64.deb」というパッケージを入手できるが、これは glibc 2.34以上が必要で 2.31のubuntu20.04には適用できない. ubuntu21.10以上でないと無理.
https://packages.debian.org/ja/sid/environment-modules
だた幸いこのサイトでdebuildによるパッケージ作成のためのファイルが用意されている. それらを使ってパッケージdebファイルを作ってみた

root@ubuntu:~# grep 'VERSION=' /etc/os-release
VERSION="20.04.5 LTS (Focal Fossa)"
 
root@ubuntu:~# wget http://deb.debian.org/debian/pool/main/m/modules/modules_5.2.0-1.dsc
root@ubuntu:~# wget http://deb.debian.org/debian/pool/main/m/modules/modules_5.2.0.orig.tar.xz
root@ubuntu:~# wget http://deb.debian.org/debian/pool/main/m/modules/modules_5.2.0-1.debian.tar.xz
 
root@ubuntu:~# tar xf modules_5.2.0.orig.tar.xz
 
root@ubuntu:~# ls -lh
total 1.5M
drwxr-xr-x 9 illya illya 4.0K 11月 13 21:30 modules-5.2.0
-rw-r--r-- 1 root  root  7.6K 11月 15 01:59 modules_5.2.0-1.debian.tar.xz
-rw-r--r-- 1 root  root  1.9K 11月 15 01:59 modules_5.2.0-1.dsc
-rw-r--r-- 1 root  root  1.4M 11月 15 01:59 modules_5.2.0.orig.tar.xz
 
root@ubuntu:~# cd modules-5.2.0/
root@ubuntu:~/modules-5.2.0# ls -CF
ChangeLog           contrib/          doc/         INSTALL-win.rst  Makefile.inc.in  README.md       site.exp.in  version.inc.in
CODE_OF_CONDUCT.md  CONTRIBUTING.rst  init/        lib/             MIGRATING.rst    script/         tcl/
configure*          COPYING.GPLv2     INSTALL.rst  Makefile         NEWS.rst         siteconfig.tcl  testsuite/
 
root@ubuntu:~/modules-5.2.0# tar xf ../modules_5.2.0-1.debian.tar.xz
 
root@ubuntu:~/modules-5.2.0# ls -CF
ChangeLog           contrib/          debian/  INSTALL.rst      Makefile         NEWS.rst   siteconfig.tcl  testsuite/
CODE_OF_CONDUCT.md  CONTRIBUTING.rst  doc/     INSTALL-win.rst  Makefile.inc.in  README.md  site.exp.in     version.inc.in
configure*          COPYING.GPLv2     init/    lib/             MIGRATING.rst    script/    tcl/
 
root@ubuntu:~/modules-5.2.0# ls -CF debian/
changelog  control  copyright  environment-modules.dirs  gbp.conf  modulespath  patches/  profile.sh  rules*  source/  watch
 
root@ubuntu:~/modules-5.2.0# vi debian/control
--- debian/control.orig 2023-02-04 10:45:22.188858912 +0900
+++ debian/control      2023-02-04 10:45:31.693161944 +0900
@@ -7,7 +7,7 @@
 Vcs-Browser: https://salsa.debian.org:/mckinstry/modules.git
 Vcs-Git: https://salsa.debian.org:/mckinstry/modules.git -b debian/latest
 Build-Depends: tcl8.6-dev | tcl-dev,
-  debhelper-compat (= 13),
+  debhelper-compat (= 12),
   dejagnu,
   tclx8.4-dev,
   less,
root@ubuntu:~/modules-5.2.0# apt update
root@ubuntu:~/modules-5.2.0# apt install devscripts
 
root@ubuntu:~/modules-5.2.0# debuild -uc -us -b
 dpkg-buildpackage -us -uc -ui -b
dpkg-buildpackage: info: source package modules
dpkg-buildpackage: info: source version 5.2.0-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Alastair McKinstry <mckinstry@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying reproducible-build.patch
dpkg-source: info: applying configure.patch
dpkg-checkbuilddeps: error: Unmet build dependencies: tcl8.6-dev | tcl-dev debhelper-compat (= 12) dejagnu tclx8.4-dev   <---これらのパッケージが不足
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui -b failed
 
root@ubuntu:~/modules-5.2.0#
 
(構築に必要なパッケージをインストール)
root@ubuntu:~/modules-5.2.0# apt install tcl8.6-dev tcl-dev debhelper-compat dejagnu tclx8.4-dev
 
(build再開)
root@ubuntu:~/modules-5.2.0# debuild -uc -us -b
root@ubuntu:~/modules-5.2.0# cd ..
 
root@ubuntu:~# ls -l environment-modules_5.2.0-1_amd64.deb
-rw-r--r-- 1 root root 298532  2月  4 11:11 environment-modules_5.2.0-1_amd64.deb
 
root@ubuntu:~# 
root@ubuntu:~# dpkg -i ./environment-modules_5.2.0-1_amd64.deb
 
root@ubuntu:~# source /etc/profile.d/modules.sh
root@ubuntu:~# module --version
Modules Release 5.2.0 (2022-11-08)
root@ubuntu:~#

ubuntu22.04

「apt install environment-modules」でインストールされるenvironment-modulesのバージョンは 5.0.1
debianのサイトで出されている environment-modules は 5.2.0 なので、こちらのパッケージを拝借します

root@ubuntu22:~# grep "VERSION=" /etc/os-release
VERSION="22.04 (Jammy Jellyfish)"
 
root@ubuntu22:~# wget http://ftp.jp.debian.org/debian/pool/main/m/modules/environment-modules_5.2.0-1_amd64.deb
 
root@ubuntu22:~# dpkg -i environment-modules_5.2.0-1_amd64.deb
 
root@ubuntu22:~# source /etc/profile.d/modules.sh
root@ubuntu22:~# module --version
Modules Release 5.2.0 (2022-11-08)
root@ubuntu22:~#

メモ

4.x.xの挙動にちょいと残念に思ったけど5.x.xになって3.x.x時代の機能が復活されて楽になった.


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2023-02-04 (土) 11:25:13 (125d)