Table of Contents
You don't have to start from scratch just to customize a package for your own needs. Instead, you can copy packages and make the changes you want. You can even have Conary automatically keep track of changes upstream, allowing you to merge in those upstream developments at any time. This chapter covers copying and customizing existing packages to save yourself time and effort, and to ensure consistency across many different Conary-managed systems.
There are three approaches to modifying existing packages for your appliance:
Derive -- Create a derived package when you want to "drop in" a minor change, like a configuration file or graphic.
Shadow -- Create a shadow when you want to make major changes, like recompiling the application's source code with different options, or building the package with different requirements. Merge changes from the parent branch periodically to bring in upstream changes.
Clone -- Create a clone when you want to make changes, and you don't want to merge changes from the parent branch over time.
Prior to diving in to this chapter, be sure you understand the version and label concepts defined in Conary Versions and Flavors from docs.rpath.com/conary.