Working on Smart within the Yocto Project

Paul Eggleton paul.eggleton at linux.intel.com
Tue Dec 4 03:56:02 PST 2012


Hi there,

Over the last month, Mark Hatle at Wind River Systems, myself and several 
other engineers have been working on integrating Smart into OpenEmbedded [1] 
as part of the Yocto Project [2] to be used in conjunction with RPM 5 when RPM 
is selected as the output package format. Smart is being used in two 
capacities:

1) In the traditional manner for installing and upgrading packages on the 
target system (as a replacement for Zypper)

2) As part of the root file system construction process on the build host - 
i.e. installing all of the base packages that go into a root filesystem. This 
replaces a custom set of scripts wrapping RPM and some helper utilities.
This posed the most challenges; we need to be able to install an entire system 
into a specific path instead of /, which turned out to be a little more 
complicated than just setting rpm-root (mostly due to needing to pass other to 
RPM so it behaves in the correct way).

In the process we have applied a number of patches to Smart, and ideally we 
would like to get these integrated upstream. Some of them are straightforward 
bug fixes, others implement new functionality.

The largest of the patches is to implement "recommends" support (i.e. where a 
dependency relationship is marked such that installation should succeed even 
if the dependency can't be satisfied). Although unusual for RPM-based systems, 
support for this is required for our system so we have added it into the 
cache, the transaction code, the RPM backend, and the rpm-md metadata code 
(corresponding patch also needed for createrepo). We haven't implemented 
support for this in other backends that would make sense (e.g. deb) but it 
would not be hard to do so.

What would be the preferred way to submit these patches for review?

Thanks,
Paul

[1] http://www.openembedded.org
[2] http://www.yoctoproject.org

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Smart mailing list