From Fedora Project Wiki
The goal
$ yum emerge
- srpm download && rebuild using make options
- kernel .config
- sub-packages
- requires (strip)
- buildrequires (strip)
- configure opts
- patches++ (secondary)
- install new binary rpm
- srpm download && rebuild using make options
- the goal is to have and keep a closed and custom compiled RPMdB for applications
ms #1
- yum emerge foo
- rebuild foo
- install foo
ms #2
- yum emerge foo
- rebuild foo in mock
- install foo
ms #3
- yum emerge foo
- rebuild foo --without-bar
- strip requires
- strip buildrequires
- rebuild srpm
- build in mock
- install foo
- rebuild foo --without-bar
ms #4
- yum emerge foo
- download srpm
- install srpm
- edit spec to include Patchx: header and %PatchX macro
- rebuild foo (like ms #3)
- install foo
ms #5
- yum emerge foo
- download srpm
- install srpm
- edit foo
- rebuild (like ms#4)
- use new binary rpm to resolve immediate deps
- for dep in deps: (first search relevant srpm,misc.unique())
- download srpm
- edit rebuild
- for dep in deps: ...
ms #6
- yum emerge foo where foo has subpackages
- handle them somehow ...
oneliners
rpmquery --specfile --qf="%{NAME}\n" wireshark.spec | grep -E "^wireshark$" | xargs -n 1 -I{} repoquery --requires --qf="%{NAME}\n" "{}" | xargs -n 1 -I{} repoquery --whatprovides --qf="%{NAME}\n" "{}" | sort | uniq