diff --git a/docs/develop/packages/BuildingPackages.rst b/docs/develop/packages/BuildingPackages.rst index 00bf070fc5..4bec3f484d 100644 --- a/docs/develop/packages/BuildingPackages.rst +++ b/docs/develop/packages/BuildingPackages.rst @@ -1,3 +1,5 @@ +.. _building_packages: + ================= Building Packages ================= @@ -8,12 +10,10 @@ second section refers to building packages with the ``haikuporter`` tool. Building a Package with the "package" Command ============================================= -The package file format is specified in detail in a `separate document`_. This +The package file format is specified in detail in :ref:`hpkg_file_format`. This section presents information from the perspective of how to build a package file with the ``package`` command. -.. _separate document: FileFormat.rst - An hpkg file is an archive file (just like tar or zip files) that additionally contains package meta information in a separate section of the file. When building an hpkg file via the ``package`` command the meta information must be diff --git a/docs/develop/packages/DirectoryStructure.rst b/docs/develop/packages/DirectoryStructure.rst index 6c51079f96..a7f0ee8bce 100644 --- a/docs/develop/packages/DirectoryStructure.rst +++ b/docs/develop/packages/DirectoryStructure.rst @@ -1,3 +1,5 @@ +:: _directory_structure: + =============================== Boot Volume Directory Structure =============================== diff --git a/docs/develop/packages/FileFormat.rst b/docs/develop/packages/FileFormat.rst index eeea980bdb..c6aa3833e8 100644 --- a/docs/develop/packages/FileFormat.rst +++ b/docs/develop/packages/FileFormat.rst @@ -1,3 +1,5 @@ +.. _hpkg_file_format: + ========================= Haiku Package File Format ========================= @@ -929,6 +931,8 @@ B_HPKG_ATTRIBUTE_ID_PACKAGE_PRE_UNINSTALL_SCRIPT ("package:pre-uninstall-script" "boot/pre-uninstall/". :Child Attributes: none +.. _hpkr_file_format: + Haiku Package Repository Format =============================== Very similar to the package format, there's a Haiku Package Repository (HPKR) diff --git a/docs/develop/packages/Infrastructure.rst b/docs/develop/packages/Infrastructure.rst index 3061766ab9..7a69ba17f2 100644 --- a/docs/develop/packages/Infrastructure.rst +++ b/docs/develop/packages/Infrastructure.rst @@ -5,7 +5,7 @@ This pages gives an overview of what components belong to Haiku's package management infrastructure and how they work and interact. - **package** and **package_repo** are command line tools for building package - and package repository files. They are discussed in `Building Packages`_. + and package repository files. They are discussed in :ref:`building_packages`. - **packagefs** is the file system that virtually extracts activated packages. - The **package kit** is an API for package management related programming. - The **dependency solver** is a part of the package kit. It solves dependencies @@ -21,8 +21,6 @@ management infrastructure and how they work and interact. update, and removal. There are actually two programs, ``pkgman``, a command line tool, and, ``HaikuDepot``, a GUI application. -.. _Building Packages: BuildingPackages.rst - .. image:: package-management-infrastructure.png :align: center @@ -202,14 +200,12 @@ internet. Haiku's package management solution allows to refer to any number of software repositories from which packages can be downloaded and installed. The structure of the respository is very simple. It's just a set of files which can be downloaded via a common protocol (HTTP or FTP). One file is the repository -index file in `HPKR format`_. It lists all packages that are available in the +index file in :ref:`hpkr_file_format`. It lists all packages that are available in the repository together with their descriptions and dependency information. It is downloaded and cached, allowing user interfaces to show the information and the dependency solver to do the computation locally. The other files are the individual package files. -.. _HPKR format: FileFormat.rst#haiku-package-repository-format - Standard Repositories --------------------- There are two standard repositories for Haiku: diff --git a/docs/develop/packages/Migration.rst b/docs/develop/packages/Migration.rst index bd7b13565d..0c4d6e3365 100644 --- a/docs/develop/packages/Migration.rst +++ b/docs/develop/packages/Migration.rst @@ -15,9 +15,7 @@ Changes for Users installed manually by moving (not copying) them to the respective "packages" subdirectory in "/boot/system" or "/boot/home/config". - The directory layout has changed and many directories have become read-only. - Cf. `DirectoryStructure`_ for details. - - .. _DirectoryStructure: DirectoryStructure.rst + Cf. :ref:`_directory_structure` for details. - The Deskbar menu works differently. It uses a new virtual directory Tracker/Deskbar feature to generate its content. Any package can contribute @@ -72,11 +70,9 @@ Changes for Application Developers ``PATH``. The commands of the secondary tool chain are also available in the standard path with a name suffixed with "-" (e.g. "gcc-x86" for the gcc 4 executable on a gcc2/gcc4 hybrid). -- Software can be packaged using the ``package`` tool. Cf. `BuildingPackages`_ +- Software can be packaged using the ``package`` tool. Cf. :ref:`building_package` for more information. - .. _BuildingPackages: BuildingPackages.rst - - The ``find_directory()`` API has been partially deprecated. While there are still some use cases where it should be used, in many cases the new ``find_path*()`` API, respectively the ``BPathFinder`` class should be used