ようやく下記が利用できるようになったのですが、
SUZ-LAB Repository !最後に行ったリポジトリ用RPMの作成とSRPMも含めたリポジトリの作成の方法も
メモとして残しておきます。(半分は下記の復習ですが...)
SUZ-LABリポジトリ(yum)追加用RPMも用意してみた
ソースの準備
"/etc/yum.repos.d/"にインストールするファイルを
"/opt/suz-lab/share/rpmbuild/SOURCES/"に用意します。
# cd /opt/suz-lab/share/rpmbuild/SOURCES/ # cp /etc/yum.repos.d/suz-lab.repo ./ # cat suz-lab.repo [suz-lab] name=SUZ-LAB Packages for CentOS 6 - x86_64 baseurl=http://yum.suz-lab.com/yum/6/binary enabled=1 gpgcheck=0
SPECファイルの準備
"/opt/suz-lab/share/rpmbuild/SPECS/"に下記のSPECファイルを準備します。
# cd /opt/suz-lab/share/rpmbuild/SPECS/
# cat suzlab-release.spec
Name: suzlab-release
Version: 6
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
* Wed Jan 02 2013 Hiroyasu Suzuki - 6-1
- Initial Package for CentOS 6
"rpmbuild"でビルド
"-ba"でバイナリパッケージがRPMSにソースパッケージがSRPMSに出力されます。
# rpmbuild -ba suzlab-release.spec 実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.zxq1ro + umask 022 + cd /opt/suz-lab/share/rpmbuild/BUILD + cd /opt/suz-lab/share/rpmbuild/BUILD + rm -rf suzlab-release-6 + /bin/mkdir -p suzlab-release-6 + cd suzlab-release-6 + /bin/chmod -Rf a+rX,u+w,g-w,o-w . + install -pm 644 /opt/suz-lab/share/rpmbuild/SOURCES/suz-lab.repo . + exit 0 実行中(%build): /bin/sh -e /var/tmp/rpm-tmp.hV5VDa + umask 022 + cd /opt/suz-lab/share/rpmbuild/BUILD + cd suzlab-release-6 + exit 0 実行中(%install): /bin/sh -e /var/tmp/rpm-tmp.rNGvQW + umask 022 + cd /opt/suz-lab/share/rpmbuild/BUILD + cd suzlab-release-6 + rm -rf /opt/suz-lab/share/rpmbuild/BUILDROOT/suzlab-release-6-1.x86_64 + install -dm 755 /opt/suz-lab/share/rpmbuild/BUILDROOT/suzlab-release-6-1.x86_64/etc/yum.repos.d + install -pm 644 /opt/suz-lab/share/rpmbuild/SOURCES/suz-lab.repo /opt/suz-lab/share/rpmbuild/BUILDROOT/suzlab-release-6-1.x86_64/etc/yum.repos.d + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip + /usr/lib/rpm/brp-strip-static-archive + /usr/lib/rpm/brp-strip-comment-note Processing files: suzlab-release-6-1.noarch Provides: config(suzlab-release) = 6-1 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 伸張ファイルの検査中: /usr/lib/rpm/check-files /opt/suz-lab/share/rpmbuild/BUILDROOT/suzlab-release-6-1.x86_64 書き込み完了: /opt/suz-lab/share/rpmbuild/SRPMS/suzlab-release-6-1.src.rpm 書き込み完了: /opt/suz-lab/share/rpmbuild/RPMS/noarch/suzlab-release-6-1.noarch.rpm 実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.rgyo9h + umask 022 + cd /opt/suz-lab/share/rpmbuild/BUILD + cd suzlab-release-6 + rm -rf /opt/suz-lab/share/rpmbuild/BUILDROOT/suzlab-release-6-1.x86_64 + exit 0
バイナリパッケージ(RPMS)のリポジトリ作成
バイナリパッケージが出力されるディレクトリに入ります。
# cd /opt/suz-lab/share/rpmbuild/RPMS
リポジトリを作成します。
# createrepo -d ./ 3/3 - x86_64/bash-doc-4.1.2-9.el6_2.suzlab_1.x86_64.rpm Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
HTML関係も作成します。
# repoview --title="SUZ-LAB Binary Package" --url="http://yum.suz-lab.com/yum/6/binary" ./ Examining repository...done Opening primary database...done Opening changelogs database...done Copying layout...done Examining state db...done Collecting group information...done Collecting letters...done Writing package bash-doc.html Writing group development.languages.group.html Writing package suzlab-release.html Writing group system_environment.base.group.html Writing package bash.html Writing group system_environment.shells.group.html Writing group letter_b.group.html Writing group letter_s.group.html Collecting latest packages...done Writing index.html...done Generating rss feed...done
S3にアップロードします。
# s3cmd -P sync ./ s3://ap-northeast-1.yum.suz-lab.com/yum/6/binary/
確認します。(http://yum.suz-lab.com/yum/6/binary/repoview/)
ソースパッケージ(RPMS)のリポジトリ作成
ソースパッケージが出力されるディレクトリに入ります。
# cd /opt/suz-lab/share/rpmbuild/SRPMS
リポジトリを作成します。
# createrepo -d ./ 2/2 - bash-4.1.2-9.el6_2.suzlab_1.src.rpm Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
HTML関係も作成します。
# repoview --title="SUZ-LAB Source Packages" --url="http://yum.suz-lab.com/yum/6/source" ./ Examining repository...done Opening primary database...done Opening changelogs database...done Copying layout...done Examining state db...done Collecting group information...done Collecting letters...done Writing package suzlab-release.html Writing group system_environment.base.group.html Writing package bash.html Writing group system_environment.shells.group.html Writing group letter_b.group.html Writing group letter_s.group.html Collecting latest packages...done Writing index.html...done Generating rss feed...done
S3にアップロードします。
# s3cmd -P sync ./ s3://ap-northeast-1.yum.suz-lab.com/yum/6/source/
確認します。(http://yum.suz-lab.com/yum/6/source/repoview/)
GitHubのSPECファイル
下記に置いておきました。
https://github.com/suz-lab/suz-lab-centos-ami/tree/master/share/rpmbuild/SPECS
ようやくAMIの作業に入れる...
--------
http://www.suz-lab.com




0 コメント:
コメントを投稿