Fedora 16 - 20
注意: 以下の文献は古いです😅 yum を dnf に置き換えて作業する必要がありそうです🤔
dnf / yum 比較 - パッケージ管理関連
$ sudo yum install @development-tools $ sudo yum install fedora-packager
CentOS 7
$ sudo yum groupinstall "Development Tools" $ sudo yum install fedora-packager
※インストール可能なグループ一覧を取得するには、 bash -c 'LANG=C;yum grouplist' を実行する。
必ず root 以外で作業すること。
$ rpmdev-setuptree
ホームディレクトリに以下の構造が作成される。
rpmbuild +-- BUILD +-- BUILDROOT +-- RPMS +-- SOURCES +-- SPECS +-- SRPMS
Fedora 20
$ yumdownloader --source samba
直接最新をダウンロードする場合
$ curl -O https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/s/samba-4.1.1-2.fc21.src.rpm
※fc22用はlibldb-devel-1.1.17を要求するので、Fedora20ではビルドできない。
$ curl -O https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/s/samba-4.1.11-1.fc22.2.src.rpm
$ curl -O https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/SRPMS/Packages/s/samba-4.9.0-0.2.rc3.fc30.src.rpm
curl: (35) SSL connect error が発生する場合
$ sudo yum update nss
$ sudo useradd mockbuild $ sudo passwd mockbuild $ rpm -ivh samba-4.9.0-0.2.rc3.fc30.src.rpm
$ cp ~/rpmbuild/SPECS/samba.spec ~/rpmbuild/SPECS/samba.spec.org $ vi ~/rpmbuild/SPECS/samba.spec
変更箇所 | 変更前 | 変更後 | 備考 |
---|---|---|---|
46行目付近 | %global with_mitkrb5 1 %global with_dc 0 | %global with_mitkrb5 0 %global with_dc 1 | MIT Kerberos 5を無効にしてheimdal kerberosを組み込む。 Samba AD DCの機能を有効化する。 |
66行目付近 | Release: %{samba_release} | Release: %{samba_release}.mgc | 本家のパッケージ名と衝突しないようにする。 samba-4.1.1-2.fc19.mgc.x86_64.rpmにする。 |
その他changelogの曜日を修正。
$ diff ~/rpmbuild/SPECS/samba.spec.org ~/rpmbuild/SPECS/samba.spec 46,47c46,47 < %global with_mitkrb5 1 < %global with_dc 0 --- > %global with_mitkrb5 0 > %global with_dc 1 66c66 < Release: %{samba_release} --- > Release: %{samba_release}.mgc
$ sudo yum-builddep ~/rpmbuild/SPECS/samba.spec
読み込んだプラグイン:refresh-packagekit エラー: 371 行目: 不明なタグ: パッケージ libldb はインストールされていません。 Bad spec: /home/tomoyan/rpmbuild/SPECS/samba.spec No uninstalled build requires
371 %requires_eq libldb
Bug 1597701 - samba-4.8.3-1.fc29.2 FTBFS: %requires_eq breaks building in non-English locale
$ rpmbuild -ba rpmbuild/SPECS/samba.spec
野良リポジトリの構築方法はyumプライベートリポジトリの構築を参照のこと。
$ sudo mkdir -p /usr/share/nginx/html/pub/fedora/20/x86_64/ $ sudo mkdir -p /usr/share/nginx/html/pub/fedora/20/SRPMS/
$ scp -P 22 ~/rpmbuild/RPMS/x86_64/* tomoyan@tomoyan.net:/usr/share/nginx/html/pub/fedora/20/x86_64/ $ scp -P 22 ~/rpmbuild/SRPMS/* tomoyan@tomoyan.net:/usr/share/nginx/html/pub/fedora/20/SRPMS/
$ sudo createrepo -v /usr/share/nginx/html/pub/fedora/19/x86_64/ $ sudo createrepo -v /usr/share/nginx/html/pub/fedora/19/SRPMS/
インストール先のマシンに野良リポジトリの設定を行う。
$ sudo vi /etc/yum.repos.d/mgc.repo
[mgc] name=Fedora $releasever - $basearch Monster's Garage Repository failovermethod=priority baseurl=http://monsters-g.com/pub/fedora/$releasever/$basearch/ enabled=0 gpgcheck=0 priority=1 [mgc-source] name=Fedora $releasever - $basearch Monster's Garage Source Repository failovermethod=priority baseurl=http://monsters-g.com/pub/fedora/$releasever/SRPMS/ enabled=0 gpgcheck=0 priority=1
野良リポジトリを有効にしてyumを実行する。
$ sudo yum install samba samba-dc samba-pidl samba-client \ samba-winbind samba-winbind-clients samba-winbind-krb5-locator \ --enablerepo=mgc
mgc | 2.9 kB 00:00:00 mgc/19/x86_64/primary_db | 52 kB 00:00:00 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ samba.x86_64 2:4.0.9-1.fc19.mgc を インストール ... 依存性を解決しました ====================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ====================================================================================================== インストール中: samba x86_64 2:4.0.9-1.fc19.mgc mgc 529 k samba-client x86_64 2:4.0.9-1.fc19.mgc mgc 453 k samba-dc x86_64 2:4.0.9-1.fc19.mgc mgc 754 k samba-pidl x86_64 2:4.0.9-1.fc19.mgc mgc 150 k samba-winbind x86_64 2:4.0.9-1.fc19.mgc mgc 434 k samba-winbind-clients x86_64 2:4.0.9-1.fc19.mgc mgc 140 k samba-winbind-krb5-locator x86_64 2:4.0.9-1.fc19.mgc mgc 61 k 依存性関連でのインストールをします: iniparser x86_64 3.1-2.fc19 fedora 13 k libsmbclient x86_64 2:4.0.9-1.fc19.mgc mgc 109 k libwbclient x86_64 2:4.0.9-1.fc19.mgc mgc 77 k perl x86_64 4:5.16.3-265.fc19 updates 8.3 M perl-Carp noarch 1.26-243.fc19 fedora 19 k perl-Encode x86_64 2.54-1.fc19 updates 1.5 M perl-Filter x86_64 1.49-1.fc19 fedora 76 k perl-Parse-Yapp noarch 1.05-50.fc19 fedora 47 k perl-PathTools x86_64 3.40-3.fc19 updates 82 k perl-Pod-Escapes noarch 1:1.04-265.fc19 updates 47 k perl-Pod-Simple noarch 1:3.20-265.fc19 updates 236 k perl-Scalar-List-Utils x86_64 1.27-246.fc19 fedora 36 k perl-Socket x86_64 2.009-2.fc19 fedora 48 k perl-libs x86_64 4:5.16.3-265.fc19 updates 668 k perl-macros x86_64 4:5.16.3-265.fc19 updates 40 k perl-threads x86_64 1.87-1.fc19 fedora 49 k perl-threads-shared x86_64 1.43-2.fc19 fedora 38 k samba-common x86_64 2:4.0.9-1.fc19.mgc mgc 694 k samba-dc-libs x86_64 2:4.0.9-1.fc19.mgc mgc 776 k samba-libs x86_64 2:4.0.9-1.fc19.mgc mgc 4.8 M samba-python x86_64 2:4.0.9-1.fc19.mgc mgc 1.9 M トランザクションの要約 ====================================================================================================== インストール 7 パッケージ (+21 個の依存関係のパッケージ) 総ダウンロード容量: 22 M インストール容量: 83 M Is this ok [y/d/N]: y <-- 野良と依存パッケージを確認してyを入力。
$ samba -V Version 4.0.9 $ samba-tool -V 4.0.9 $ smbclient -V Version 4.0.9