Bug 3182 - Replace Zypper/RPM integration with a smaller/better package resolver/manager - I.E. SMART/RPM
Summary: Replace Zypper/RPM integration with a smaller/better package resolver/manager...
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.3
Hardware: x86 Multiple
: High enhancement
Target Milestone: 1.4 M2
Assignee: Paul Eggleton
QA Contact:
URL:
Whiteboard:
Depends on: 3346 3349 3350 3351
Blocks:
  Show dependency tree
 
Reported: 2012-09-26 15:51 UTC by Mark Hatle
Modified: 2013-02-08 09:02 UTC (History)
11 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Hatle 2012-09-26 15:51:45 UTC
I propose that we replace any of the existing Zypper integration work with SMART.  See: http://labix.org/smart

Zypper has a number of issues: it's been difficult to upgrade, it doesn't support recommends v. requirements hinting, it requires C++ on the target, Boost framework, and requires a hard-coded set of supported architecture types.

SMART looks like it will be better based on: Python based (more compatible w/ bitbake/oe methods), it may support hinting, it will be easier to implement the architecture types, if it doesn't already support variable sets.

Possible work required to implement SMART:

- Enable RPM Python support in the rpm recipe
  - May already work, may require minor changes to rpm recipe

- Implement SMART recipe
  - identify SMART dependencies
  - implement SMART and dependencies (recipe integration)
  - verify hinting (recommends) capabilities
  - verify dynamic arch capabilities
  - Enhance smart if needed for the above

- Implement SMART feeds
  - Update package-index (and related) to construct SMART compatible feeds
  - Update rootfs_rpm.bbclass (and related) to construct/use SMART compatible feeds
Comment 1 Mark Hatle 2012-09-26 15:52:48 UTC
Note, if this is implemented it may obsolete open defects 970, 821, 2694, and 3098.

Also implementing SMART assumes target, native and nativesdk capabilities.
Comment 2 Richard Purdie 2012-09-26 16:00:50 UTC
I assume this would replace zypper support which we'd drop?
Comment 3 Mark Hatle 2012-09-26 16:03:01 UTC
Yes, that is the expectation if SMART is implemented, drop Zypper, and it's related dependencies.
Comment 4 Bogdan Marinescu 2012-10-31 13:48:38 UTC
Apparently, this bug became a "meta-bug" which will track the status of the smart implementation via its dependencies. So I'm moving it to "Accepted" to keep things in sync, but most (if not all) the work will happen by fixing the forementioned dependencies.
Comment 5 Paul Eggleton 2012-10-31 13:50:36 UTC
Indeed, this is now a meta-bug, the real work is covered under the items marked as dependents of this bug.
Comment 6 Paul Eggleton 2012-10-31 13:51:03 UTC
Sorry, I meant dependencies.
Comment 7 Paul Eggleton 2012-11-16 00:44:38 UTC
1.4 M3 isn't correct here - the expected delivery date is before mid-December.
Comment 8 Jeff Johnson 2012-12-04 17:21:55 UTC
Tracked at https://bugs.launchpad.net/rpm/+bug/1086479.
Comment 9 Mark Hatle 2013-01-15 18:58:39 UTC
Smart has been successfully integrated.  Once Zypper (and related) have been removed from the system, this bug can be set as resolved.
Comment 10 Paul Eggleton 2013-01-25 11:45:18 UTC
Zypper has now been removed in master, marking as resolved. Any further issues with the current Smart/RPM integration should be opened as new bugs (assuming they aren't already filed).
Comment 11 Stoicescu Cornel 2013-02-08 09:02:35 UTC
Verified in master:8d6e55bf2192524bda84138b5356a2791adbbe61