2010年2月12日金曜日

SUZ-LABリポジトリ(yum)追加用RPMも用意してみた

スズキです。

例のごとく、RPM&リポジトリ化です。

まずは、いつものディレクトリへ。
# cd /usr/src/redhat

"/etc/yum.repos.d/"に追加するファイルは下記の通りです。
# cat SOURCES/suz-lab.repo
--------
[suz-lab]
name=SUZ-LAB Packages for Enterprise Linux $releasever - $basearch
baseurl=http://yum.suz-lab.com/5/$basearch
enabled=1
gpgcheck=0
--------

SPECファイルは、こんな感じです。
# cat SPECS/suzlab-release.spec
--------
Name: suzlab-release
Version: 5
Release: 1
Summary: YUM configuration for SUZ-LAB repository
Group: System Environment/Base
License: GPL
URL: http://www.suz-lab.com/
Source0: suz-lab.repo
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
Requires: redhat-release >= %{version}
%description
%prep
%setup -q -c -T
install -pm 644 %{SOURCE0} .
%build
%install
rm -rf $RPM_BUILD_ROOT
install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d
install -pm 644 %{SOURCE0} $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%config(noreplace) /etc/yum.repos.d/*
%changelog
* Fri Feb 12 2010 Hiroyasu Suzuki <suzuki@suz-lab.com> - 5-1
- Initial Package for RHEL 5
--------

そして、(S)RPMの作成です。
# rpmbuild -ba SPECS/suzlab-release.spec

そのRPMをリポジトリに追加します。
# cd /var/www/html/yum/5/i386
# cp /usr/src/redhat/RPMS/noarch/suzlab-release-5-1.noarch.rpm ./
# createrepo ./

SRPMもリポジトリに追加します。
# cd /var/www/html/yum/5/src
# cp /usr/src/redhat/SRPMS/suzlab-release-5-1.src.rpm ./
# createrepo ./

最後にS3のリポジトリと同期です。

すると、以下のようにRPMを利用してSUZ-LABリポジトリ(yum)を追加することができます。
# curl -OL http://yum.suz-lab.com/5/i386/suzlab-release-5-1.noarch.rpm
# rpm -Uvh suzlab-release-5-1.noarch.rpm
# yum repolist
...
suz-lab SUZ-LAB Packages for Enterprise Linux 5 - i386 enabled: 4
...

Enjoy!
--------
http://www.suz-lab.com

0 コメント: