💾 Archived View for lofi.haiku-os.org › docs › develop › packages › README.gmi captured on 2023-09-28 at 15:55:58. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Package Management

This is a short index of the available package management related documentation.

Package Management Infrastructure

provides an overview of what components belong to Haiku’s package management infrastructure and how they work and interact.

Building Packages

gives information on various aspects of the package building process.

Boot Volume Directory Structure

outlines the directory structure of a package management powered Haiku boot volume.

Haiku Package File Format

specifies in detail the file format of Haiku package files (HPKG) and Haiku package repository files (HPKR).

Packaging Policy

defines the policy for creating Haiku packages.

Hybrid Builds

provides some information regarding hybrid builds.

Migration to Package Management

lists the changes that users should expect when migrating to a package management Haiku.

Bootstrapping Haiku

explains the process of bootstrapping Haiku and third-party packages.

TODO

is a list of package management related work still to be done.

Blog posts

on package management (the Batisseur ones are only indirectly package management related).

Package Management Ideas

is a collection of thoughts and discussions regarding package management. It has been partially obsoleted by the progress on the package management implementation.

http://www.youtube.com/watch?v=rNZQQM5zU-Q&list=PL3FFCD4C6D384A302

is a video playlist of Ingo and Oliver explaining and demonstrating the package management branch at BeGeistert 2011.

Below are links to source code related to Haiku’s package management.

Haiku

and

Buildtools

repositories for that

HaikuPorts

contains the build recipes of various ports.

haikuports.cross

contains the minimal set of build recipes to bootstrap a new Haiku architecture.

haikuporter

is the tool to create binary packages from build recipes.

Building Packages

Building a Package with the “package” Command

The .PackageInfo

Version Strings

Package File Names

Example package file

Building a Package with “haikuporter”

Boot Volume Directory Structure

Haiku Package File Format

The Data Container Format

Header

Heap

TOC

Attribute Data Types

Strings

Main TOC

Attribute Values

Package Attributes

The Archive Format

Attribute IDs

TOC Attributes

The Package Format

Attribute IDs

Haiku Package Repository Format

The Data Container Format

Header

Attribute IDs

Hybrid Builds

General Requirements

Secondary Architecture Package Requirements

Package Management Infrastructure

Software Installation Locations

Software Installation

Manual Installation

Installation via Package Manager

Application Bundles

Installation Location Order and Consistency

Software Repositories

Standard Repositories

The Package Kit

Localization

Migration to Package Management

Changes for Users

Changes for Application Developers

Changes for Haiku Developers

Changes for Porters

Packaging Policy

Multiple Packages per Software

Provides Declaration

Documentation

Data Files

Writable and Settings Files and Directories

Post-Installation Scripts

Pre-Uninstallation Scripts

Bootstrapping Haiku

Prerequisites

Configuring and Building

How it works

Format of hpkg Source Repository

Haiku Architecture Ports

packagefs

Package Daemon

Package building

Package kit/manager

Boot loader

Package/package repository format

Miscellaneous

Package Management Ideas

Requirements

HaikuBits

Bundles

Management

Dependencies

Updates

Implementation

Bundles

Install or not?

Merged

Self-contained

Settings

Multiple Application Version

Dependency Hell

Avoiding

Tacking

libalpm

Pros

Cons

Brainstorming Results from BeGeistert

Package Format

References