User:DanielDrake/Notes

From OLPC
Jump to: navigation, search

RPM dev

initial setup

  • install packages: rpmdevtools yum-utils fedora-packager
  • run rpmdev-setuptree to create ~/rpmbuild hierarchy and .rpmmacros settings

obtaining/unpacking source and preparing build env

  • Find the source RPM either in the fedora archives or run yumdownloader --source <package>
  • install build-dependencies: sudo yum-builddep foo.src.rpm
  • unpack the sources: rpm -Uvh foo.src.rpm

unpacking sources

  • only if you want to generate new patches or whatever: cd ~/SPECS; rpmbuild -bp --target=`uname -m` foo.spec

building

  • cd ~/SPECS; rpmbuild -bb --target=`uname -m foo.spec
  • output is in ~/RPMS/<arch>

installing

  • sudo rpm -ivh --force ../RPMS/foo.rpm

links

misc

  • query installed sofware version: rpm -q <package>

additional notes for XO devel

  • other packages needed: git
  • other development utils I use: quilt

easy flashing from USB

  • download osXYZ.img and osXYZ.crc to usb drive
  • plug usb drive into XO
  • press esc during boot to reach openfirmware prompt
  • run copy-nand u:\osXYZ.img?
  • this wipes everything
  • run boot

reverse dependencies

  • what requires libgnome?
    • rpm -q --provides libgnome
    • for each line of output: rpm -q --whatrequires FOO
  • what does libgnome require?
    • rpm -q -R libgnome