• Stars
    star
    172
  • Rank 219,998 (Top 5 %)
  • Language
    Python
  • License
    BSD 2-Clause "Sim...
  • Created over 3 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Chimera ports collection

cports

Cports is a collection of source package ports for Chimera. The system has been written specifically for the distribution using the Python scripting language.

The system is largely inspired by xbps-src from Void Linux, but should not be considered a variant of it, nor it should be expected that the options and behaviors are the same.

There are two authoritative documents on the system:

  • Usage.md is the reference for users. It covers usage of cbuild and its basic and advanced options as well as concepts and requirements.
  • Packaging.md is the reference manual for packagers. It covers the API of the system and guidelines for creating and modifying templates, but not usage.

Most people looking to get involved with the project should read both.

To get started, read Usage.md first.

Using cports with Chimera

You might want to test your built packages in an actual Chimera system. Since cbuild creates a regular apk repository for you, this is as simple as adding the repositories in your system.

Consider path to cports at /home/user/cports. The default repository path for cbuild is the packages directory directly in cports. This is not the actual repo yet, as there are multiple categories. The actual repositories are those that have a directory named like your architecture (e.g. x86_64) with the file APKINDEX.tar.gz in them.

Create a file /etc/apk/repositories.d/00-cports.list. The file must have the .list extension. Put something like this in there:

/home/user/cports/packages/main
/home/user/cports/packages/contrib

This will give apk acccess to the main and contrib packages of your local repository. You might want to restrict this list to only the repositories that you have.

If you want access to local -dbg packages, you will also want to add the debug sub-repositories, e.g. /home/user/cports/packages/main/debug.

You will also want to drop your signing public key in /etc/apk/keys. The key can be located in etc/keys in the cports directory, with the .pub extension (do not put in the private key).

Pinning the repositories

You might also want to pin the local repository. This will effectively make apk prefer your pinned repository even if a newer version if available in remote repos. This is done by adding a prefix such as @cports before the repository line, e.g. @cports /home/user/cports/packages/main. Then you can install things from the repository like apk add foo@cports. If you just apk add foo, the tagged repositories will be ignored.

Note that dependencies of packages from pinned repositories will still be pulled from unpinned repositories preferentially, but pinned repositories will be used if necessary. This is not the case for dependencies of packages from unpinned repositories, which will only ever be pulled from unpinned repositories.

Bootstrapping installations from repositories

For instructions on how to bootstrap the system into a target root as well as some more advanced tooling for e.g. creation of actual images, check out the chimera-live repository.

More Repositories

1

turnstile

Independent session/login tracker
C++
77
star
2

chimerautils

Chimera's core userland, based on FreeBSD
C
65
star
3

chimera-live

Image creation tooling
Shell
37
star
4

chimera-linux.github.io

The website
CSS
26
star
5

ckms

Chimera Kernel Module System
Python
14
star
6

dinit-chimera

Chimera service package for dinit
C++
12
star
7

sd-tools

Standalone, cleaned up utilities from systemd
C
10
star
8

community

Community documentation and so on
9
star
9

libatomic-chimera

An implementation of libatomic
C
6
star
10

chimera-bootstrap

Binary bootstrap helper (for setting up systems)
Python
5
star
11

bsdutils-extra

GNU coreutils alternative - programs missing in FreeBSD
C
4
star
12

fortify-headers

Chimera's fork of https://git.2f30.org/fortify-headers
4
star
13

bsdpatch

The patch(1) utility as taken from FreeBSD
C
4
star
14

dbus-wait-for

Wait for a service to register itself with D-Bus
C
4
star
15

chimera-artwork

Chimera Linux branding
Shell
3
star
16

libdinitctl

High level API for dinitctl socket interface
C
3
star
17

apkbrowser

Package repository browser
Python
3
star
18

bsdgzip

The gzip(1) suite of utilities from FreeBSD
C
2
star
19

bsdm4

The m4(1) utility as taken from FreeBSD
C
2
star
20

bsdsed

The sed(1) utility as taken from FreeBSD
Roff
1
star
21

libedit-chimera

NetBSD libedit ported for Chimera
C
1
star
22

klibc-utils-standalone

Various klibc utilities, standalone
C
1
star
23

bsded

The ed(1) utility as taken from FreeBSD
C
1
star
24

chimera-install-scripts

Scripts to aid Chimera installation
Shell
1
star
25

dinit-dbus

D-Bus integration for dinit
C++
1
star
26

elftoolchain

Chimera's mirror of https://sourceforge.net/projects/elftoolchain SVN trunk
C
1
star
27

bsddiff

An alternative to GNU diffutils from FreeBSD
C
1
star
28

nyagetty

Standalone version of the agetty(8) program
C
1
star