User:DanielDrake/Notes: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= RPM dev =
= RPM dev =
== initial setup ==
== initial setup ==
* install packages: fedora-rpmdevtools yum-utils
* install packages: rpmdevtools yum-utils fedora-packager
* run rpmdev-setuptree to create ~/rpmbuild hierarchy and .rpmmacros settings
* run rpmdev-setuptree to create ~/rpmbuild hierarchy and .rpmmacros settings


Line 13: Line 13:


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


Line 26: Line 26:
* [http://fedoraproject.org/wiki/Docs/Drafts/BuildingPackagesGuide building packages guide]
* [http://fedoraproject.org/wiki/Docs/Drafts/BuildingPackagesGuide building packages guide]
* [https://fedoraproject.org/wiki/UsingCvs fedora package cvs]
* [https://fedoraproject.org/wiki/UsingCvs fedora package cvs]
* [http://fedoraproject.org/wiki/PackageMaintainers/CreatingPackageHowTo creating package howto]


= misc =
= misc =
Line 40: Line 41:
* run <tt>copy-nand u:\osXYZ.img</tt>?
* run <tt>copy-nand u:\osXYZ.img</tt>?
* this wipes everything
* this wipes everything
* run <tt>boot</tt>

= reverse dependencies =
* what requires libgnome?
** <tt>rpm -q --provides libgnome</tt>
** for each line of output: <tt>rpm -q --whatrequires FOO</tt>
* what does libgnome require?
** <tt>rpm -q -R libgnome</tt>

Latest revision as of 11:21, 4 June 2009

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