docs/develop: Fix some internal links in package documentation.

Use references as documented in https://www.sphinx-doc.org/en/master/usage/referencing.html#ref-role

Fixes #19509
This commit is contained in:
Adrien Destugues
2025-04-08 12:51:20 +02:00
parent c11bec8ef0
commit 2e9c9b0173
5 changed files with 13 additions and 15 deletions
+3 -3
View File
@@ -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
@@ -1,3 +1,5 @@
:: _directory_structure:
===============================
Boot Volume Directory Structure
===============================
+4
View File
@@ -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)
+2 -6
View File
@@ -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:
+2 -6
View File
@@ -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 "-<arch>" (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