CentOS5.10でGitBucket2.4.1のrpmを作成しインストールする方法
概説
ここでは、CentOS5.10の環境で、GitBucket2.4.1のrpmファイルを作成、インストールし、ログイン画面が表示されるまでを示します。
前提
- 作業はrootユーザーで行うこととします。
- 「rpm-build.x86_64」などビルドに必要そうなコマンドは一通りインストール済みであることとします。
- GitBucketの実行にjavaコマンドが必要になるため、事前に「java-1.7.0-openjdk」等をインストールし、javaコマンドが実行可能な状態にしておきます。
# yum groupinstall "Development Tools"
# yum install rpm-build.x86_64
# yum install java-1.7.0-openjdk.x86_64
事前準備
まず、ビルドに必要な関連ファイルを所定のディレクトリにコピーします。
GitBucketのバージョン番号については、最新のモノに適宜読み替えてください。
# cd ~
# git clone https://github.com/takezoe/gitbucket.git
# cp gitbucket/contrib/linux/redhat/gitbucket.spec /usr/src/redhat/SPECS/
# cp gitbucket/contrib/gitbucket.conf /usr/src/redhat/SOURCES/
# cp gitbucket/contrib/gitbucket.init /usr/src/redhat/SOURCES/
# wget https://github.com/takezoe/gitbucket/releases/download/2.4.1/gitbucket.war -O /usr/src/redhat/SOURCES/gitbucket.war
# wget https://github.com/takezoe/gitbucket/archive/2.4.1.tar.gz -O /usr/src/redhat/SOURCES/gitbucket-2.4.1.tar.gz
# rm -fr gitbucket
specファイルの修正
specファイル内のバージョンの記述を最新版のモノに書き換える。
事前にバックアップを取っておく
# cp /usr/src/redhat/SPECS/gitbucket.spec /usr/src/redhat/SPECS/gitbucket.spec.orig
修正箇所確認
# diff /usr/src/redhat/SPECS/gitbucket.spec /usr/src/redhat/SPECS/gitbucket.spec.orig
3c3
< Version: 2.4
---
> Version: 1.7
rpmファイルの作成
下準備が揃ったので、rpmbuildコマンドでrpmファイルを作成します。
# rpmbuild -ba /usr/src/redhat/SPECS/gitbucket.spec
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.57692
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ '[' /var/tmp/gitbucket-2.4-1-root '!=' / ']'
+ /bin/rm -rf /var/tmp/gitbucket-2.4-1-root
+ /bin/mkdir -p /var/tmp/gitbucket-2.4-1-root/etc/init.d /var/tmp/gitbucket-2.4-1-root/etc/sysconfig '/var/tmp/gitbucket-2.4-1-root%{_datarootdir}/gitbucket/lib' /var/tmp/gitbucket-2.4-1-root/usr/com/gitbucket /var/tmp/gitbucket-2.4-1-root/var/log/gitbucket
+ /usr/bin/install -m 0644 /usr/src/redhat/SOURCES/gitbucket.war '/var/tmp/gitbucket-2.4-1-root%{_datarootdir}/gitbucket/lib'
+ /usr/bin/install -m 0755 /usr/src/redhat/SOURCES/gitbucket.init /var/tmp/gitbucket-2.4-1-root/etc/init.d/gitbucket
+ /usr/bin/install -m 0644 /usr/src/redhat/SOURCES/gitbucket.conf /var/tmp/gitbucket-2.4-1-root/etc/sysconfig/gitbucket
+ touch /var/tmp/gitbucket-2.4-1-root/var/log/gitbucket/run.log
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: gitbucket-2.4-1
error: File must begin with "/": %{_datarootdir}/gitbucket/lib/gitbucket.war
Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/gitbucket-2.4-1-root
RPM build errors:
File must begin with "/": %{_datarootdir}/gitbucket/lib/gitbucket.war
残念ながら「File must begin with "/": %{_datarootdir}/gitbucket/lib/gitbucket.war」というエラーが発生しました。
どうやら、「%{_datarootdir}」の部分が正しい文字列に置き換わっていないため、パスが不正となっているようです。
では、「%{_datarootdir}」を何に書き換えればよいかということで、手がかりになりそうな「gitbucket.conf」を開きます。
# vim /usr/src/redhat/SOURCES/gitbucket.conf
・
・
省略
・
・
# Directory where GitBucket is installed
# Configuration is stored here:
GITBUCKET_DIR=/usr/share/gitbucket <=== それっぽい
GITBUCKET_WAR_DIR=$GITBUCKET_DIR/lib
「GITBUCKET_DIR」として定義されている「/usr/share/gitbucket」がすごくそれっぽいので、これに置き換えます。
# vim /usr/src/redhat/SPECS/gitbucket.spec
実行
:%s/%{_datarootdir}/\/usr\/share/g
修正箇所確認
# diff /usr/src/redhat/SPECS/gitbucket.spec /usr/src/redhat/SPECS/gitbucket.spec.orig
3c3
< Version: 2.4
---
> Version: 1.7
23,24c23,24
< %{__mkdir_p} %{buildroot}{%{_sysconfdir}/{init.d,sysconfig},/usr/share/%{name}/lib,%{_sharedstatedir}/%{name},%{_localstatedir}/log/%{name}}
< %{__install} -m 0644 %{SOURCE0} %{buildroot}/usr/share/%{name}/lib
---
> %{__mkdir_p} %{buildroot}{%{_sysconfdir}/{init.d,sysconfig},%{_datarootdir}/%{name}/lib,%{_sharedstatedir}/%{name},%{_localstatedir}/log/%{name}}
> %{__install} -m 0644 %{SOURCE0} %{buildroot}%{_datarootdir}/%{name}/lib
36c36
< /usr/share/%{name}/lib/%{name}.war
---
> %{_datarootdir}/%{name}/lib/%{name}.war
rpmbuildコマンドでビルドの再実行を行います。
# rpmbuild -ba /usr/src/redhat/SPECS/gitbucket.spec
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.4672
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ '[' /var/tmp/gitbucket-2.4-1-root '!=' / ']'
+ /bin/rm -rf /var/tmp/gitbucket-2.4-1-root
+ /bin/mkdir -p /var/tmp/gitbucket-2.4-1-root/etc/init.d /var/tmp/gitbucket-2.4-1-root/etc/sysconfig /var/tmp/gitbucket-2.4-1-root/usr/share/gitbucket/lib /var/tmp/gitbucket-2.4-1-root/usr/com/gitbucket /var/tmp/gitbucket-2.4-1-root/var/log/gitbucket
+ /usr/bin/install -m 0644 /usr/src/redhat/SOURCES/gitbucket.war /var/tmp/gitbucket-2.4-1-root/usr/share/gitbucket/lib
+ /usr/bin/install -m 0755 /usr/src/redhat/SOURCES/gitbucket.init /var/tmp/gitbucket-2.4-1-root/etc/init.d/gitbucket
+ /usr/bin/install -m 0644 /usr/src/redhat/SOURCES/gitbucket.conf /var/tmp/gitbucket-2.4-1-root/etc/sysconfig/gitbucket
+ touch /var/tmp/gitbucket-2.4-1-root/var/log/gitbucket/run.log
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: gitbucket-2.4-1
Provides: config(gitbucket) = 2.4-1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /bin/bash config(gitbucket) = 2.4-1 java >= 1.7
Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/gitbucket-2.4-1-root
Wrote: /usr/src/redhat/SRPMS/gitbucket-2.4-1.src.rpm
Wrote: /usr/src/redhat/RPMS/noarch/gitbucket-2.4-1.noarch.rpm <=== rpmファイルが作成されました
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.7258
+ umask 022
+ cd /usr/src/redhat/BUILD
+ '[' /var/tmp/gitbucket-2.4-1-root '!=' / ']'
+ /bin/rm -rf /var/tmp/gitbucket-2.4-1-root
+ exit 0
今度は正しく処理が終了し、rpmファイルが作成されました。
# ls -l /usr/src/redhat/RPMS/noarch/gitbucket-2.4-1.noarch.rpm
-rw-r--r-- 1 root root 50521338 Oct 10 18:12 /usr/src/redhat/RPMS/noarch/gitbucket-2.4-1.noarch.rpm
# ls -l /usr/src/redhat/SRPMS/gitbucket-2.4-1.src.rpm
-rw-r--r-- 1 root root 50521018 Oct 10 18:12 /usr/src/redhat/SRPMS/gitbucket-2.4-1.src.rpm
作成したGitBucket2.4.1のrpmをインストールする
# rpm -Uvh /usr/src/redhat/RPMS/noarch/gitbucket-2.4-1.noarch.rpm
error: Failed dependencies:
java >= 1.7 is needed by gitbucket-2.4-1.noarch
javaのバージョンが古いと怒られ、インストールに失敗しましたので、javaのバージョンを確認します。
# java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (rhel-2.5.1.2.el5_10-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
確かに、バージョン1.7以上のjavaがインストールされているようなので、「--nodeps」で無視して入れちゃいます。
# rpm -Uvh --nodeps /usr/src/redhat/RPMS/noarch/gitbucket-2.4-1.noarch.rpm
Preparing... ########################################### [100%]
1:gitbucket ########################################### [100%]
「%{_datarootdir}」を「/usr/share」に書き換えた部分が気になるので、「GITBUCKET_WAR_DIR」として定義されていた、「/usr/share/gitbucket/lib」配下にwarファイルが作成されているか確認します。
# ls -l /usr/share/gitbucket/lib/gitbucket.war
-rw-r--r-- 1 root root 51074315 Oct 10 18:12 /usr/share/gitbucket/lib/gitbucket.war
起動スクリプトの「/etc/rc.d/init.d/gitbucket」がそのままではCentOS5で動作しないため、一部書き換えます。
事前にバックアップを取っておく
# cp /etc/rc.d/init.d/gitbucket /etc/rc.d/init.d/gitbucket.orig
修正箇所確認
# diff /etc/rc.d/init.d/gitbucket /etc/rc.d/init.d/gitbucket.orig
13c13
< #set -e
---
> set -e
16c16
< #[ -f /etc/rc.common ] && source /etc/rc.common # Mac OS/X
---
> [ -f /etc/rc.common ] && source /etc/rc.common # Mac OS/X
24c24
< #[ -f gitbucket.conf ] && source gitbucket.conf # For all systems
---
> [ -f gitbucket.conf ] && source gitbucket.conf # For all systems
34c34
< #if [ -z "$(which success)" ]; then
---
> if [ -z "$(which success)" ]; then
38,39c38,39
< #fi
< #if [ -z "$(which failure)" ]; then
---
> fi
> if [ -z "$(which failure)" ]; then
43c43
< #fi
---
> fi
GitBucketのサービスを起動します。
# service gitbucket start
Starting GitBucket server: Success
http://path_to_domain:8080 にアクセスすると、ログイン画面が表示されます。
初期状態では、「Username:root / Password:root」でログイン可能です。
参考URL
GitBucket-CentOS
GitBucket 2.1のRPMを作成する
GitLabとGitBucketとお試しインストール
Author And Source
この問題について(CentOS5.10でGitBucket2.4.1のrpmを作成しインストールする方法), 我々は、より多くの情報をここで見つけました https://qiita.com/akase244/items/6f9f01e34024e9f5e74a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .