rpmbuildの下準備

っで、まずは下準備

[root@openpbs ~]# cat /etc/redhat-release
Rocky Linux release 9.7 (Blue Onyx)
[root@openpbs ~]#
 
[root@openpbs ~]# mkdir -p ~/rpmbuild/{SOURCES,SPECS}

pbsproソースファイルの作成

https://github.com/openpbs/openpbsから最新コードが入手可能です.

[root@openpbs ~]# git clone https://github.com/openpbs/openpbs
[root@openpbs ~]# cd openpbs/
[root@openpbs openpbs]# git tag | tail -n 3
v20.0.1
v22.05.11
v23.06.06
[root@openpbs openpbs]# git log -1
commit f0f7c707b7aa88e0aa170f1b51f266a3f4c2be2f (HEAD -> master, origin/master, origin/HEAD)
Author: Lisanna Dettwyler <lisanna.dettwyler@gmail.com>
Date:   Wed Feb 11 15:37:20 2026 -0500
 
    Fix various incompatible function declarations (#2711)
 
    Signed-off-by: Lisanna Dettwyler <lisanna.dettwyler@gmail.com>
[root@openpbs openpbs]#
 
[root@openpbs openpbs]# less openpbs.spec
 :
%define pbs_version 23.06.06
 :
[root@openpbs openpbs]#

gitの最新版はどうも v23.06.06 の延長線っぽいので checkout せずそのまま使いたいと思います
ですが、事前に修正をソースコードに加えます
まず relion では "/" を含むジョブ名が出てくるので"/"のジョブ名を許容するように下記修正を加えます

--- a/src/lib/Libcmds/ck_job_name.c
+++ b/src/lib/Libcmds/ck_job_name.c
@@ -59,7 +59,7 @@ isalnumspch(int c)
        if (isalnum(c) != 0)
                return c;
 
-       if (c == '-' || c == '_' || c == '+' || c == '.')
+       if (c == '-' || c == '_' || c == '+' || c == '.' || c == '/' )
                return c;
 
        return 0;

その上で git の内容を tar.gz にして SOURCE へ置く

[root@openpbs openpbs]# cd ..
[root@openpbs ~]# tar --exclude-vcs --transform 's/openpbs/openpbs-23.06.06/' -cvzf ~/rpmbuild/SOURCES/openpbs-23.06.06.tar.gz openpbs

これで「~/rpmbuild/SOURCES」にソースtarballが用意される(~/rpmbuild/SOURCES/openpbs-23.06.06.tar.gz)

SPECファイルの準備

openpbsのspecファイルを「~/rpmbuild/SPECS/」内に配置する
幸い openpbs の git にはopenpbs.specファイルが用意されているのでこれをそのまま採用します

[root@openpbs ~]# cp openpbs/openpbs.spec ~/rpmbuild/SPECS/

そのままでもいいのだが、一部specファイルを修正します。

OpenPBSの既定の場所を変更 全くの好みです. Torqueがこの場所を使っていたので

--- rpmbuild/SPECS/openpbs.spec.orig    2026-03-13 23:41:57.083451265 +0900
+++ rpmbuild/SPECS/openpbs.spec 2026-03-13 23:42:09.249291048 +0900
@@ -56,7 +56,7 @@
 %endif
 
 %if !%{defined pbs_home}
-%define pbs_home /var/spool/pbs
+%define pbs_home /var/lib/pbs
 %endif
 
 %if !%{defined pbs_dbuser}

rpmbuildの実行

OpenPBSのbiuldに必要なパッケージをインストール
OSインストール時に「Develpment Tools」を入れていれば下記でOKみたい

[root@openpbs ~]# dnf groupinstall "Develpment Tools"
[root@openpbs ~]# dnf install epel-release
[root@openpbs ~]# dnf config-manager --enable crb 
 
[root@openpbs ~]# dnf install expat-devel hwloc-devel libX11-devel libXt-devel libedit-devel libical-devel \
libpq-devel ncurses-devel perl postgresql-contrib python3-devel swig tcl-devel tk-devel libtool-ltdl-devel cjson-devel

そうしてrpmbuildを実行します

[root@openpbs ~]# rpmbuild -ba rpmbuild/SPECS/openpbs.spec

「Python.h」がないとかでエラーになる場合は下記修正を入れてください

[root@openpbs ~]# PYTHON=python3.6m rpmbuild -ba rpmbuild/SPECS/openpbs.spec

完成品がこちら

[root@openpbs ~]# ls -l rpmbuild/RPMS/x86_64/
-rw-r--r--. 1 root root 1650301 Mar 13 23:48 openpbs-client-23.06.06-0.x86_64.rpm
-rw-r--r--. 1 root root 1646158 Mar 13 23:48 openpbs-client-debuginfo-23.06.06-0.x86_64.rpm
-rw-r--r--. 1 root root  735714 Mar 13 23:48 openpbs-debuginfo-23.06.06-0.x86_64.rpm
-rw-r--r--. 1 root root 1578578 Mar 13 23:48 openpbs-debugsource-23.06.06-0.x86_64.rpm
-rw-r--r--. 1 root root  542566 Mar 13 23:48 openpbs-devel-23.06.06-0.x86_64.rpm
-rw-r--r--. 1 root root 1907265 Mar 13 23:48 openpbs-execution-23.06.06-0.x86_64.rpm
-rw-r--r--. 1 root root 2203061 Mar 13 23:48 openpbs-execution-debuginfo-23.06.06-0.x86_64.rpm
-rw-r--r--. 1 root root 2620825 Mar 13 23:48 openpbs-server-23.06.06-0.x86_64.rpm
-rw-r--r--. 1 root root 6570825 Mar 13 23:48 openpbs-server-debuginfo-23.06.06-0.x86_64.rpm
[root@openpbs ~]#

品目が分かりやすくていい

最新の60件
2026-04-14 2026-04-13 2026-04-12 2026-04-08 2026-04-07 2026-04-06 2026-04-05 2026-04-04 2026-04-02 2026-03-26 2026-03-23 2026-03-21 2026-03-19 2026-03-15 2026-03-14 2026-03-13 2026-03-07 2026-03-06 2026-03-04 2026-03-02 2026-02-26 2026-02-24 2026-02-21 2026-02-18 2026-02-17 2026-02-16 2026-02-11 2026-02-09 2026-02-07 2026-02-06 2026-02-03 2026-02-02 2026-01-31 2026-01-26 2026-01-24 2026-01-18 2026-01-17 2026-01-12

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2026-03-13 (金) 23:49:53