From Fedora Project Wiki

< User:Baard

Revision as of 22:08, 26 January 2009 by Baard (talk | contribs) (New page: {{Admon/warning|This is a draft|}} = The goal = * <pre>$ yum emerge</pre> ** srpm download && rebuild using make options *** kernel .config *** sub-packages *** requires (strip) *** buil...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Warning.png
This is a draft

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
  • 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

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