LPMtool - LPMtool is a Package Management tool


Table of Contents

1. Introduction
1. Requirements
2. libwww
2. Features
1. No more dependency hell
2. LPMtool's efficient web repository format
3. Restricted access repositories
4. LPMtool's generic resource model
3. LPMtool's graphical front end
1. LPMtool graphical front-end
2. Automatically downloading required packages
4. Current status
5. Installing LPMtool
1. Initial LPMtool installation
6. Package files
7. Building packages
1. specfile overview
2. The build header
3. Package declarations
3.1. Python dependency tracking
3.2. The debuginfo subpackage
4. Multilingual package description
5. Miscellaneous headers
6. Build scripts
7. Installation image
8. Install/uninstall scripts
8.1. Script invocation
8.2. Triggers
9. Special requirements of uninstallation scripts and triggers
10. Script packages
11. File manifests
12. Dynamic file manifests
13. Macros
13.1. Defining macros
13.2. Referencing macros
13.3. Removing macros
13.4. Predefined macros
13.5. Advanced macro references
13.6. Conditional text inclusion
13.7. Macro processing order
14. Multiple platform builds
15. Converting RPM specfiles
8. Publishing packages on a web site
1. Creating GPG keys
2. Creating a primary repository
3. Creating packages for publishing
4. Updating the repository metadata
5. Creating a remote repository
6. Synchronizing remote repositories
7. Installing packages from remote repositories
9. Mirrors and proxies
10. Creating restricted-access repositories
1. Accessing restricted-access repositories
2. Verifying access to restricted files
3. Sample request for a restricted access file
3.1. Reference implementation
11. Metapackages - automating one-click installation
12. Manual Pages
lpbuild — Build LPMtool packages
lpmLPMtool is a Package Management tool
mklpmcompat — Update RPM resources
mksyscompat — Update system resources
mkdistrepLPMtool distribution repository toolkit
lpmauthrepo — Restricted access LPMtool package repository
setauthrepo — Initialize a restricted access LPMtool package repository
13. LPMtool Objects
1. NAVR - name, architecture, version, release
1.1. NAVR representation
1.2. Comparing package versions and releases
2. Resources
2.1. Required resources: /etc/passwd, /etc/group
2.2. Generic resources
3. Special logic for file-based resources
4. Dependencies
5. Resource Databases
5.1. Finding dependencies
6. Repositories
7. Packages
7.1. Binary package files
7.2. Source package files
7.3. The Package Manifest File
7.4. Metapackage files
8. Transactions
9. Transaction Lists
10. New Transaction Lists
14. System Repository
1. FileStore
2. HashDir
2.1. Commit
3. gdbm
4. gdbm::ResourceDB
5. ResourceDB::gdbm
6. Repository::System
7. Committing the repository
15. Installing files and packages
1. Mount points
2. The lock file
3. Installing files
4. Preparing to commit
5. Committing an installation