Smart

From Yocto Project
Revision as of 08:56, 31 October 2012 by Robert (talk | contribs) (change the contrib branch)
Jump to navigationJump to search

http://labix.org/smart/

Mark's smart contrib branch:

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=mhatle/smart

To test this out querying a root filesystem on the host:

  1. Ensure you are using "package_rpm" in PACKAGE_CLASSES
  2. Comment out the line in core-image-minimal that removes the packaging data files
  3. bitbake core-image-minimal
  4. bitbake python-smartpm-native
  5. bitbake -c devshell core-image-minimal
  6. Within the devshell (note: channel stuff assumes you're building on a Debian/Ubuntu system which triggers this):
cd ../rootfs
export PYTHONPATH="/path/to/native/sysroot/usr/lib/python2.7/site-packages"
export RPM_ETCRPM=$PWD/etc/rpm
smart --data-dir=$PWD/var/lib/smart config --set detect-sys-channels=False
smart --data-dir=$PWD/var/lib/smart channel --remove deb-sys
smart --data-dir=$PWD/var/lib/smart channel --add rpmsys type=rpm-sys name="rpmsys"
smart --data-dir=$PWD/var/lib/smart config --set rpm-root=$PWD
smart --data-dir=$PWD/var/lib/smart config --set rpm-dbpath=/var/lib/rpm

You should now be able to query the packages installed into the rootfs e.g.

smart --data-dir=$PWD/var/lib/smart query

If you add an rpm-dir channel and run smart under fakechroot (or pseudo presumably, but fakechroot is simpler for testing here) you can install and uninstall packages.