Hacking:Parabolaiso

From ParabolaWiki
Jump to: navigation, search
This article or section is out of date.
Please help improve the wiki by updating the article and correcting mistakes.

Parabolaiso is the Parabola version of Archiso. Source files are in the git repository parabolaiso.git. The original (pre- 2013-09) repository is archived in ~~obsolete/parabolaiso.git.


1 Git repository layouts and packages

1.1 Possible improvements

  • Use separate git repositories for each variant?
  • Forbid all binaries. It may be possible using git hooks or in Makefile of parabolaiso.
  • Only allow changes in the directory configs/ for branch master, not for other profile branches. It may be possible using git hooks or in Makefile of parabolaiso.

1.2 Git branches

Branch Description
helper/rebrand Branch to aid rebranding. Branch master of archiso.git plus Parabola rebranding of filenames and file contents. It is used as an intermediate step to merge Archiso, to aid git detecting file renames.
rebrand/releng Rebranding branch. helper/rebrand leaving only the directory of releng inside configs/, renamed to profile/. It is possible to create equivalent branches for other ISO variants.
rebrand/baseline Rebranding branch. Same concept as rebrand/releng.
master Profile branch "releng". Branch rebrand/releng with Parabola customizations. The files outside configs/ which are common to all variants are packaged from this branch.
baseline Profile branch "baseline". master is separated from baseline to its own branch. This is now different from Archiso, and enables merging the releng profile in other profiles that use releng as a base.
release Contains snapshots of releases, with commits showing updates of each profile. It should be updated only by make dist.
release-branches Snapshots of last commits (HEAD) of each specified profile branch. Same concept as the branch release. It should be updated only by make dist-branches. Using it is not strictly necessary. It does not exist in the public Parabola repository parabolaiso.git.

1.3 Packages

The parabolaiso package contains files to create Parabola official ISOs, and it can be used also to create other ISOs too.

2 Working with parabolaiso.git

  • Modifications outside the directory configs/ should be first pushed to the master branch. Variants based on releng should not modify outside configs/. This makes it easier to merge master in variant branches. Not doing this can easily create merge conflicts.
  • The path of all profile directories is configs/profile/ (for all profile/variant branches). Other files and directories in configs/ are not allowed because they would prevent proper tracking and merging.
  • Binary files are not allowed in the git repo nor in the package parabolaiso which is created with data from the git repository. Binary files are not in the git repository; they are distributed in the package parabolaiso-data.
  • To create a new variant following releng, you can branch off master anytime and regularly merge master in the new branch. Keeping the wiki updated with information about new branches and variants is recommended. To include the branch in the source tarball and the package parabolaiso, the name of the branch/variant must be added to the for loop in Makefile of the package parabolaiso.

3 Packaging

There are two make targets to create source tarballs. The targets update their release branches, and the source tarball is created from the HEAD of the appropriate release branch.

  • dist, used to create Parabola releases from signed tags in profile branches. It updates the branch release and creates the release tag on this branch. The source tarball is created from this signed tag.
  • dist-branches, used to create a source tarball from last commits (HEAD) of profile branch specified in the script expand. It updates the branch release-branches and creates the source tarball from the last commit of this branch.

4 Current status

5 Current variants

As of 2013-08-16, the variants Lxde and Gnome are not included in the Parabola packages. The branch lxde was removed from the git repository and the branch gnome is outdated (reason: [Dev] Recreating parabolaiso.git). The next release of parabolaiso and parabolaiso-data could include these variants updated.

2017-2018 update: LXDE configs were added to replace MATE.

6 Rebranding

All strings have been rebranded for Parabola, so replace "Arch" or "arch" with "Parabola" or "parabola". The format of the disk label is PARA_YYYYMM (archiso uses ARCH_YYYYMM).

7 Arch Linux documents

As the profiles releng and baseline contain only minimal modifications compared to Arch's archiso, these documents are also useful for Parabola.