(zsh) ある日のインフラ業 - bind の入れ替えを例に
雑に記録だけ。
大体、こんな感じだった。(Fedora22 の場合です. P3 の src.rpm はここから download. YMMV)
fn=bind-9.10.2-4.P3.fc22.src.rpm rpm -ivh $fn cp ~/rpmbuild/SPECS/bind.spec . # gpg --keyserver pgpkeys.mit.edu --recv-key 911A4C02 # gpg --edit-key codesign@isc.org trust # gpg bind-9.10.2-P4.tar.gz.sha512.asc fn=bind-9.10.2-P4.tar.gz cp $fn ~/rpmbuild/SOURCES sed -i -e 's/\(^%global PATCHVER\) P3/\1 P4/' bind.spec LANG=C rpmbuild -ba --define 'dist .hk2' bind.spec |& tee build.log sed -n 's/^Wrote: //p' build.log > bind-rpm.files typeset -A rpmdict rpmdict=($(for fn in $(grep /RPMS/ bind-rpm.files); rpm -qp --qf "%{NAME}\t$fn\n" $fn)) rpmnames=($(rpm -qa --qf '%{NAME}\n'| grep '^bind'|grep -v bind99|sort)) pkgs=() for n in $rpmnames; do pkgs+=($rpmdict[$n]) done sudo dnf upgrade $pkgs sudo systemctl restart named-chroot