Compare commits
12 Commits
40aa3b785f
...
march-22-b
| Author | SHA1 | Date | |
|---|---|---|---|
| 66fbb7653e | |||
| 3b1b0464be | |||
| f7cb8fe6cf | |||
| 304bd29b08 | |||
| 82335b982b | |||
| 6f5a54175e | |||
| 7dea28cb16 | |||
| 5aa3c4676b | |||
| 5075233672 | |||
| 1fb58eafe8 | |||
| aa61054d1d | |||
| 4705d60122 |
8
TODO_EVERESTWEB
Normal file
8
TODO_EVERESTWEB
Normal file
@@ -0,0 +1,8 @@
|
||||
+ TODO_EVERESTWEB
|
||||
|
||||
(*) denotes incomplete
|
||||
(-) denotes complete
|
||||
|
||||
=== BEGIN TASK LIST ===
|
||||
|
||||
* Make announcement about delays
|
||||
@@ -39,6 +39,9 @@
|
||||
<p>September 2022 - Different ways of bootstrapping a base system are tested by the development team.</p>
|
||||
<p>October 2022 - Glacier v3 is released.</p>
|
||||
<p>December 2022 - System image builds done by the development team.</p>
|
||||
<p>February 2023 - Work on Glacier v4 is begun, website overhaul.</p>
|
||||
<p>April 2023 - ecrypy, pm, and nc released.</p>
|
||||
<p>December 2023 - Glacier C rewrite announced</p>
|
||||
<h2>Design Principles</h2>
|
||||
<p>Our design principles heavily influence and guide development. You may notice we share many of these with Arch.</p>
|
||||
<strong>Simplicity</strong>
|
||||
@@ -69,7 +72,7 @@
|
||||
</table>
|
||||
</div>
|
||||
<footer>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
24
css/nord.css
24
css/nord.css
@@ -100,7 +100,7 @@ html {
|
||||
border-radius: 2px;
|
||||
padding: 4px;
|
||||
width: 50%;
|
||||
color: #2E3440;
|
||||
color: #D8DEE9;
|
||||
}
|
||||
|
||||
.news {
|
||||
@@ -181,7 +181,7 @@ warnhead {
|
||||
border-radius: 2px;
|
||||
padding: 6px;
|
||||
width: 50%;
|
||||
color: #2E3440;
|
||||
color: #D8DEE9;
|
||||
}
|
||||
|
||||
newshead {
|
||||
@@ -253,6 +253,13 @@ cil {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
cil-inv {
|
||||
font-family: monospace;
|
||||
background-color: #2E3440;
|
||||
color: #ECEFF4;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
wiki {
|
||||
border-left-style: solid;
|
||||
border-left-width: 4px;
|
||||
@@ -385,3 +392,16 @@ body, html {
|
||||
transform: translate(-50%, -50%);
|
||||
color: white;
|
||||
}
|
||||
|
||||
hr {
|
||||
color: #88c0d0;
|
||||
width: 50%;
|
||||
border-width: 4px;
|
||||
border-radius: 5px;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.tab {
|
||||
display: inline-block;
|
||||
margin-left: 80px;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
<h2>Developer Documentation</h2>
|
||||
<p>This page contains developer-specific documentation.</p>
|
||||
<h2>1 - Coding Style</h2>
|
||||
<p><strong>1.1</strong> File Structure</p>
|
||||
<p><strong>1.1</strong> C</p>
|
||||
<p><i>1.1.1</i> File Structure</p>
|
||||
<p>Files should follow this format:<p>
|
||||
<ul>
|
||||
<li>Header comment, including program name and LICENSE</li>
|
||||
@@ -42,7 +43,7 @@
|
||||
<p>Note that function declarations should be defined in a separate header, ex:</p>
|
||||
<p><cil>#include "project_name.h"</cil></p>
|
||||
<p>Indentations should be a single tab and be equal to 8 characters for better readability.</p>
|
||||
<p><strong>1.2</strong> Functions</p>
|
||||
<p><i>1.1.2</i> Functions</p>
|
||||
<p>Functions should have their return type on one line, their name and parameters one line down, and the bracket one line under the name and arguments.</p>
|
||||
<p>Example:</p>
|
||||
<bigcodehead><strong>CODE:</strong> Proper function formatting in C</bigcodehead>
|
||||
@@ -54,7 +55,7 @@
|
||||
<p>}</p>
|
||||
</div>
|
||||
<p></p>
|
||||
<p><strong>1.3</strong> Example Program</p>
|
||||
<p><i>1.1.3</i> Example Program</p>
|
||||
<fhead><strong>FILE:</strong> prog.c</fhead>
|
||||
<div class="file">
|
||||
<p>#include <stdio.h></p>
|
||||
@@ -83,6 +84,35 @@
|
||||
<p> <p>
|
||||
<p>#endif</p>
|
||||
</div>
|
||||
<p><i>1.1.4</i> common.h</p>
|
||||
<p>For large programs which include many header files, it is perfectly acceptable to define these includes in a separate header and then include that in each file.</p>
|
||||
<fhead><strong>FILE:</strong> common.h</fhead>
|
||||
<div class="file">
|
||||
<p>#ifndef COMMON_H_</p>
|
||||
<p>#define COMMON_H_</p>
|
||||
<p> </p>
|
||||
<p>#include <color.h></p>
|
||||
<p>#include <stdio.h></p>
|
||||
<p>#include <unistd.h></p>
|
||||
<p> </p>
|
||||
<p>#endif</p>
|
||||
</div>
|
||||
<p></p>
|
||||
<fhead><strong>FILE:</strong> prog.c</fhead>
|
||||
<div class="file">
|
||||
<p>#include "common.h"</p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p> printf("hello\n");
|
||||
<p>}</p>
|
||||
</div>
|
||||
<p><strong>1.2</strong> Best Practices</p>
|
||||
<ul>
|
||||
<p><li>Avoid abbreviation and single letter variables.</li><p>
|
||||
<p><li>Avoid deep nesting.</li></p>
|
||||
</ul>
|
||||
<h2>2 - Licensing</h2>
|
||||
<p><strong>2.1</strong> Disclaimer</p>
|
||||
<warnhead><strong>WARNING:</strong></warnhead>
|
||||
@@ -110,13 +140,14 @@
|
||||
</div>
|
||||
<p><strong>2.3</strong> Proprietary Licenses</p>
|
||||
<p>Programs hosted on our Git servers are never to be released under proprietary licenses.</p>
|
||||
<p>Distributing obfuscated binaries (for instance, using <cil>shc</cil> to hide the contents of a shell script) is also not allowed.</p>
|
||||
<p>There will be no further discussion.</p>
|
||||
</div>
|
||||
<footer>
|
||||
<p>Page last updated 10/19/23 @ 18:58</p>
|
||||
<p>Page last updated 03/17/2025 @ 12:00</p>
|
||||
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||
<p>--------------------</p>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
@@ -27,6 +27,11 @@
|
||||
Back to home
|
||||
</button>
|
||||
<h2>General Recommendations</h2>
|
||||
<notehead><strong>NOTE:</strong></notehead>
|
||||
<div class="note">
|
||||
<p>This page is outdated as of 9/17/2024</p>
|
||||
<p>Reason: Glacier v4, esv rewrite, among others</p>
|
||||
</div>
|
||||
<p>This page will explain how to expand an Everest system from barebones to more usable.</p>
|
||||
<h2>1 - Administration</h2>
|
||||
<p><strong>1.1 </strong>Users</p>
|
||||
@@ -106,7 +111,7 @@
|
||||
<p>Page last updated 4/04/23 @ 13:34</p>
|
||||
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||
<p>--------------------</p>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
@@ -55,12 +55,13 @@
|
||||
<li><a href="dev-docs.html">Developer Documentation</a></li>
|
||||
<li><a href="general-recommendations.html">General Recommendations</a></li>
|
||||
<li><a href="intro-to-glacier.html">Introduction to Glacier</a></li>
|
||||
<li><a href="libglacier.html">libglacier</a></li>
|
||||
<li><a href="meta-reading.html">Meta: Reading Guide</a></li>
|
||||
<li><a href="musl-or-glibc.html">musl or glibc?</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<footer>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
@@ -28,62 +28,94 @@
|
||||
</button>
|
||||
<h2>1 - Introduction</h2>
|
||||
<p>Glacier is the package management system for Glacier. All users should be familiar with how it works.</p>
|
||||
<h2>2 - Terminology</h2>
|
||||
<p>In this case, the word 'merge' and 'install' mean the same thing.</p>
|
||||
<p>A package index is a list of all installed packages on any given Everest system.</p>
|
||||
<p>The local index is managed by all users on the system, and is located in /usr/glacier/index.</p>
|
||||
<p>The global index is managed by Git, and is located in /glacier/index.</p>
|
||||
<p>A system profile describes your base system, including C library, architecture, SELinux support, multilib support, etc.</p>
|
||||
<h2>3 - Included programs</h2>
|
||||
<h2>2 - Package Indexes</h2>
|
||||
<p>On an Everest system, packages are stored in an "index", of which there are two, the <i>system</i> index and the <i>user</i> index.</p>
|
||||
<p>The system index is located in <cil>/glacier/index</cil>, and the user index is localed in <cil>/usr/glacier/index</cil>.</p>
|
||||
<p>When you merge a package from a repository, <cil>gpkg</cil> will retrieve the file, execute the relevant instruction sets, and store the package in the user index. <cil>syspkg</cil> will operate on the system index instead. On update, <cil>gpkg</cil> will retrieve the package from the user index and execute the relevant instruction sets. The package will then be moved back into the user index. On removal, the package will be moved to <cil>/tmp</cil> oncde the removal instructions have been executed.</p>
|
||||
<h2>3 - Repositories</h2>
|
||||
<p>Unlike most distributions, Everest installations include a copy of the package repository on the local system. Rather than downloading packages from a remote server, Glacier clones a package from the local repository.</p>
|
||||
<p>This presents some advantages:</p>
|
||||
<ul>
|
||||
<li><p>Package modifications can be done easily</p></li>
|
||||
<li><p>In the result of connection loss, Glacier can still be used</p></li>
|
||||
</ul>
|
||||
<p>And also some disadvantages:</p>
|
||||
<ul>
|
||||
<li><p>Security risks may surface if the repository is not kept updated or an unauthorized party makes changes to packages</p></li>
|
||||
</ul>
|
||||
<p>The <cil>glacier-update-pkgdb</cil> program can be used to update the local repository. This should be done regularly (at least once a week) to ensure the newest and most secure packages are available.</p>
|
||||
<h2>4 - The System Profile</h2>
|
||||
<p>An Everest installation includes a system profile. In simple terms, this is a series of environment variables and configurations that tell Glacier which packages it can install. The system profile should not change unless the user intends to migrate profiles.</p>
|
||||
<p>The following environment variables are defined by the system profile:</p>
|
||||
<ul>
|
||||
<li><p><cil>GLACIER_REPO</cil> - The repository which will be downloaded by <cil>glacier-update-pkgdb</cil></p></li>
|
||||
<li><p><cil>GLACIER_ARCH</cil> - The CPU's architecture</p></li>
|
||||
<li><p><cil>GLACIER_TARGET</cil> - The compilation triplet</p></li>
|
||||
<li><p><cil>GLACIER_SYSTEM_PROFILE</cil> - The name of the system profile</p></li>
|
||||
</ul>
|
||||
<p>The following system profiles are available:</p>
|
||||
<ul>
|
||||
<li><p><cil>x86_64-musl</cil></p></li>
|
||||
</ul>
|
||||
<p>The following system profiles are planned for the future:</p>
|
||||
<ul>
|
||||
<li><p><cil>x86_64-glibc</cil></p></li>
|
||||
<li><p><cil>x86_64-musl-nomultilib</cil></p></li>
|
||||
<li><p><cil>x86_64-glibc-nomultilib</cil></p></li>
|
||||
</ul>
|
||||
<h2>5 - Included programs</h2>
|
||||
<p><strong>3.1 </strong>gpkg</p>
|
||||
<p>'gpkg' is the program most users will be interacting with. It handles the downloading, installation, and logging of packages.</p>
|
||||
<p><cil>gpkg</cil> is the program most users will be interacting with. It handles the downloading, installation, and logging of packages.</p>
|
||||
<p><strong>3.2 </strong>syspkg</p>
|
||||
<p>'syspkg' is like 'gpkg', except it operates on the system index, rather than the local index. End users should not use this unless instructed to.</p>
|
||||
<p><cil>syspkg</cil> is like <cil>gpkg</cil>, except it operates on the system index, rather than the local index. End users should not use this unless instructed to.</p>
|
||||
<p><strong>3.3 </strong>glist</p>
|
||||
<p>'glist' lists all installed packages, allowing the user to filter by name.
|
||||
<p><cil>glist</cil> lists all installed packages, allowing the user to filter by name.
|
||||
<p><strong>3.4 </strong>gquery</p>
|
||||
<p>'gquery' queries information on a package.</p>
|
||||
<p><strong>3.5 </strong>glacier-mkprofile</p>
|
||||
<p>'glacier-mkprofile' makes changes to the system-wide profile. Users should not interact with this unless needed.</p>
|
||||
<h2>4 - Frontends</h2>
|
||||
<p><cil>gquery</cil> queries information on a package.</p>
|
||||
<p><strong>3.5 </strong>gpc</p>
|
||||
<p><cil>gpc</cil> checks if the syntax of a package is correct. This can be used to troubleshoot a package refusing to install, but is mainly intended for package developers.</p>
|
||||
<p><strong>3.6 </strong>glacier-mkprofile</p>
|
||||
<p><cil>glacier-mkprofile</cil> makes changes to the system-wide profile. Users should not interact with this unless needed.</p>
|
||||
<p><strong>3.7 </strong>glacier-update-pkdgb</p>
|
||||
<p><cil>glacier-update-pkgdb</cil> syncs the local package database with the remote server. This command should be run periodically to ensure you have the most up-to-date packages.</p>
|
||||
<h2>6 - Frontends</h2>
|
||||
<p>Frontends, or wrappers, may provide additional functionality to Glacier.</p>
|
||||
<warnhead><strong>WARNING:</strong></warnhead>
|
||||
<div class="warning">
|
||||
<p>Third party frontends and wrapper scripts are not supported. Use them at your own risk.</p>
|
||||
</div>
|
||||
<h2>5 - Merging packages</h2>
|
||||
<h2>7 - Merging packages</h2>
|
||||
<p><strong>5.1 </strong>Using gpkg</p>
|
||||
<p>To merge a package from a repository:</p>
|
||||
<code>(root)# gpkg -f repo/pkg</code>
|
||||
<p>For instance, to install 'vim' in the 'world' repository:</p>
|
||||
<code>(root)# gpkg -f world/vim</code>
|
||||
<code>(root)# gpkg -f pkg</code>
|
||||
<p>For instance, to install 'vim':</p>
|
||||
<code>(root)# gpkg -f vim</code>
|
||||
<p><strong>5.2 </strong>Using syspkg</p>
|
||||
<p>Using 'syspkg' is not recommended for end users because all changes to the global package index will be overwritten when pulling a new update.</p>
|
||||
<p>If you understand these risks, and wish to use 'syspkg' anyways, you are acknowledging that things may break.</p>
|
||||
<p>To merge a package from a repository:</p>
|
||||
<code>(root)# syspkg -f repo/pkg</code>
|
||||
<h2>6 - Updating packages</h2>
|
||||
<p>Using <cil>syspkg</cil> is not recommended for end users because all changes to the global package index will be overwritten when pulling a new update.</p>
|
||||
<p>If you understand these risks, and wish to use <cil>syspkg</cil> anyways, you are acknowledging that things may break.</p>
|
||||
<p>To merge a package:</p>
|
||||
<code>(root)# syspkg -f pkg</code>
|
||||
<h2>8 - Updating packages</h2>
|
||||
<p><strong>6.1 </strong>Introduction</p>
|
||||
<p>When merging a package into any index, the package file is retained in said index. This provides most information needed to keep track of the package, however, when updating, an updated package file will need to be downloaded. Old package files will be retained as 'pkgname.old'.</p>
|
||||
<p>When merging a package into any index, the package file is retained in said index. This provides most information needed to keep track of the package, however, when updating, an updated package file will need to be downloaded. Old package files will be retained as <cil>pkgname.old</cil>.</p>
|
||||
<p><strong>6.2 </strong>Using gpkg</p>
|
||||
<p>To update a package:</p>
|
||||
<code>(root)# gpkg -u repo/pkg</code>
|
||||
<code>(root)# gpkg -u pkg</code>
|
||||
<p><strong>6.3 </strong>Using syspkg</p>
|
||||
<p>As mentioned above, 'syspkg' is intended for system development, and NOT for end users.</p>
|
||||
<p>However, 'syspkg -u' has some use cases for end users. These include:</p>
|
||||
<p>As mentioned above, <cil>syspkg</cil> is intended for system development, and NOT for end users.</p>
|
||||
<p>However, <cil>syspkg -u</cil> has some use cases for end users. These include:</p>
|
||||
<ul>
|
||||
<li>Updating a system program WITHOUT pulling a new release from Git</li>
|
||||
<li>Fixing urgent security vulnerabilities</li>
|
||||
</ul>
|
||||
<p>To update a package:</p>
|
||||
<code>(root)# syspkg -u repo/pkg</code>
|
||||
<h2>7 - Removing packages</h2>
|
||||
<code>(root)# syspkg -u pkg</code>
|
||||
<h2>9 - Removing packages</h2>
|
||||
<p><strong>7.1 </strong>Introduction</p>
|
||||
<p>When removing a package, the package info file is moved from the appropriate index to /tmp, and saved as 'pkgname.rm'. This means it will be wiped after the next reboot.</p>
|
||||
<p>When removing a package, the package info file is moved from the appropriate index to /tmp, and saved as <cil>pkgname.rm</cil>. This means it will be wiped after the next reboot.</p>
|
||||
<p><strong>7.2 </strong>Using gpkg</p>
|
||||
<p>To remove a package:</p>
|
||||
<code>(root)# gpkg -x pkg</code>
|
||||
<p>Note that no repository name was provided. It is not required, as no files will be downloaded during the removal process.</p>
|
||||
<p>If a package is a dependency for another, you will be shown the following error:</p>
|
||||
<code>[x] Could not remove (package_name): is a dependency for (package_name)</code>
|
||||
<p><strong>7.3 </strong>Using syspkg</p>
|
||||
@@ -93,25 +125,25 @@
|
||||
</div>
|
||||
<p>If you wish to proceed anyways, you can remove a package with:</p>
|
||||
<code>(root)# syspkg -x pkg</code>
|
||||
<h2>8 - Advanced usage</h2>
|
||||
<h2>10 - Advanced usage</h2>
|
||||
<p><strong>8.1 </strong>Patching packages</p>
|
||||
<p>Patching packages is the act of editing a package file to change compile options, optimizations, etc. It is very useful if used correctly.</p>
|
||||
<p>The officially tested and verified method for patching is as follows:</p>
|
||||
<ul>
|
||||
<li>Download the package file with 'gpkg -d'</li>
|
||||
<li>Download the package file with <cil>gpkg -d</cil></li>
|
||||
<li>Edit the package file with a text editor of your choice</li>
|
||||
<li>Install the locally modified package with 'gpkg -fl pkg'</li>
|
||||
<li>Install the locally modified package with <cil>gpkg -fl pkg</cil></li>
|
||||
</ul>
|
||||
<p><strong>8.2 </strong>Custom package repository</p>
|
||||
<p>If Glacier's standard package repository is not sufficient, you can use a custom one.</p>
|
||||
<warnhead><strong>WARNING:</strong></warnhead>
|
||||
<div class="warning">
|
||||
<p>Ensure the repository you wish to migrate to supports your system profile. For example, if your profile is 'x86-musl', the new repository should offer packages compatible with 'x86-musl'.</p>
|
||||
<p>Ensure the repository you wish to migrate to supports your system profile. For example, if your profile is <cil-inv>x86-musl</cil-inv>, the new repository should offer packages compatible with <cil-inv>x86-musl</cil-inv>.</p>
|
||||
<p>Errors will occur if this is not taken into account.</p>
|
||||
</div>
|
||||
<p>To use a custom repository once, to merge a package:</p>
|
||||
<code>(root)# GREPO=http://some-repo.org gpkg -f repo/pkg</code>
|
||||
<p>To make the changes persistent, change the 'GREPO' variable in '/etc/glacier.conf':</p>
|
||||
<p>To make the changes persistent, change the <cil>GREPO</cil> variable in <cil>/etc/glacier.conf</cil>:</p>
|
||||
<fhead><strong>FILE:</strong> /etc/glacier.conf</fhead>
|
||||
<div class="file">
|
||||
<p>export GREPO="https://some-repo.org</p>
|
||||
@@ -155,7 +187,7 @@
|
||||
<p>GLACIER_SRV_DIR="/etc/glacier/services"</p>
|
||||
<p>$GLACIER_SRV_DIR/update-pkgdb.hook</p>
|
||||
</div>
|
||||
<h2>9 - Querying packages</h2>
|
||||
<h2>11 - Querying packages</h2>
|
||||
<p><strong>9.1 </strong>Introduction</p>
|
||||
<p>Glacier packages, in ther simplest form, are text files, containing instructions on how the package is built, who made it, what it's called, and what files it includes.</p>
|
||||
<p><strong>9.2 </strong>Querying files</p>
|
||||
@@ -164,7 +196,12 @@
|
||||
<p><strong>9.3 </strong>Querying info</p>
|
||||
<p>Package info can be listed with:</p>
|
||||
<code>(user)$ gquery -i pkg</code>
|
||||
<h2>10 - Writing packages</h2>
|
||||
<h2>12 - Writing packages</h2>
|
||||
<notehead><strong>NOTE:</strong></notehead>
|
||||
<div class="note">
|
||||
<p>This section is outdated as of 9/17/2024</p>
|
||||
<p>Reason: Glacier v4 changes the package format</p>
|
||||
</div>
|
||||
<p><strong>10.1 </strong>Introduction</p>
|
||||
<p>As mentioned before, Glacier packages are simply text files. This makes them very easy to write and maintain.</p>
|
||||
<p>If you have previous experience writing PKGBUILDs for the AUR, writing Glacier packages should feel very similar.</p>
|
||||
@@ -224,10 +261,10 @@
|
||||
<p>Anything prefixed with "system" refers to the use of 'syspkg'.</p>
|
||||
</div>
|
||||
<footer>
|
||||
<p>Page last updated 9/03/23 @ 22:02</p>
|
||||
<p>Page last updated 9/17/24 @ 09:40</p>
|
||||
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||
<p>--------------------</p>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
318
docs/libglacier.html
Normal file
318
docs/libglacier.html
Normal file
@@ -0,0 +1,318 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Everest Linux - Docs</title>
|
||||
<link type="text/css" rel="stylesheet" href="../css/nord.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Navbar -->
|
||||
<div class="sidenav">
|
||||
<img src="../img/everest-nord.svg" alt="everest-logo">
|
||||
<a href="../index.html">Home</a>
|
||||
<a href="../about.html">About</a>
|
||||
<a href="../install.html">Install</a>
|
||||
<a href="../packages.html">Packages</a>
|
||||
<a href="../download.html">Downloads</a>
|
||||
<a href="home.html">Docs</a>
|
||||
<a href="../errata.html">Errata</a>
|
||||
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||
</div>
|
||||
|
||||
<!-- Rest of page -->
|
||||
<div class="main">
|
||||
<button onclick="window.location.href='home.html';">
|
||||
Back to home
|
||||
</button>
|
||||
<h2>1 - Introduction</h2>
|
||||
<p><cil>libglacier</cil> is the backend library for Glacier. It simplifies many functions and allows users to extend Glacier's functionality.</p>
|
||||
<h2>2 - Installation</h2>
|
||||
<p>In order to install <cil>libglacier</cil>, the following libraries must be installed:</p>
|
||||
<ul>
|
||||
<li><p>libcolor</p></li>
|
||||
<li><p>libconfig</p></li>
|
||||
</ul>
|
||||
<p>Once these libraries are installed, clone the <cil>libglacier</cil> repository:</p>
|
||||
<p><code>$ git clone https://git.everestlinux.org/EverestLinux/libglacier</code></p>
|
||||
<p>Enter the repository and edit the make configuration file:</p>
|
||||
<p><code>$ cd libglacier</code></p>
|
||||
<p><code>$ ${EDITOR} config.mk</code></p>
|
||||
<cautionhead><strong>CAUTION</strong></cautionhead>
|
||||
<div class="caution">
|
||||
<p>Before proceeding with ANY other step, make sure you define <cil-inv>PREFIX</cil-inv> in config.mk.</p>
|
||||
<p>By default this variable is not defined. Results will be unexpected if the library is compiled without <cil-inv>PREFIX</cil-inv> defined.</p>
|
||||
</div>
|
||||
<p>Build the library:</p>
|
||||
<p><code>$ make lib</code></p>
|
||||
<notehead><strong>NOTE</strong></notehead>
|
||||
<div class="note">
|
||||
<p><cil-inv>libglacier</cil-inv> is provided as a static library only.</p>
|
||||
<p>If you wish to compile a shared library instead, you must edit the Makefile</p>
|
||||
</div>
|
||||
<h2>3 - Using libglacier in a program</h2>
|
||||
<p>To use <cil>libglacier</cil> in a program, include the relevant header files:</p>
|
||||
<bigcodehead><strong>CODE:</strong> Including libglacier header files</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_config.h></p>
|
||||
<p>#include <glacier_data.h></p>
|
||||
<p>#include <glacier_log.h></p>
|
||||
<p>#include <glacier_pkgops.h></p>
|
||||
<p>#include <glacier_runtime.h></p>
|
||||
<p>#include <glacier_security.h></p>
|
||||
</div>
|
||||
<p></p>
|
||||
<p>To compile <cil>libglacier</cil> into your program, add the flag <cil>-lglacier</cil> to your build process.</p>
|
||||
<p><code>$ gcc program.c -lglacier -o program</code></p>
|
||||
<p></p>
|
||||
<h2>4 - Configuration Functions</h2>
|
||||
<p><cil>libglacier</cil> supplies functions for parsing and getting values from libconfig-syntax configuration files. While only three are present, more are planned for the future.</p>
|
||||
<p><strong>4.1</strong> init_config</p>
|
||||
<p><cil>init_config</cil> initializes the libconfig library, and allows configuration files to be parsed.</p>
|
||||
<p>No parameters are accepted by <cil>init_config</cil>.</p>
|
||||
<bigcodehead><strong>CODE:</strong> init_config used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_config.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p> if (init_config() != 0) {</p>
|
||||
<p> errlog("failed to initialize libconfig");
|
||||
<p> return(EXIT_FAILURE);</p>
|
||||
<p> }</p>
|
||||
<p> else {</p>
|
||||
<p> successlog("Initialized libconfig");
|
||||
<p> }
|
||||
<p>}</p>
|
||||
</div>
|
||||
<p><cil>init_config</cil> returns 0 on success, and 1 on failure.</p>
|
||||
<hr>
|
||||
<p><strong>4.2</strong> die_config</p>
|
||||
<p><cil>die_config</cil> unloads the libconfig library. You should always run this when you're finished with libconfig in order to free memory.</p>
|
||||
<p>No parameters are accepted by <cil>die_config</cil>.</p>
|
||||
<bigcodehead><strong>CODE:</strong> die_config used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_config.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p> die_config();</p>
|
||||
<p>}</p>
|
||||
</div>
|
||||
<p><cil>die_config</cil> returns 0 on success, and 1 on failure.</p>
|
||||
<p><strong>4.3</strong> load_all_from_config</p>
|
||||
<p><cil>load_all_from_config</cil> loads all expected settings from /etc/glacier.cfg.</p>
|
||||
<p>No parameters are accepted by <cil>load_all_from_config</cil>.</p>
|
||||
<bigcodehead><strong>CODE:</strong> load_all_from_config used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_config.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p> init_config();</p>
|
||||
<p>}</p>
|
||||
</div>
|
||||
<h2>5 - Data structure functions</h2>
|
||||
<p>Since Glacier is a package manager, <cil>libglacier</cil> provides functions for creating and handling dependency trees.</p>
|
||||
<p><strong>5.1</strong> create_node</p>
|
||||
<p><cil>create_node</cil> creates a node for a dependency tree.</p>
|
||||
<p><cil>create_node</cil> accepts the following parameters:</p>
|
||||
<ul>
|
||||
<li><p><cil>char *data</cil> (the name of the node to create)</p></li>
|
||||
</ul>
|
||||
<bigcodehead><strong>CODE:</strong> create_node used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_data.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p> struct node package = create_node("Package");</p>
|
||||
<p>}</p>
|
||||
</div>
|
||||
<p><strong>5.2</strong> add_child</p>
|
||||
<p><cil>add_child</cil> adds a specified child node to a parent node.</p>
|
||||
<p><cil>add_child</cil> accepts the following parameters:</p>
|
||||
<ul>
|
||||
<li><p><cil>struct node *parent</cil> (the parent node which the child will be added to)</p></li>
|
||||
<li><p><cil>struct node *child</cil> (the child node which will be added to the parent node)</p></li>
|
||||
</ul>
|
||||
<bigcodehead><strong>CODE:</strong> add_child used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_data.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p><span class="tab"></span>struct node pack = create_node("pack");
|
||||
<p><span class="tab"></span>struct node dep1 = create_node("dep1");
|
||||
<p><span class="tab"></span>add_child(pack, dep1);</p>
|
||||
<p>}</p>
|
||||
</div>
|
||||
<p><strong>5.3</strong> print_tree</p>
|
||||
<p><cil>print_tree</cil> prints a dependency tree specified at its root node.</p>
|
||||
<p><cil>print_tree</cil> accepts the following parameters:</p>
|
||||
<ul>
|
||||
<li><p><cil>struct node *root</cil> (the root node of the tree to print</p></li>
|
||||
<li><p><cil>int level</cil> (the number of levels to descend)</p></li>
|
||||
</ul>
|
||||
<bigcodehead><strong>CODE:</strong> print_tree used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_data.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p><span class="tab"></span>struct node pack = create_node("pack");</p>
|
||||
<p><span class="tab"></span>struct node dep1 = create_node("dep1");</p>
|
||||
<p><span class="tab"></span>add_child(pack, dep1);</p>
|
||||
<p><span class="tab"></span>print_tree(pack, 0);</p>
|
||||
<p>}</p>
|
||||
</div>
|
||||
<p><strong>5.4</strong> init_queue</p>
|
||||
<p><cil>init_queue</cil> initializes a queue data structure.</p>
|
||||
<p><cil>init_queue</cil> accepts the following parameters:</p>
|
||||
<ul>
|
||||
<li><p><cil>queue *q</cil> (the name of the queue to initialize</p></li>
|
||||
</ul>
|
||||
<bigcodehead><strong>CODE:</strong> init_queue used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_data.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p><span class="tab"></span>hi</p>
|
||||
</div>
|
||||
<p></p>
|
||||
<h2>6 - Logging Functions</h2>
|
||||
<p>The logging functions <cil>libglacier</cil> provides are designed to allow a uniform style of output. </p>
|
||||
<p>The following logging functions are included:</p>
|
||||
<ul>
|
||||
<li><p><cil>infolog</cil></p></li>
|
||||
<li><p><cil>warnlog</cil></p></li>
|
||||
<li><p><cil>errlog</cil></p></li>
|
||||
<li><p><cil>successlog</cil></p></li>
|
||||
</ul>
|
||||
<p>These four functions accept the following parameters:</p>
|
||||
<ul>
|
||||
<li><p><cil>char MSG</cil> (the message to output</p></li>
|
||||
</ul>
|
||||
<p></p>
|
||||
<notehead><strong>NOTE:</strong></notehead>
|
||||
<div class="note">
|
||||
<p>Logging functions do not require a newline character ('\n'), they will automatically place one after the message.</p>
|
||||
</div>
|
||||
<p></p>
|
||||
<bigcodehead><strong>CODE:</strong> Logging functions used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_log.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p> infolog("This is an info message");</p>
|
||||
<p> warnlog("This is a warning message");</p>
|
||||
<p> errlog("This is an error message");</p>
|
||||
<p> successlog("This is a success message");</p>
|
||||
<p>}</p>
|
||||
</div>
|
||||
<p></p>
|
||||
<h2>7 - Package Operation Functions</h2>
|
||||
<p>This section describes the numerous functions related to operations on packages.</p>
|
||||
<p><strong>7.1</strong> mkworkspace</p>
|
||||
<p><cil>mkworkspace</cil> creates a Glacier workspace at <cil>/tmp/glacier-workspace</cil>.</p>
|
||||
<p><cil>mkworkspace</cil> accepts no parameters.</p>
|
||||
<p><cil>mkworkspace</cil> returns the following values:</p>
|
||||
<ul>
|
||||
<li><p>0 on success</p></li>
|
||||
<li><p>2 on library error</p></li>
|
||||
</ul>
|
||||
<bigcodehead><strong>CODE:</strong> mkworkspace used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_pkgops.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p> mkworkspace();</p>
|
||||
<p>}</p>
|
||||
</div>
|
||||
<p><strong>7.2</strong> prepare_pkg</p>
|
||||
<p><cil>prepare_pkg</cil> copies a package archive from the local package database to the workspace, and untars it.</p>
|
||||
<p><cil>prepare_pkg</cil> accepts the following parameters:</p>
|
||||
<ul>
|
||||
<li><p><cil>char PACKAGE[]</cil> (the package file to prepare)</p></li>
|
||||
</ul>
|
||||
<p><cil>prepare_pkg</cil> returns the following values:</p>
|
||||
<ul>
|
||||
<li><p>0 on success</p></li>
|
||||
<li><p>1 on package does not exist, or error untarring</p></li>
|
||||
</ul>
|
||||
<bigcodehead><strong>CODE:</strong> prepare_pkg used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_pkgops.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p> prepare_pkg("/glacier/localdb/epkgs-x86_64-musl/foo.tar");</p>
|
||||
<p>}</p>
|
||||
</div>
|
||||
<p> </p>
|
||||
<cautionhead><strong>CAUTION:</strong></cautionhead>
|
||||
<div class="caution">
|
||||
<p>This example presented is not the best. Instead of manually specifying the package directory, you should be calling the system profile.</p>
|
||||
</div>
|
||||
<p><strong>7.3</strong> run_make_task</p>
|
||||
<p><cil>run_make_task</cil> runs a specified make task in a package's current working directory.</p>
|
||||
<p><cil>run_make_task</cil> accepts the following parameters:</p>
|
||||
<ul>
|
||||
<li><p><cil>char TASK[]</cil> (the make task to run</p></li>
|
||||
</ul>
|
||||
<p><cil>run_make_task</cil> returns the following values:</p>
|
||||
<ul>
|
||||
<li><p>0 on success</p></li>
|
||||
<li><p>1 on failure</p></li>
|
||||
</ul>
|
||||
<bigcodehead><strong>CODE:</strong> run_make_task used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_pkgops.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p> prepare_pkg("/glacier/localdb/epkgs-x86_64-musl/foo.tar");</p>
|
||||
<p> run_make_task("installpkg");</p>
|
||||
|
||||
<p>}</p>
|
||||
</div>
|
||||
<h2>8 - Runtime Functions</h2>
|
||||
<p>The functions described here are used for various runtime checks.</p>
|
||||
<p><strong>8.1</strong> runtime_exists</p>
|
||||
<p><cil>runtime_exists</cil> checks if necessary runtime files exist and are in their correct locations.</p>
|
||||
<p><cil>runtime_exists</cil> accepts no parameters.
|
||||
<p><cil>runtime_exists</cil> returns no values.</p>
|
||||
<bigcodehead><strong>CODE:</strong> runtime_exists used in a program</bigcodehead>
|
||||
<div class="bigcode">
|
||||
<p>#include <glacier_runtime.h></p>
|
||||
<p> </p>
|
||||
<p>int</p>
|
||||
<p>main()</p>
|
||||
<p>{</p>
|
||||
<p> runtime_exists();</p>
|
||||
<p>}</p>
|
||||
</div>
|
||||
<p><strong>8.2</strong>
|
||||
</div>
|
||||
<footer>
|
||||
<p>Page last updated MM/DD/YY @ HH:MM</p>
|
||||
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||
<p>--------------------</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
@@ -29,7 +29,7 @@
|
||||
<p>Documentation for Everest is formatted in a specific way. This page explains how a page is formatted, and what certain things mean, in as much detail as possible.</p>
|
||||
<h2>2 - Cards</h2>
|
||||
<p><strong>2.1 </strong>Introduction</p>
|
||||
<p>Most Everest documentation pages will contain some type of a "card". Put simply, these are small sections that contain file contents, kernel configurations, warnings, notes, etc. There are 6 types of cards:</p>
|
||||
<p>Most Everest documentation pages will contain some type of a "card". Put simply, these are small containers that contain file contents, kernel configurations, warnings, notes, etc. There are 6 types of cards:</p>
|
||||
<p><strong>2.2 </strong>Note</p>
|
||||
<p>This card is the most simple. It contains a note on a certain section. They are usually not required to read, but contain important information.</p>
|
||||
<notehead><strong>NOTE:</strong></notehead>
|
||||
@@ -72,12 +72,29 @@
|
||||
<div class="news">
|
||||
<p>This is an example of a news card.</p>
|
||||
</div>
|
||||
<h2>3 - Page Structure</h2>
|
||||
<p>Everest documentation pages are organized into:</p>
|
||||
<ul>
|
||||
<li><a>Chapters</a></li>
|
||||
<li><a>Sections</a></li>
|
||||
<li><a>Subsections</a></li>
|
||||
</ul>
|
||||
<p><strong>3.1</strong> Chapters</p>
|
||||
<p>Chapters are typically the largest sections on a given page. The topics they cover are very broad. Each chapter contains its own sections.</p>
|
||||
<p>A chapter header is large, bold, has a colored sidebar, and is denoted by its number.</p>
|
||||
<p><strong>3.2</strong> Sections</p>
|
||||
<p>Sections are nested within chapters, and typically pertain to more specific topics related to a chapter.</p>
|
||||
<p>A section header is bold, and is denoted by the number of the chapter it is nested under, followed by that section's number.</p>
|
||||
<p><strong>3.3</strong> Subsections</p>
|
||||
<p>Subsections are nested within sections, and usually contain very specific topics pertaining to a section (and chapter at large). Sometimes, a page does not use subsections at all.</p>
|
||||
<p>A subsection header is italic, and is denoted by the number of the chapter it is nested under, followed by the number of the section it is nested under, followed by that subsection's number.</p>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
<p>Page last updated 12/07/2023 @ 12:06</p>
|
||||
<p>Page last updated 1/08/2024 @ 17:28</p>
|
||||
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||
<p>--------------------</p>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
<p>Page last updated 6/17/23 @ 20:16</p>
|
||||
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||
<p>--------------------</p>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
Back to home
|
||||
</button>
|
||||
<h2>Recovery</h2>
|
||||
<p>System security is very important, however there are time that a system becomes so secure that the owner of the system becomes locked out of their own computer. There are a couple different methods for recovering a locked system.</p>
|
||||
<p>System security is very important, however there are times when a system becomes so secure that the owner of the system becomes locked out of their own computer. There are a couple different methods for recovering a locked system.</p>
|
||||
<h2>1 - Issues</h2>
|
||||
<p><strong>1.1</strong> Issues resulting in a locked system</p>
|
||||
<p>There are many things which may lock someone out of their system. The most notable ones are:</p>
|
||||
@@ -56,7 +56,7 @@
|
||||
<p>Page last updated MM/DD/YY @ HH:MM</p>
|
||||
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||
<p>--------------------</p>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<p>Page last updated MM/DD/YY @ HH:MM</p>
|
||||
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||
<p>--------------------</p>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
<code>(user)$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/SYSTEM_IMAGE</code>
|
||||
</div>
|
||||
<footer>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
<p>Contact security@everestlinux.org to report an issue</p>
|
||||
</div>
|
||||
<footer>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
57
index.html
57
index.html
@@ -41,6 +41,40 @@
|
||||
Installation Guide
|
||||
</button>
|
||||
<h2>News</h2>
|
||||
<newshead><strong>10/3/24 - libglacier v4.0.0rc out now</strong></newshead>
|
||||
<div class="news">
|
||||
<p>After 8 months of development, libglacier has been released as v4.0.0rc.</p>
|
||||
<p>While this is technically an unstable development release, it has been tested vigorously and is only labeled as unstable due to the absence of configuration file parsing, which will be added in the next release.</p>
|
||||
<p>This release means that progress on Glacier's frontend programs can finally progress.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>7/12/24 - Registration closed for git.everestlinux.org</strong></newshead>
|
||||
<div class="news">
|
||||
<p>Due to an influx of spam on our Git server, new account registration has been closed.</p>
|
||||
<p>If, for any reason, you require an account, please email me at liamwaldron@everestlinux.org so I can set one up for you.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>4/4/24 - All new releases on hold indefinitely</strong></newshead>
|
||||
<div class="news">
|
||||
<p>While work has been done on releasing Everest and Glacier, these releases are on hold indefinitely.</p>
|
||||
<p>I have decided to rewrite Glacier in C, which has added a significant amount of time needed for the release. This will ultimately be a good decision, since the rewritten Glacier will be much more portable than the Bash version.</p>
|
||||
<p>Additionally, I have recently committed to Assumption University to study cybersecurity. Hopefully I will be able to integrate this project into my studies if possible.</p>
|
||||
<p>Ultimately, this is a hobby project. I do not anticipate it to ever become big (or at least as big as some other distros), however if you are interested in helping out, shoot me a message at liamwaldron@everestlinux.org.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>12/20/23 - Everest v1.0.0 and Glacier v4.0.0 put on hold</strong></newshead>
|
||||
<div class="news">
|
||||
<p>Unfortunately, the releases scheduled for January 1st are being put on hold.</p>
|
||||
<p>The past few months have been very busy in terms of college stuff. Thankfully, I have been accepted into multiple schools and have a good idea of where I'm going.</p>
|
||||
<p>Since this stuff is clearing up, I now have more time to work on releasing Everest and Glacier. Most importantly, I now have a testbed to run everything on.</p>
|
||||
<p>The new target release date is March 1st, 2024.</p>
|
||||
<p>Once again, thank you for your continued support of this project.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>9/29/23 - Big news at Everest</strong></newshead>
|
||||
<div class="news">
|
||||
<p>Many things have been happening at Everest in the past few months.</p>
|
||||
@@ -51,11 +85,13 @@
|
||||
<p>Thank you for your continued support everyone!</p>
|
||||
<p>-The Everest Team</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>6/8/23 - New Everest logo</strong></newshead>
|
||||
<div class="news">
|
||||
<p>The Everest logo has been slightly redesigned. This includes a darker color palette.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>4/25/23 - Announcing Glacier v4</strong></newshead>
|
||||
<div class="news">
|
||||
@@ -67,72 +103,83 @@
|
||||
<p>Glacier v4 is highly unstable and experimental. Use at your own risk.</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>2/1/23 - Manual intervention required for /etc/glacier.conf</strong></newshead>
|
||||
<div class="news">
|
||||
<p>With the new Glacier update, changes were made to the download backend. Please ensure your current configuration is overwritten while updating.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>1/26/23 - Website overhaul</strong></newshead>
|
||||
<div class="news">
|
||||
<p>The Everest website has been completely overhauled with a cleaner, sleeker look.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>1/26/23 - System image builds nearly complete</strong></newshead>
|
||||
<div class="news">
|
||||
<p>A system image is coming together. This includes the toolchain We are still ironing out issues with Busybox's wget implementation, which fails to support https.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>11/1/22 - System image builds have begun</strong></newshead>
|
||||
<div class="news">
|
||||
<p>Today, the team has begun compiling system images. All programs have compiled correctly, with the exception of the system toolchain. This is a very important component, and the system cannot function without it.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>10/25/22 - Glacier v3 is released</strong></newshead>
|
||||
<div class="news">
|
||||
<p>After nearly 2 months of hard work, Glacier v3 is finally out. This release includes many stability improvements,</p>
|
||||
<p>changes to the codebase to improve readability, and a new build system.</p>
|
||||
<p>After nearly 2 months of hard work, Glacier v3 is finally out. This release includes many stability improvements, changes to the codebase to improve readability, and a new build system.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>10/7/22 - Glacier v3 enters testing</strong></newshead>
|
||||
<div class="news">
|
||||
<p>Glacier v3 is now available for testing. Please note that this release is not stable and therefore should not be run on a production machine.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>8/31/22 - Announcing Glacier v3</strong></newshead>
|
||||
<div class="news">
|
||||
<p>Glacier v2, which was release back in June, functions great, however does not function like a typical package manager would.</p>
|
||||
<p>Additionally, adding functionality is very difficult as the codebase is very complex and messy. Glacier v3 aims to fix these issues.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>6/21/22 - Registering everestlinux.org</strong></newshead>
|
||||
<div class="news">
|
||||
<p>Everest now owns a domain. This allows us to host our own website, rather than using GitHub (which is owned by Microsoft). This gives</p>
|
||||
<p>us more control over our work.</p>
|
||||
<p>Everest now owns a domain. This allows us to host our own website, rather than using GitHub (which is owned by Microsoft). This gives us more control over our work.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>5/31/22 - Glacier v2 is released</strong></newshead>
|
||||
<div class="news">
|
||||
<p>Glacier v2 has been released. This version provides several improvements to the codebase, such as condensing everything to a single executable.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>4/20/22 - Glacier v1 is released</strong></newshead>
|
||||
<div class="news">
|
||||
<p>Glacier has released a stable point in its development.</p>
|
||||
<p>In addition, color and unicode support has been added.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>4/5/22 - Glacier v0.6rc</strong></newshead>
|
||||
<div class="news">
|
||||
<p>The package format has been updated to include timestamping capabilities.</p>
|
||||
<p>These timestamps will be queried along with a package.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>3/28/22 - Glacier v0.5rc</strong></newshead>
|
||||
<div class="news">
|
||||
<p>Added a proper cleanup operation after a transaction finishes.</p>
|
||||
<p>Additionally, caching support has been added.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<p></p>
|
||||
<newshead><strong>3/10/22 - Glacier v0.2rc</strong></newshead>
|
||||
<div class="news">
|
||||
@@ -140,7 +187,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
18
install.html
18
install.html
@@ -79,9 +79,14 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/mnt/everest/usr</td>
|
||||
<td>/usr</td>
|
||||
<td>User partition</td>
|
||||
<td>No smaller than 25 GB, recommended size varies.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/mnt/everest/home</td>
|
||||
<td>Home partition</td>
|
||||
<td>It depends</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/mnt/everest</td>
|
||||
<td>Root filesystem</td>
|
||||
@@ -135,6 +140,11 @@
|
||||
<div class="note">
|
||||
<p>Make sure you're happy with the system image you choose. While migrating in the future is possible, it requires rebuilding the majority of the system, takes a substantial amount of time, and may present other issues.</p>
|
||||
</div>
|
||||
<p></p>
|
||||
<warnhead><strong>WARNING:</strong></warnhead>
|
||||
<div class="warning">
|
||||
<p>As a beginner, under NO CIRCUMSTANCES should you use a system image omitting 32 bit libraries unless it is ABSOLUTELY NECESSARY.</p>
|
||||
</div>
|
||||
<p>Downloading a system image that is severely out of date is not recommended. Many programs, such as the kernel or SSL library will be vulnerable to attacks.</p>
|
||||
<p>Download a system image with wget:</p>
|
||||
<code>(user)$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/SYSTEM_IMAGE.tar.xz</code>
|
||||
@@ -146,6 +156,10 @@
|
||||
<code>(root)# tar -xpvf SYSTEM_IMAGE --xattrs-include='*.*' --numeric-owner</code>
|
||||
<p>If this command was run correctly, you shouldn't need to edit any permissions manually.</p>
|
||||
<p>In case permissions were changed, you can use the <cil>prep</cil> command from <cil>everest-build-tools</cil>.</p>
|
||||
<cautionhead><strong>CAUTION:</strong></cautionhead>
|
||||
<div class="caution">
|
||||
<p>Caution should be exercised when running <cil-inv>prep</cil-inv> as it can mess with permissions already existing on the system.</p>
|
||||
</div>
|
||||
<h2>Chrooting into the system mountpoint</h2>
|
||||
<p>Although we have a relatively complete root filesystem at this point, many essential programs are still missing. These include the kernel and bootloader. Without these, the system is unable to boot. At this point, we must chroot into the new system. This will allow us to complete the system's build process without booting into it.</p>
|
||||
<p>Chroot into the new system:</p>
|
||||
@@ -351,7 +365,7 @@
|
||||
<p>If you require assistance, reach out to the community on Discord (HJzJUwSmDf) or IRC (#everestlinux on libera.chat)</p>
|
||||
</div>
|
||||
<footer>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
<footer>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<div class="main">
|
||||
</div>
|
||||
<footer>
|
||||
<p>Copyright (C) 2021-2023 Everest Linux</p>
|
||||
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||
</footer>
|
||||
|
||||
Reference in New Issue
Block a user