aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorWoodpecker CI <emmett1.2miligrams@protonmail.com>2025-09-08 15:14:55 +0000
committerWoodpecker CI <emmett1.2miligrams@protonmail.com>2025-09-08 15:14:55 +0000
commit71d40463f0fc9c7b2a5bee846da72d4a32ee885b (patch)
tree3c74d34196b26e13f475c4b53fe7cb30cc64132a /docs
parenta661879fd59ce4a4abb2ae64fb5e39fd447311f6 (diff)
downloadalicelinux-71d40463f0fc9c7b2a5bee846da72d4a32ee885b.tar.gz
alicelinux-71d40463f0fc9c7b2a5bee846da72d4a32ee885b.zip
Woodpecker CI 6e25ae12ade87673b43442e2d271a9e0f92a8837 [SKIP CI]
Diffstat (limited to 'docs')
-rw-r--r--docs/index.html76
-rw-r--r--docs/install.html42
-rw-r--r--docs/packagemanager.html51
3 files changed, 118 insertions, 51 deletions
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 00000000..e55f4364
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Alice Linux - docs</title>
+ <style>
+ body {
+ font-family: monospace;
+ font-size: 14px;
+ line-height: 1.25;
+ max-width: 60em;
+ margin-left: auto;
+ margin-right: auto;
+ padding-left: 1em;
+ padding-right: 1em;
+ background-color: #242424;
+ color: #fefefe;
+ }
+ pre {
+ background-color: #2b2b2b;
+ border-radius: 3px;
+ padding: 10px;
+ overflow-x: auto;
+ }
+ code {
+ color: #f7f3d6;
+ }
+ img {
+ display: block;
+ max-width: 100%;
+ }
+ hr {
+ border: 0;
+ border-top: 1px dashed #fefefe;
+ margin: 20px 0;
+ }
+ table {
+ width: 100%;
+ border-collapse: collapse;
+ }
+ th, td {
+ padding: 4px;
+ }
+ th {
+ background-color: #221e1f;
+ }
+ table, th, td {
+ border: 1px dashed #e7e8eb;
+ }
+ a {
+ color: #90cbf9;
+ text-decoration: none
+ }
+ a:hover {
+ color: #869edc;
+ text-decoration: underline
+ }
+ </style>
+</head>
+<body>
+<div class="centered-wrapper">
+ <h1>docs</h1>
+ <a href="/">home</a> / <a href="/docs">docs</a> / <a href="https://codeberg.org/emmett1/alicelinux">development</a> / <a href="https://codeberg.org/emmett1/alicelinux/releases">download</a> / <a href="https://sourceforge.net/projects/alice-linux/files/iso/">iso</a> / <a href="/community.html">community</a> / <a href="/donate.html">donate</a>
+ <hr>
+<p>Here lies documentation for <strong>Alice Linux</strong>.</p>
+<p>If you found any typo or error in docs, or even wan't to contribute, feel free to <a href="https://codeberg.org/emmett1/alicelinux/issues">open issue</a> :D</p>
+<ul>
+<li><a href="./install.html">Install Alice</a></li>
+<li><a href="./packagemanager.html">Package Manager</a></li>
+</ul>
+ <br><hr>
+ <p>Copyright (C) Alice Linux, 2024</p>
+</div>
+</body>
+</html>
diff --git a/docs/install.html b/docs/install.html
index 6abaaa33..a41a5e0c 100644
--- a/docs/install.html
+++ b/docs/install.html
@@ -97,23 +97,24 @@ $ curl -O &lt;url&gt;.sha256sum
<h2>Configure apkg.conf</h2>
<p>Once we have the repositories cloned, we need to configure <code>apkg</code>. <code>apkg</code> is Alice's package build system (or package manager). By default, Alice does not provide an <code>apkg</code> config file (yes, <code>apkg</code> can work without a config file), but we need to create one. The <code>apkg</code> config file should be located at <code>/etc/apkg.conf</code> by default. Let's create one. </p>
<p>First, we set <code>CFLAGS</code> and <code>CXXFLAGS</code>. Alice base packages are built using <code>-O3 -march=x86-64 -pipe</code>. You can use these settings or change them to your preference.</p>
-<pre><code># echo 'export CFLAGS=&quot;-O3 -march=x86-64 -pipe&quot;' &gt;&gt; /etc/apkg.conf
+<pre><code># echo 'export CFLAGS="-O3 -march=x86-64 -pipe"' &gt;&gt; /etc/apkg.conf
</code></pre>
<p>And use whats in <code>CFLAGS</code> for <code>CXXFLAGS</code>.</p>
-<pre><code># echo 'export CXXFLAGS=&quot;$CFLAGS&quot;' &gt;&gt; /etc/apkg.conf
+<pre><code># echo 'export CXXFLAGS="$CFLAGS"' &gt;&gt; /etc/apkg.conf
</code></pre>
<p>Next set <code>MAKEFLAGS</code>. I will use <code>6</code> for my <code>8 threads</code> machine.</p>
-<pre><code># echo 'export MAKEFLAGS=&quot;-j6&quot;' &gt;&gt; /etc/apkg.conf
+<pre><code># echo 'export MAKEFLAGS="-j6"' &gt;&gt; /etc/apkg.conf
</code></pre>
<p>I'm also going to set <code>NINJAJOBS</code> here. Without it, <code>ninja</code> will use all threads of your machine when compiling.</p>
-<pre><code># echo 'export NINJAJOBS=&quot;6&quot;' &gt;&gt; /etc/apkg.conf
+<pre><code># echo 'export NINJAJOBS="6"' &gt;&gt; /etc/apkg.conf
</code></pre>
<p>Next, we need to set the package's build scripts path (I'll call it <code>package repos</code>) so <code>apkg</code> can find them. The <code>APKG_REPO</code> variable can accept multiple values for multiple <code>package repos</code>.</p>
<p>Alice provides two (2) <code>package repos</code> (at the time of this writing): <code>core</code> and <code>extra</code>. <code>core</code> contains all base packages, and <code>extra</code> includes other packages beyond the base.</p>
<p>I'm gonna use directory <code>/var/lib/repos/core</code> and <code>/var/lib/repos/extra</code> for <code>core</code> and <code>extra</code> repos respectively.</p>
-<pre><code># echo 'APKG_REPO=&quot;/var/lib/repos/core /var/lib/repos/extra&quot;' &gt;&gt; /etc/apkg.conf
+<pre><code># echo 'APKG_REPO="/var/lib/repos/core /var/lib/repos/extra"' &gt;&gt; /etc/apkg.conf
</code></pre>
-<blockquote><p>NOTE: All repo paths must be declared in the APKG_REPO variable, separated by a single space.</p>
+<blockquote>
+<p>NOTE: All repo paths must be declared in the APKG_REPO variable, separated by a single space.</p>
</blockquote>
<p>Next, we will set up directories for <code>packages</code>, <code>sources</code>, and <code>work</code>. By default, these directories are inside the package template, but we will change them to <code>/var/cache/pkg</code>, <code>/var/cache/src</code>, and <code>/var/cache/work</code> respectively. You can change these to any location where you want to store these files.</p>
<p>First, create the directories:</p>
@@ -134,8 +135,8 @@ $ curl -O &lt;url&gt;.sha256sum
<p>Now run <code>reposync</code> to sync latest package templates.</p>
<pre><code># reposync
</code></pre>
-<p>
-After setting up our <code>package repos</code>, make sure <code>apkg</code> can find the packages. We can use <code>apkg -s &lt;pattern&gt;</code> to search for packages.</p>
+<p> </p>
+<p>After setting up our <code>package repos</code>, make sure <code>apkg</code> can find the packages. We can use <code>apkg -s &lt;pattern&gt;</code> to search for packages.</p>
<pre><code># apkg -s sway
swayidle
swaybg
@@ -155,23 +156,26 @@ sway
<p>Before we do, install development packages first.</p>
<pre><code># apkg -I meson cmake pkgconf libtool automake perl
</code></pre>
-<blockquote><p>NOTE: use upppercase 'i' for solve dependencies, lowecase 'i' without solve dependencies.</p>
+<blockquote>
+<p>NOTE: use upppercase 'i' for solve dependencies, lowecase 'i' without solve dependencies.</p>
</blockquote>
<p>Now lets upgrade our system.</p>
<pre><code># apkg -U
</code></pre>
-<blockquote><p>NOTE: Use uppercase <code>U</code> for a system upgrade, and lowercase <code>u</code> to upgrade a specific package of your choice.</p>
+<blockquote>
+<p>NOTE: Use uppercase <code>U</code> for a system upgrade, and lowercase <code>u</code> to upgrade a specific package of your choice.</p>
</blockquote>
<p>If you changed <code>CFLAGS</code> and <code>CXXFLAGS</code> to something other than the default, it's a good time to perform a full rebuild first. In this case, you can skip upgrading the system because performing a full rebuild will already use the latest version in <code>package repos</code>.</p>
<pre><code># apkg -u $(apkg -a)
</code></pre>
-<blockquote><p>NOTE: Add the <code>-f</code> flag to force rebuild of existing prebuilt package.
-NOTE: <code>apkg -a</code> prints all installed packages on the system.</p>
+<blockquote>
+<p>NOTE: Add the <code>-f</code> flag to force rebuild of existing prebuilt package.</p>
+<p>NOTE: <code>apkg -a</code> prints all installed packages on the system.</p>
</blockquote>
<h2>Install kernel</h2>
-<p>You can configure your own kernel from <a href="https://kernel.org/">kernel.org</a> or use the one provided by Alice.
-</p>
-<blockquote><p>NOTE: The provided kernel will take a lot of time to compile because many options are enabled.</p>
+<p>You can configure your own kernel from <a href="https://kernel.org/">kernel.org</a> or use the one provided by Alice.</p>
+<blockquote>
+<p>NOTE: The provided kernel will take a lot of time to compile because many options are enabled.</p>
</blockquote>
<p>If you want to use Alice's kernel, just run:</p>
<pre><code># apkg -I linux
@@ -203,10 +207,10 @@ NOTE: <code>apkg -a</code> prints all installed packages on the system.</p>
# ln -s /etc/sv/tty2 /var/service
# ln -s /etc/sv/tty3 /var/service
</code></pre>
-<p>I'm enabling 3 <code>tty</code> services. <code>tty</code> is required; without it, you won't be able to log in (or run any commands).
-</p>
-<blockquote><p>The runit service directory is <code>/etc/sv</code>.
-Create a symlink from <code>/etc/sv/&lt;service&gt;</code> to <code>/var/service</code> to enable it; remove the symlink to disable it.</p>
+<p>I'm enabling 3 <code>tty</code> services. <code>tty</code> is required; without it, you won't be able to log in (or run any commands).</p>
+<blockquote>
+<p>The runit service directory is <code>/etc/sv</code>.</p>
+<p>Create a symlink from <code>/etc/sv/&lt;service&gt;</code> to <code>/var/service</code> to enable it; remove the symlink to disable it.</p>
</blockquote>
<h2>Setup user and password</h2>
<p>Add your user:</p>
diff --git a/docs/packagemanager.html b/docs/packagemanager.html
index 95a133da..b4978f7b 100644
--- a/docs/packagemanager.html
+++ b/docs/packagemanager.html
@@ -95,16 +95,12 @@ nsxiv 32-1
<pre><code>(build package)
$ ./configure --prefix=/usr
$ make
-
(install into fake directory)
$ make DESTDIR=$PWD/fakeroot install
-
(turn fake directory into package (package.spm))
# spm -b $PWD/fakeroot
-
(mv 'package.spm' into correct format (name#version-release.spm))
# mv package.spm pkgname#pkgversion-pkgrelease.spm
-
(install package into system)
# spm -i pkgname#pkgversion-pkgrelease.spm
</code></pre>
@@ -137,11 +133,9 @@ linux lib/modules/6.6.41-Alice/build/scripts/dummy-tools/gcc
[pkgname] Package 'pkgname#pkgversion-pkgrelease' upgraded.
</code></pre>
<h2>spm - environment</h2>
-<table>
-<tr><th>env</th><th>description</th></tr>
-<tr><td>SPM_ROOT</td><td>use custom root location for package installation</td></tr>
-<tr><td>SPM_FORCEINSTALL</td><td>set any value to ignore conflicted files</td></tr>
-</table>
+<pre><code>SPM_ROOT: use custom root location for package installation
+SPM_FORCEINSTALL: set any value to ignore conflicted files
+</code></pre>
<p>You can pass these environment to <code>spm</code> command, example:</p>
<pre><code># SPM_ROOT=/mnt/rootfs spm -i pkgname#pkgversion-pkgrelease.spm
# SPM_FORCEINSTALL=1 SPM_ROOT=/mnt/rootfs spm -i pkgname#pkgversion-pkgrelease.spm
@@ -273,10 +267,10 @@ util-macros
</code></pre>
<p>make full system rebuild in dependencies order (<code>-f</code>: force rebuild, <code>-u</code>: upgrade/reinstall, <code>-D</code>: solve dependency order, <code>-a</code>: list all installed package(s)):</p>
<pre><code># apkg -f -u $(apkg -D $(apkg -a))
-</code></pre>
-<p>...
+...
(start rebuilding package in dependencies order here)
-...</p>
+...
+</code></pre>
<p>remove installed packages:</p>
<pre><code># apkg -r wlroots pango sway
[...] Package 'wlroots' removed.
@@ -289,20 +283,18 @@ util-macros
</code></pre>
<h2>apkg - environment</h2>
<p>You can pass environment to <code>apkg</code> to override defaults and in <code>/etc/apkg.conf</code>. Available environment and its default value as follows:</p>
-<table>
-<tr><th>env</th><th>default value</th><th>description</th></tr>
-<tr><td>APKG_ROOT</td><td>/</td><td>root for package installation</td></tr>
-<tr><td>APKG_CONF</td><td>/etc/apkg.conf</td><td>apkg's config file</td></tr>
-<tr><td>APKG_REPO</td><td></td><td>defaults is empty, template repo path, space separated variable</td></tr>
-<tr><td>APKG_PACKAGE_DIR</td><td>$PWD</td><td>prebuilt package directory path</td></tr>
-<tr><td>APKG_SOURCE_DIR</td><td>$PWD</td><td>package source directory path</td></tr>
-<tr><td>APKG_WORK_DIR</td><td>$PWD</td><td>package working directory path</td></tr>
-<tr><td>APKG_NOPROMPT</td><td></td><td>skip prompt, use any value</td></tr>
-</table>
+<pre><code> env default value description
+APKG_ROOT / root for package installation
+APKG_CONF /etc/apkg.conf apkg's config file
+APKG_REPO defaults is empty, template repo path, space separated variable
+APKG_PACKAGE_DIR $PWD prebuilt package directory path
+APKG_SOURCE_DIR $PWD package source directory path
+APKG_WORK_DIR $PWD package working directory path
+APKG_NOPROMPT defaults is empty, skip prompt, use any value
+</code></pre>
<p>You can add these environment into <code>apkg</code> config file.</p>
<h2>/etc/apkg.conf</h2>
-<p><code>apkg</code> can work without its config file by using all default value. Default config path for <code>apkg</code> is <code>/etc/apkg.conf</code>. You can override config path by append <code>APKG_CONF</code> to <code>apkg</code>, example:
-</p>
+<p><code>apkg</code> can work without its config file by using all default value. Default config path for <code>apkg</code> is <code>/etc/apkg.conf</code>. You can override config path by append <code>APKG_CONF</code> to <code>apkg</code>, example:</p>
<pre><code># APKG_CONF=/etc/apkg-local.conf apkg &lt;args&gt;
</code></pre>
<h2>revdep</h2>
@@ -310,14 +302,14 @@ util-macros
<p>Usage:</p>
<pre><code>(print out broken packages)
$ revdep
-
(verbosely print missing libraries)
$ revdep -v
</code></pre>
<p>You can combine with <code>apkg</code> to rebuild broken packages, example;</p>
<pre><code># apkg -f -u $(revdep)
</code></pre>
-<blockquote><p>NOTE: <code>revdep</code> does not solve dependencies, so you might need manually rebuild broken packages instead combine with <code>apkg</code>.</p>
+<blockquote>
+<p>NOTE: <code>revdep</code> does not solve dependencies, so you might need manually rebuild broken packages instead combine with <code>apkg</code>.</p>
</blockquote>
<h2>updateconf</h2>
<p><code>updateconf</code> is script to update configuration files inside <code>/etc</code> directory. Its recomended to run after packages upgrades.</p>
@@ -335,17 +327,14 @@ $ revdep -v
<p>Usage:</p>
<pre><code>(to remove old packages)
# apkg-clean -p | xargs rm
-
(to remove old sources)
# apkg-clean -s | xargs rm
-
(to remove both old packages and sources)
# apkg-clean | xargs rm
</code></pre>
<h2>apkg-deps</h2>
<p>Script to find runtime linked dependencies of installed package. Its good to figure out dependenciess when writing package template.</p>
-<p>Usage:
-</p>
+<p>Usage:</p>
<pre><code>$ apkg-deps &lt;pkg&gt;
</code></pre>
<h2>apkg-foreign</h2>
@@ -353,7 +342,6 @@ $ revdep -v
<p>Usage:</p>
<pre><code>(print list foreign packages)
$ apkg-foreign
-
(remove foreign packages)
# apkg -r $(apkg-foreign)
</code></pre>
@@ -367,7 +355,6 @@ $ apkg-foreign
<p>usage:</p>
<pre><code>(print package contains redundant dependencies)
$ apkg-redundantdeps
-
(remove redundant dependencies for depends list)
$ apkg-redundantdeps -f
</code></pre>