Smart: Difference between revisions

From Yocto Project
Jump to navigationJump to search
(Update now smart has been merged)
(Use --installed option for first query)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
http://labix.org/smart/
http://labix.org/smart/


Smart is now merged into OE-Core / Poky master.
Smart is now used in conjunction with RPM in OE-Core / Poky as of 1.4 (dylan).


To test this out querying a root filesystem on the host:
You can use this on the target if you are using RPM packaging and have package-management in IMAGE_FEATURES.
 
To interact with a root filesystem using Smart on the host:


  # Ensure you are using "package_rpm" in PACKAGE_CLASSES
  # Ensure you are using "package_rpm" in PACKAGE_CLASSES
  # Comment out the line in core-image-minimal that removes the packaging data files
  # Have EXTRA_IMAGE_FEATURES += "package-management" in local.conf
  # <code>bitbake core-image-minimal</code>
  # <code>bitbake core-image-minimal</code>
  # <code>bitbake -c devshell core-image-minimal</code>
  # <code>bitbake -c devshell core-image-minimal</code>
  # Within the devshell:
  # Then, within the devshell:
  cd ../rootfs
  cd ../rootfs
export PATH=/path/to/native/sysroot/usr/bin/python-native:$PATH
  export RPM_ETCRPM=$PWD/etc/rpm
  export RPM_ETCRPM=$PWD/etc/rpm
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.
You should now be able to query the packages installed into the rootfs e.g.
  smart --data-dir=$PWD/var/lib/smart query
  smart --data-dir=$PWD/var/lib/smart query --installed


If you add an rpm-dir channel and run smart under pseudo you can install and uninstall packages:
If you add an rpm-dir channel and run smart under pseudo you can install and uninstall packages:
Line 24: Line 22:
  smart --data-dir=$PWD/var/lib/smart channel --add test type=rpm-dir path=/path/to/tmp/deploy/rpm/i586
  smart --data-dir=$PWD/var/lib/smart channel --add test type=rpm-dir path=/path/to/tmp/deploy/rpm/i586
  smart --data-dir=$PWD/var/lib/smart query # verify that the new channel is recognized
  smart --data-dir=$PWD/var/lib/smart query # verify that the new channel is recognized
  unset PSEUDO_DISABLED
  smart --data-dir=$PWD/var/lib/smart install zip # install 'zip' in the rootfs
unset PSEUDO_UNLOAD
export PSEUDO_LOCALSTATEDIR=$PWD/../pseudo
pseudo smart --data-dir=$PWD/var/lib/smart install zip # install 'zip' in the rootfs

Latest revision as of 08:08, 24 July 2013

http://labix.org/smart/

Smart is now used in conjunction with RPM in OE-Core / Poky as of 1.4 (dylan).

You can use this on the target if you are using RPM packaging and have package-management in IMAGE_FEATURES.

To interact with a root filesystem using Smart on the host:

# Ensure you are using "package_rpm" in PACKAGE_CLASSES
# Have EXTRA_IMAGE_FEATURES += "package-management" in local.conf
# bitbake core-image-minimal
# bitbake -c devshell core-image-minimal
# Then, within the devshell:
cd ../rootfs
export RPM_ETCRPM=$PWD/etc/rpm

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

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

If you add an rpm-dir channel and run smart under pseudo you can install and uninstall packages:

smart --data-dir=$PWD/var/lib/smart channel --add test type=rpm-dir path=/path/to/tmp/deploy/rpm/i586
smart --data-dir=$PWD/var/lib/smart query # verify that the new channel is recognized
smart --data-dir=$PWD/var/lib/smart install zip # install 'zip' in the rootfs