[Rpm-maint] [PATCH 0/5] Add Collection Support

Steve Lawrence slawrence at tresys.com
Thu Jun 17 19:55:22 UTC 2010


This patchset adds Collection support to rpm. Collections provide a way to
perform a common action after all members of that collection have been
installed. This removes duplicated post installation scripts that only need to
be executed once during a transaction.

For example, currently all font packages run /usr/bin/fc-cache in the %post
section. With collections, we can add all these font packages to the 'font'
collection, and remove the %post section. Once all members of the 'font'
collection are install, only then will fc-cache be run.

To perform collection actions, this patchset adds a minimal plugin system that
allows for both simple and complex collection actions. This system adds three
hooks that are executed at various stages of the RPM transaction to allow for
a wide range of control and flexibility. Included in this patchset is a generic
plugin that can be used to easily execute scripts, which should be sufficient
for the majority of collection actions.

Steve Lawrence (5):
  Add new Collections preamble tag
  Determine when to perform Collection actions
  Add common Collection requirements
  Add plugin calling support
  Add a generic plugin for use by simple Collections

 Makefile.am              |    4 +-
 build/parsePreamble.c    |    4 +
 collections/Makefile.am  |   19 +++++
 collections/collection.h |   12 +++
 collections/exec.c       |   31 ++++++++
 configure.ac             |    1 +
 lib/Makefile.am          |    3 +-
 lib/collections.h        |   27 +++++++
 lib/order.c              |   75 ++++++++++++------
 lib/poptI.c              |    4 +
 lib/rpmal.c              |   25 ++++++
 lib/rpmal.h              |   11 +++
 lib/rpmtag.h             |    1 +
 lib/rpmte.c              |   80 +++++++++++++++++++
 lib/rpmte.h              |   64 +++++++++++++++
 lib/rpmts.h              |    1 +
 lib/transaction.c        |  193 ++++++++++++++++++++++++++++++++++++++++++++++
 macros.in                |    5 +
 system.h                 |    2 +
 tests/rpmgeneral.at      |    1 +
 20 files changed, 535 insertions(+), 28 deletions(-)
 create mode 100644 collections/Makefile.am
 create mode 100644 collections/collection.h
 create mode 100644 collections/exec.c
 create mode 100644 lib/collections.h



More information about the Rpm-maint mailing list