Autopackage Packagers Guide

Mike Hearn

Curtis Knight

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

This documentation was built on Sun Jun 15 00:09:51 EDT 2008 for autopackage version: 1.2.6

Autopackage Developers Guide Multiple HTML Pages

Autopackage Developers Guide Single HTML Page

Autopackage API Documents


Table of Contents

1. Introduction to the framework
Basic concepts
Interface versions
Skeleton files
Names and naming
2. Creating a package
Choosing a root name
The specfile format
A quick example
Meta
Description
BuildPrepare
BuildUnprepare
Imports
Prepare
Install
Uninstall
Scripting Variables
Common Variables
Build Variables
Install Variables
Using the makepackage program
Sealed packages
KDE Programs
3. Writing Skeleton Files
What are they and how do they work?
Producing skeleton files
4. Environment Variables
Build Environment Variables
Installation Environment Variables
Environment State Files
5. Prefixing
What is prefixing?
So why isn't this done already
What about the FHS?
The solution
Exception: KDE
6. Autopackage Root Names & Versioning
Dependency checking and resolution
What is a root name?
Versioning
How to integrate this with skeletons
Example
How to interface with require()
requireExact()
requireAtLeast()
More on skeletons
Automatic dependency retrieval
Summary
7. Binary portability
Symbol Versions
Symbolic collisions
Bogus dependencies
Headers
Exception handling internals
C++
8. Alternative solutions
Statifier and Ermine
What are pros and cons of this approach ?
Pros
Cons
Statifier/Ermine and Autopackage
9. Using MimeTypes
Mime Type specs
Writing MIME Type association files
FreeDesktop.org/KDE
Gnome 2.x
Associating Applications with MIME types
.desktop file
Gnome .applications file
Index
Glossary

List of Tables

2.1. Standard Meta Keys
2.2. APIs provided for file types
2.3. Common Variables
2.4. Build Variables
2.5. Install Variables
4.1. Build Environment Variables
4.2. Installation Environment Variables
6.1. Software & Interface Number
6.2. Software & Interface number - Complex
6.3. Software & Interface Number with Skeleton Filename
6.4. Data Definitions between Package Repository File and .apspec File