diff options
| author | emmett1 <emmett1.2miligrams@protonmail.com> | 2024-12-21 12:40:29 +0800 |
|---|---|---|
| committer | emmett1 <emmett1.2miligrams@protonmail.com> | 2024-12-21 12:40:29 +0800 |
| commit | bf7be311efba8c5fc0324f33055a0f7b93eab88c (patch) | |
| tree | 35333e273a19113e5b55012a5734387930a877e1 /docs | |
| parent | 34e559d49a55202c02a38a963478659d2e63d6d2 (diff) | |
| download | alicelinux-bf7be311efba8c5fc0324f33055a0f7b93eab88c.tar.gz alicelinux-bf7be311efba8c5fc0324f33055a0f7b93eab88c.zip | |
updates for website
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/install.md | 243 | ||||
| -rw-r--r-- | docs/packagedb.md | 330 | ||||
| -rw-r--r-- | docs/packagemanager.md | 424 | ||||
| -rw-r--r-- | docs/repos.md | 11 |
4 files changed, 0 insertions, 1008 deletions
diff --git a/docs/install.md b/docs/install.md deleted file mode 100644 index e6669e2c..00000000 --- a/docs/install.md +++ /dev/null @@ -1,243 +0,0 @@ -## Install Alice -Here is a guide to installing Alice Linux on your computer using the chroot method. You can do this from your existing Linux distribution or from a live environment, such as Alice Live or another Linux distribution. Make sure your chosen environment has the necessary partitioning tools, filesystem tools, and extraction tools. - -### Get Alice rootfs tarball -Download the Alice rootfs tarball from the [release](https://codeberg.org/emmett1/alicelinux/releases) page, along with its `sha256sum` file. -``` -$ curl -O <url> -$ curl -O <url>.sha256sum -``` -Verify the checksum of the Alice rootfs tarball: -``` -$ sha256sum -c alicelinux-rootfs-20240525.tar.xz.sha256sum -``` -Make sure it prints: -``` -alicelinux-rootfs-20240525.tar.xz: OK -``` - -### Prepare the partition and filesystem -Prepare the partition and filesystem of your choice. In this guide, I will use ext4 as an example. -``` -# cfdisk /dev/sdX -# mkfs.ext4 /dev/sdXY -``` -Mount your created partition somewhere. In this guide, I will use /mnt/alice as the mount point. -``` -# mkdir /mnt/alice -# mount /dev/sdXY /mnt/alice -``` - -### Extract the Alice rootfs tarball -Extract the Alice rootfs into the mounted partition. -``` -$ tar xvf alicelinux-rootfs-*.tar.xz -C /mnt/alice -``` - -### Enter chroot -First, chroot into Alice. (Replace /mnt/alice with your chosen mount point.) -``` -# /mnt/alice/usr/bin/apkg-chroot /mnt/alice -``` -Any further commands after this will be executed inside the Alice environment. - -### Clone Alice repos -Fetch the Alice packages repositories somewhere. I'll fetch them inside the /var/lib directory to keep the system clean. -``` -# cd /var/lib -# git clone --depth=1 https://codeberg.org/emmett1/alicelinux -``` -Once we have the repositories cloned, we need to configure `apkg`. `apkg` is Alice's package build system (or package manager). By default, Alice does not provide an `apkg` config file (yes, `apkg` can work without a config file), but we need to create one. The `apkg` config file should be located at `/etc/apkg.conf` by default. Let's create one. - -### Configure apkg.conf - -First, we set `CFLAGS` and `CXXFLAGS`. Alice base packages are built using `-O3 -march=x86-64 -pipe`. You can use these settings or change them to your preference. -``` -# echo 'export CFLAGS="-O3 -march=x86-64 -pipe"' >> /etc/apkg.conf -``` -And use whats in `CFLAGS` for `CXXFLAGS`. -``` -# echo 'export CXXFLAGS="$CFLAGS"' >> /etc/apkg.conf -``` -Next set `MAKEFLAGS`. I will use `6` for my `8 threads` machine. -``` -# echo 'export MAKEFLAGS="-j6"' >> /etc/apkg.conf -``` -I'm also going to set `NINJAJOBS` here. Without it, `ninja` will use all threads of your machine when compiling. -``` -# echo 'export NINJAJOBS="6"' >> /etc/apkg.conf -``` -Next, we need to set the package's build scripts path (I'll call it `package repos`) so `apkg` can find them. The `APKG_REPO` variable can accept multiple values for multiple `package repos`. - -Alice provides four (4) `package repos` (at the time of this writing): `core`, `extra`, `xorg` and `wayland`. `core` contains all base packages, and `extra` includes other packages beyond the base. `xorg` and `wayland` contain packages for gui and their dependencies. - -First, get the absolute path of the `package repos` where we cloned them. By the way, we are still inside the `/var/lib` directory where we cloned the repo. ->NOTE: USE TAB COMPLETION! -``` -# realpath alicelinux/repos/core -/var/lib/alicelinux/repos/core -# realpath alicelinux/repos/extra -/var/lib/alicelinux/repos/extra -``` -After we have the path of our `package repos`, add it to the `APKG_REPO` variable in `/etc/apkg.conf`. -``` -# echo 'APKG_REPO="/var/lib/alicelinux/repos/core /var/lib/alicelinux/repos/extra"' >> /etc/apkg.conf -``` ->NOTE: All repo paths must be declared in the APKG_REPO variable, seperated by a single space. - -After setting up our `package repos`, make sure `apkg` can find the packages. We can use `apkg -s <pattern>` to search for packages. -``` -# apkg -s sway -swayidle -swaybg -swaylock -sway -``` -If the output appears, then we are good to go. - -Next, we will set up directories for `packages`, `sources`, and `work`. By default, these directories are inside the package template, but we will change them to `/var/cache/pkg`, `/var/cache/src`, and `/var/cache/work` respectively. You can change these to any location where you want to store these files. - -First, create the directories: -``` -# mkdir -p /var/cache/pkg -# mkdir -p /var/cache/src -# mkdir -p /var/cache/work -``` - -Then add these paths to `/etc/apkg.conf`. -``` -# echo 'APKG_PACKAGE_DIR=/var/cache/pkg' >> /etc/apkg.conf -# echo 'APKG_SOURCE_DIR=/var/cache/src' >> /etc/apkg.conf -# echo 'APKG_WORK_DIR=/var/cache/work' >> /etc/apkg.conf -``` -### Full system upgrade/rebuild -On the first install, we should upgrade the system first. -> Use uppercase `U` for a system upgrade, and lowercase `u` to upgrade a specific package of your choice. -``` -# apkg -U -``` -If you changed `CFLAGS` and `CXXFLAGS` 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 `package repos`. - -> Add the `-f` flag to force rebuild of existing prebuilt package. -> `apkg -a` prints all installed packages on the system. -``` -# apkg -u $(apkg -a) -``` -### Install development packages -Before installing any additional packages, we need to install development packages. -``` -# apkg -I meson cmake pkgconf libtool automake perl -``` -### Install kernel -You can configure your own kernel from [kernel.org](https://kernel.org/) or use the one provided by Alice. -> The provided kernel will take a lot of time to compile because many options are enabled. - -If you want to use Alice's kernel, just run: -``` -# apkg -I linux -``` -### Install firmware -If your hardware requires firmware, install it using: -``` -# apkg -I linux-firmware linux-firmware-nvidia -``` - -### Install bootloader -In this guide, I'm going to use `grub` as the bootloader. Install `grub`: -``` -# apkg -I grub -``` -Then generate grub config: -``` -# grub-install /dev/sdX -# grub-mkconfig -o /boot/grub/grub.cfg -``` - -### Hostname -Change `alice` to the hostname of your choice. -``` -# echo alice > /etc/hostname -``` - -### Fstab -Change the partition and filesystem of your choice below: -``` -# echo '/dev/sda1 swap swap defaults 0 1' >> /etc/fstab -# echo '/dev/sda2 / ext4 defaults 0 0' >> /etc/fstab -``` -### Enable runit services -Alice uses busybox's `runit` as its main service manager. Enable the required services: -``` -# ln -s /etc/sv/tty1 /var/service -# ln -s /etc/sv/tty2 /var/service -# ln -s /etc/sv/tty3 /var/service -``` -I'm enabling 3 `tty` services. `tty` is required; without it, you won't be able to log in (or run any commands). -> The runit service directory is `/etc/sv`. -> Create a symlink from `/etc/sv/<service>` to `/var/service` to enable it; remove the symlink to disable it. - -### Setup user and password -Add your user: -``` -# adduser <user> -``` -Add your user to the `wheel` group: -``` -# adduser <user> wheel -``` -You might need to add your user to the `input` and `video` groups to start the Wayland compositor later, and the `audio` group to have working audio: -``` -# adduser <user> input -# adduser <user> video -# adduser <user> audio -``` - -### Root password -Set the password for the `root` user: -``` -# passwd -``` - -### Networking -You might want to set up networking before rebooting. Use `wpa_supplicant` and `dhcpcd`. -``` -# apkg -I wpa_supplicant dhcpcd -``` -Configure your SSID: -``` -# wpa_passphrase <YOUR SSID> <ITS PASSWORD> >> /etc/wpa_supplicant.conf -``` -Enable the service: -``` -# ln -s /etc/sv/wpa_supplicant /var/service -# ln -s /etc/sv/dhcpcd /var/service -``` - -### Timezone -Install `tzdata`: -``` -# apkg -I tzdata -``` -Then create a symlink for your timezone to `/etc/localtime`: -``` -# ln -s /usr/share/zoneinfo/Asia/Kuala_Lumpur /etc/localtime -``` -Alternatively, you can copy it and then uninstall `tzdata` to keep your installed packages minimal: -``` -# cp /usr/share/zoneinfo/Asia/Kuala_Lumpur /etc/localtime -# apkg -r tzdata -``` - -### Reboot and enjoy! -Exit the chroot environment and unmount the Alice partition, then reboot: -``` -# exit -# umount /mnt/alice -# reboot -``` - -## Some important notes -- `Alice` uses `spm` and `apkg` as its package manager and package build system. Run with the `-h` flag to see available options. -- Additional scripts are provided with the name `apkg-<script>` which will be added (or removed) from time to time. -- Use `revdep` to scan for broken libraries and binaries after system upgrades and package removals. You can use `revdep -v` to print out missing required libraries, and use `apkg -f -u $(revdep)` to scan and rebuild broken packages. -- Run `updateconf` to update config files in `/etc` after package upgrades. diff --git a/docs/packagedb.md b/docs/packagedb.md deleted file mode 100644 index 963a01d8..00000000 --- a/docs/packagedb.md +++ /dev/null @@ -1,330 +0,0 @@ -## List available packages in repositories -Use `Ctrl + F` to find packages - -|REPO|NAME|VERSION|DEPENDENCIES| -|:-:|-|:-:|-| -|core|autils|20240628-1| -|core|baselayout|1-1| -|core|binutils|2.42-1| -|core|bison|3.8.2-1| -|core|busybox|1.36.1-1| -|core|bzip2|1.0.8-1| -|core|ca-certificates|20240311-1| -|core|curl|8.8.0-1|openssl<br>zlib -|core|file|5.45-1| -|core|flex|2.6.4-1| -|core|gcc|14.1.0-2|gmp<br>mpc<br>mpfr -|core|git|2.45.2-1|curl<br>expat<br>openssl<br>zlib -|core|gmp|6.3.0-1| -|core|initscripts|20240626-1| -|core|linux-headers|6.6.30-1| -|core|m4|1.4.19-1| -|core|make|4.4.1-1| -|core|mpc|1.3.1-1|gmp<br>mpfr -|core|mpfr|4.2.1-1|gmp -|core|musl|1.2.5-1| -|core|openssl|3.3.0-1| -|core|patch|2.7.6-1| -|core|spm|20240527-1| -|core|xz|5.6.2-1| -|core|zlib|1.3.1-1| -|extra|8821cu|20240330-1| -|extra|acpi|1.7-1| -|extra|adwaita-icon-theme|46.2-1|gtk3 -|extra|alsa-lib|1.2.10-1| -|extra|alsa-utils|1.2.10-1|alsa-lib<br>ncurses -|extra|at-spi2-core|2.46.0-1|dbus<br>glib<br>gobject-introspection<br>libxml2 -|extra|autoconf|2.72-1|perl -|extra|automake|1.16.5-1|autoconf -|extra|b3sum|1.3.1-1| -|extra|bash|5.2.21-1|ncurses<br>readline -|extra|birch|27691aa4fb2746f73c373e6653c1fb17795729f9-1|bash -|extra|brightnessctl|0.5.1-1| -|extra|c-ares|1.29.0-1| -|extra|cairo|1.18.0-1|libpng<br>glib<br>pixman<br>fontconfig<br>libx11<br>libxcb<br>libxext<br>libxrender -|extra|cbindgen|0.26.0-1|rust -|extra|ccache|4.9.1-1|cmake<br>zstd -|extra|cfm|0.6.6-1| -|extra|clang|18.1.8-1|llvm -|extra|cmake|3.29.6-1|expat -|extra|cmus|2.11.0-1| -|extra|dbus|1.14.10-1| -|extra|dejavu-fonts-ttf|2.37-1| -|extra|dfc|3.1.1-1|gettext-tiny -|extra|dhcpcd|10.0.8-1| -|extra|dosfstools|4.2-1| -|extra|dropbear|2024.85-1| -|extra|dtc|1.7.0-1| -|extra|dunst|1.11.0-1|gdk-pixbuf<br>libnotify<br>libdeflate<br>libxscrnsaver<br>libxinerama -|extra|e2fsprogs|1.47.1-1| -|extra|efibootmgr|18-1|efivar -|extra|efivar|39-1|popt -|extra|eiwd|2.16-1|openresolv -|extra|elfutils|0.191-1| -|extra|exfatprogs|1.2.4-1| -|extra|expat|2.6.2-1| -|extra|fdk-aac|2.0.3-1| -|extra|fff|2.2-1|bash -|extra|ffmpeg|7.0.1-1|nasm<br>libaom<br>libtheora<br>opus<br>libass<br>fdk-aac<br>lame<br>libvpx<br>x264<br>x265 -|extra|firefox|127.0.1-1|rust<br>alsa-utils<br>nspr<br>clang<br>rust<br>cbindgen<br>icu<br>nodejs<br>gtk3<br>libwebp<br>libvpx<br>nasm<br>nss<br>libevent -|extra|fontconfig|2.15.0-1|freetype<br>gperf -|extra|freetype|2.13.2-1|libpng -|extra|fribidi|1.0.15-1| -|extra|fuse2|2.9.9-1|gettext-tiny -|extra|gdk-pixbuf|2.42.12-1|glib<br>libjpeg-turbo<br>libpng<br>tiff<br>shared-mime-info<br>gobject-introspection -|extra|geany|2.0-1|glib<br>gtk3 -|extra|gettext-tiny|0.3.2-1| -|extra|glad|2.0.6-1|python-jinja2 -|extra|glib|2.78.4-1|pcre2 -|extra|glslang|14.2.0-1| -|extra|gobject-introspection|1.78.1-1|glib -|extra|gperf|3.1-1| -|extra|gptfdisk|1.0.10-1|popt<br>e2fsprogs -|extra|graphite2|1.3.14-1| -|extra|grub|2.12-1|freetype<br>fuse2 -|extra|gtk3|3.24.41-1|at-spi2-core<br>gdk-pixbuf<br>libepoxy<br>pango<br>libxkbcommon<br>wayland<br>libxi -|extra|harfbuzz|8.5.0-1|glib<br>graphite2<br>freetype<br>gobject-introspection<br>icu<br>cairo -|extra|htop|3.3.0-1|libnl-tiny -|extra|icu|74.2-1| -|extra|irssi|1.4.5-1|glib<br>ncurses -|extra|kirc|0.3.2-1| -|extra|lame|3.100-1| -|extra|lcms2|2.16-1|libjpeg-turbo<br>tiff -|extra|libaom|3.8.2-1|nasm -|extra|libarchive|3.7.4-1| -|extra|libass|0.17.2-1|freetype<br>fribidi<br>harfbuzz -|extra|libatasmart|0.19-1|libudev-zero -|extra|libburn|1.5.6-1| -|extra|libdeflate|1.20-1| -|extra|libdrm|2.4.121-1|libpciaccess -|extra|libepoxy|1.5.10-1|mesa -|extra|libevdev|1.13.2-1| -|extra|libevent|2.1.12-1| -|extra|libffi|3.4.6-1| -|extra|libglvnd|1.7.0-1|libx11<br>libxau<br>libxcb -|extra|libinput|1.26.0-1|libevdev<br>mtdev<br>libudev-zero -|extra|libisoburn|1.5.6-1|libburn<br>libisofs -|extra|libisofs|1.5.6-1| -|extra|libjpeg-turbo|3.0.3-1|nasm -|extra|libnl-tiny|39ec78bb012edc2739c3d3d0058e4076411068b1-1| -|extra|libnotify|0.8.3-1|gtk3 -|extra|libogg|1.3.5-1| -|extra|libpciaccess|0.18.1-1| -|extra|libplacebo|6.338.2-1|glad<br>vulkan-headers<br>lcms2 -|extra|libpng|1.6.43-1| -|extra|libslirp|4.8.0-1|glib -|extra|libtheora|1.1.1-1|libvorbis -|extra|libtool|2.4.7-1| -|extra|libudev-zero|1.0.3-1| -|extra|libuv|1.48.0-1| -|extra|libva|2.22.0-1|libdrm<br>mesa<br>libglvnd -|extra|libvorbis|1.3.7-1|libogg -|extra|libvpx|1.14.1-1|nasm -|extra|libwebp|1.4.0-1|libjpeg-turbo<br>libpng<br>tiff -|extra|libxkbcommon|1.7.0-1|wayland-protocols<br>xkeyboard-config<br>libxml2<br>libxcb -|extra|libxml2|2.13.1-1|icu -|extra|linux-firmware-nvidia|20240610-1|rdfind -|extra|linux-firmware|20240610-1|rdfind -|extra|linux|6.6.31-2|elfutils -|extra|llvm|18.1.8-1| -|extra|lm-sensors|3.6.0-1| -|extra|lzo|2.10-1| -|extra|mandoc|1.14.6-1| -|extra|mc|4.8.31-1|glib<br>slang -|extra|mesa|24.0.8-1|libdrm<br>python-mako<br>python-markupsafe<br>libglvnd<br>glslang<br>wayland<br>wayland-protocols<br>elfutils<br>libx11<br>libxshmfence<br>libxrandr -|extra|meson|1.4.1-1|python-setuptools<br>ninja -|extra|mpv|0.38.0-1|ffmpeg<br>libplacebo<br>wayland<br>wayland-protocols<br>libxkbcommon<br>libxscrnsaver<br>libxpresent -|extra|mtdev|1.1.7-1| -|extra|mtools|4.0.44-1| -|extra|nasm|2.16.02-1| -|extra|ncdu|1.15.1-1| -|extra|ncurses|6.5-2| -|extra|neofetch|7.1.0-1| -|extra|nettle|3.10-1| -|extra|nghttp2|1.62.1-1|libxml2 -|extra|ninja|1.12.1-1|python -|extra|nodejs|22.3.0-1|c-ares<br>icu<br>libuv<br>nghttp2 -|extra|nspr|4.35-1| -|extra|nss|3.101-1|nspr -|extra|ntfs-3g|2022.10.3-1|fuse2 -|extra|opendoas|6.8.2-1| -|extra|openresolv|3.13.2-1| -|extra|opus|1.5.2-1| -|extra|os-prober|1.82-1|grub -|extra|p7zip|17.05-1| -|extra|pango|1.52.2-1|fontconfig<br>fribidi<br>glib<br>cairo<br>gobject-introspection<br>harfbuzz -|extra|pcre2|10.44-1|readline -|extra|perl|5.38.2-1| -|extra|pfetch|0.6.0-1| -|extra|pixman|0.43.4-1| -|extra|pkgconf|2.2.0-1| -|extra|pm-utils|1.4.1-1| -|extra|popt|1.19-1| -|extra|ports|1.6-1| -|extra|python-jinja2|3.1.3-1|python-markupsafe -|extra|python-mako|1.3.5-1|python-setuptools<br>python-markupsafe -|extra|python-markupsafe|2.1.5-1|python-setuptools -|extra|python-setuptools|70.1.0-1|python -|extra|python|3.12.4-1|bzip2<br>expat<br>libffi<br>ncurses<br>openssl<br>sqlite<br>xz<br>zlib -|extra|qemu|9.0.1-1|glib<br>alsa-lib<br>sdl2<br>pixman<br>bash<br>libslirp<br>dtc -|extra|ranger|1.9.3-1| -|extra|rdfind|1.6.0-1|nettle -|extra|readline|8.2-1| -|extra|rsync|3.3.0-1|popt -|extra|rust|1.79.0-1|llvm -|extra|sdl2|2.30.4-1| -|extra|shared-mime-info|2.4-1|glib<br>libxml2<br>gettext-tiny -|extra|slang|2.3.3-1|readline -|extra|sqlite|3.46.0-1| -|extra|squashfs-tools|4.6.1-1|lzo<br>xz<br>zstd -|extra|strace|6.9-1| -|extra|syslinux|6.03-2|mtools<br>perl<br>e2fsprogs -|extra|tiff|4.6.0-1| -|extra|tty-clock|2.3-1| -|extra|tzdata|2024a-1| -|extra|unrar|7.0.9-1| -|extra|vim|9.1.0465-1| -|extra|vulkan-headers|1.3.288-1| -|extra|wireless-tools|30.pre9-1| -|extra|wpa_supplicant|2.10-1|libnl-tiny<br>readline -|extra|x264|20240216-1|nasm -|extra|x265|20240216-1| -|extra|xdg-user-dirs|0.18-1| -|extra|xkeyboard-config|2.41-1| -|extra|xwayland|23.2.6-1|xorgproto<br>xtrans<br>pixman<br>libxkbfile<br>libxfont2<br>wayland-protocols<br>libxcvt<br>libdrm<br>libepoxy<br>libtirpc<br>libxshmfence<br>libxdmcp -|extra|zstd|1.5.6-1| -|wayland|basu|0.2.1-1|gperf -|wayland|fcft|3.1.8-1|fontconfig<br>pixman<br>tllist -|wayland|foot|1.17.2-1|tllist<br>fcft<br>wayland-protocols<br>libxkbcommon -|wayland|grim|1.4.1-1|wayland<br>pixman<br>libpng<br>scdoc<br>wayland-protocols -|wayland|gtk-layer-shell|0.8.2-1|gtk3<br>gobject-introspection -|wayland|hwdata|0.383-1| -|wayland|imv|4.5.0-1|icu<br>libglvnd<br>pango<br>libxkbcommon<br>inih -|wayland|inih|58-1| -|wayland|json-c|0.17-1| -|wayland|labwc-menu-generator|efed0194947c45123287ea057c5fdb13894854cd-1|glib -|wayland|labwc|0.7.2-1|wlroots<br>glib<br>cairo<br>pango<br>scdoc -|wayland|libdisplay-info|0.2.0-1|hwdata -|wayland|mako|1.9.0-1|cairo<br>pango<br>wayland<br>wayland-protocols<br>basu -|wayland|scdoc|1.11.3-1| -|wayland|seatd|0.8.0-1| -|wayland|sfwbar|1.0_beta14-1|gtk3<br>json-c<br>gtk-layer-shell -|wayland|slurp|1.5.0-1|wayland<br>cairo<br>libxkbcommon<br>scdoc -|wayland|sway|1.9-1|wlroots<br>json-c<br>cairo<br>pango<br>libglvnd<br>libevdev<br>libinput -|wayland|swaybg|1.2.1-1|wayland-protocols<br>cairo -|wayland|swayidle|1.8.0-1|wayland<br>wayland-protocols -|wayland|swaylock|1.7.2-1|wayland<br>wayland-protocols<br>libxkbcommon<br>cairo -|wayland|tllist|1.1.0-1| -|wayland|wayland-protocols|1.36-1|wayland -|wayland|wayland|1.23.0-1|libxml2<br>libffi -|wayland|wbg|1.2.0-1|wayland<br>pixman<br>tllist<br>wayland-protocols -|wayland|wf-recorder|0.4.1-1|wayland<br>wayland-protocols<br>ffmpeg<br>mesa -|wayland|wl-clipboard|2.2.1-1|wayland<br>wayland-protocols -|wayland|wlroots|0.17.3-1|hwdata<br>seatd<br>wayland<br>libdrm<br>libxkbcommon<br>pixman<br>libinput<br>mesa<br>libdisplay-info -|wayland|wmenu|0.1.8-1|cairo<br>pango<br>wayland-protocols<br>libxkbcommon -|xorg|arcbox|0.1.2-1| -|xorg|bdftopcf|1.1.1-1|xorgproto<br>util-macros -|xorg|dbus-glib|0.112-1|dbus<br>glib -|xorg|desktop-file-utils|0.27-1|glib -|xorg|dmenu|5.3-1|libx11<br>libxinerama<br>libxft<br>fontconfig -|xorg|feh|3.10.2-1|libpng<br>imlib2<br>libxinerama<br>libxt -|xorg|font-adobe-utopia-type1|1.0.5-1|mkfontscale<br>font-util<br>util-macros -|xorg|font-alias|1.0.5-1|font-util<br>util-macros -|xorg|font-bh-ttf|1.0.4-1|mkfontscale<br>font-util<br>util-macros -|xorg|font-bh-type1|1.0.4-1|mkfontscale<br>font-util<br>util-macros -|xorg|font-ibm-type1|1.0.4-1|mkfontscale<br>font-util<br>util-macros -|xorg|font-misc-ethiopic|1.0.5-1|mkfontscale<br>font-util<br>util-macros -|xorg|font-util|1.4.1-1|util-macros -|xorg|font-xfree86-type1|1.0.5-1|mkfontscale<br>font-util<br>util-macros -|xorg|gmrun|1.4w-1|glib<br>gtk3 -|xorg|hicolor-icon-theme|0.17-1| -|xorg|icon-naming-utils|0.8.90-1|perl-xml-simple -|xorg|imagemagick|7.1.1.33-1|lcms2<br>pango -|xorg|imlib2|1.12.2-1|cairo<br>gdk-pixbuf<br>glib<br>librsvg<br>libxext -|xorg|intltool|0.51.0-1|perl-xml-parser -|xorg|l3afpad|0.8.18.1.11-1|gtk3<br>intltool -|xorg|libaio|0.3.113-1| -|xorg|libconfig|1.7.3-1| -|xorg|libev|4.33-1| -|xorg|libfontenc|1.1.8-1|xorgproto<br>util-macros -|xorg|libice|1.1.1-1|xorgproto<br>xtrans<br>util-macros -|xorg|libptytty|2.0-1| -|xorg|librsvg|2.58.0-1|cairo<br>gdk-pixbuf<br>pango<br>rust<br>gobject-introspection<br>vala -|xorg|libsm|1.2.4-1|libice<br>util-macros -|xorg|libtirpc|1.3.4-1| -|xorg|libx11|1.8.9-1|libxcb<br>xtrans<br>util-macros -|xorg|libxau|1.0.11-1|xorgproto<br>util-macros -|xorg|libxaw|1.0.16-1|libx11<br>libxext<br>libxmu<br>libxpm<br>libxt<br>util-macros -|xorg|libxcb|1.16.1-1|xcb-proto<br>libxau -|xorg|libxcomposite|0.4.6-1|libx11<br>libxfixes<br>util-macros -|xorg|libxcursor|1.2.2-1|libx11<br>libxfixes<br>libxrender<br>util-macros -|xorg|libxcvt|0.1.2-1| -|xorg|libxdamage|1.1.6-1|libx11<br>libxfixes<br>util-macros -|xorg|libxdmcp|1.1.5-1|xorgproto<br>util-macros -|xorg|libxext|1.3.6-1|libx11<br>util-macros -|xorg|libxfixes|6.0.1-1|libx11<br>util-macros -|xorg|libxfont2|2.0.6-1|libfontenc<br>freetype<br>xtrans<br>util-macros -|xorg|libxft|2.3.8-1|libx11<br>libxrender<br>freetype<br>fontconfig<br>util-macros -|xorg|libxi|1.8.1-1|libx11<br>libxext<br>libxfixes<br>util-macros -|xorg|libxinerama|1.1.5-1|libx11<br>libxext<br>util-macros -|xorg|libxkbfile|1.1.3-1|libx11<br>util-macros -|xorg|libxmu|1.2.0-1|libx11<br>libxext<br>libxt<br>util-macros -|xorg|libxpm|3.5.17-1|libx11<br>libxext<br>libxt<br>util-macros<br>gettext-tiny -|xorg|libxpresent|1.0.1-1|libxfixes<br>libxrandr -|xorg|libxrandr|1.5.4-1|libx11<br>libxext<br>libxrender<br>util-macros -|xorg|libxrender|0.9.11-1|libx11<br>util-macros -|xorg|libxscrnsaver|1.2.4-1|libx11<br>libxext<br>util-macros -|xorg|libxshmfence|1.3.2-1|xorgproto<br>util-macros -|xorg|libxt|1.3.0-1|libice<br>libsm<br>libx11<br>util-macros -|xorg|lxappearance|0.6.3-1|intltool<br>gettext-tiny<br>libx11<br>gtk3 -|xorg|lxrandr|0.3.2-1|intltool<br>gtk3 -|xorg|man-pages|6.7-1| -|xorg|mkfontscale|1.2.3-1|libfontenc<br>freetype<br>util-macros -|xorg|obconf|2.0.4-1|openbox<br>gtk3 -|xorg|obmenu-generator|0.93-1|perl-data-dump<br>perl-linux-desktopfiles -|xorg|openbox|3.6.1-1|pango<br>libxml2<br>libxinerama<br>libxrandr<br>imlib2<br>libxcursor<br>startup-notification<br>xcb-util -|xorg|openssh|9.7p1-1| -|xorg|paper-icon-theme|1.5.0-1| -|xorg|perl-data-dump|1.23-1| -|xorg|perl-linux-desktopfiles|0.25-1| -|xorg|perl-xml-parser|2.47-1|perl -|xorg|perl-xml-simple|2.25-1| -|xorg|picom|11.2-1|libconfig<br>uthash<br>libev<br>libx11<br>xcb-util-renderutil<br>xcb-util-image<br>libxext<br>pixman<br>pcre2<br>libglvnd<br>dbus<br>libepoxy -|xorg|rxvt-unicode|9.31-1|libptytty<br>libxext<br>fontconfig<br>libxft -|xorg|scrot|0.10.0-1|imlib2<br>libx11<br>libxfixes -|xorg|slim|1.4.0-1|libx11<br>freetype<br>libjpeg-turbo<br>fontconfig<br>libxft<br>libxrandr<br>libxmu -|xorg|smartmontools|7.4-1| -|xorg|spacefm|1.0.6-1|gtk3<br>intltool<br>libudev-zero -|xorg|startup-notification|0.12-1|libx11<br>libxcb<br>xcb-util -|xorg|tango-icon-theme-extras|0.1.0-1|tango-icon-theme -|xorg|tango-icon-theme|0.8.90-1|icon-naming-utils<br>imagemagick<br>intltool -|xorg|tewi-font|2.0.2-1|bdftopcf -|xorg|tint2|17.1.3-1|imlib2<br>librsvg<br>startup-notification<br>libxcomposite<br>libxdamage<br>libxinerama<br>libxrandr<br>gtk3 -|xorg|twm|1.0.12-1|libx11<br>libxext<br>libxt<br>libxmu<br>libice<br>libsm<br>util-macros -|xorg|uthash|2.3.0-1| -|xorg|util-macros|1.20.0-1| -|xorg|vala|0.56.16-1|glib<br>gobject-introspection -|xorg|xauth|1.1.3-1|libx11<br>libxau<br>libxext<br>libxmu<br>util-macros -|xorg|xcb-proto|1.16.0-1| -|xorg|xcb-util-cursor|0.1.4-1|libxcb<br>xcb-util-image<br>xcb-util-renderutil -|xorg|xcb-util-image|0.4.1-1|libxcb<br>xcb-util -|xorg|xcb-util-keysyms|0.4.1-1|libxcb -|xorg|xcb-util-renderutil|0.3.10-1|libxcb -|xorg|xcb-util-wm|0.4.2-1|libxcb -|xorg|xcb-util|0.4.1-1|libxcb -|xorg|xclock|1.1.1-1|libxaw<br>libx11<br>libxmu<br>libxft<br>libxrender<br>libxkbfile<br>util-macros -|xorg|xf86-input-evdev|2.10.6-1|libevdev<br>mtdev<br>xorg-server<br>xorgproto<br>libudev-zero -|xorg|xf86-input-libinput|1.4.0-1|libinput<br>xorg-server<br>xorgproto<br>util-macros -|xorg|xf86-input-synaptics|1.9.2-1|xorg-server<br>libevdev<br>libxi -|xorg|xf86-video-intel|2.99.917_923-1|libdrm<br>pixman<br>xcb-util<br>xorg-server -|xorg|xf86-video-vesa|2.6.0-1|xorg-server<br>xorgproto<br>util-macros -|xorg|xinit|1.4.2-1|libx11<br>util-macros -|xorg|xkbcomp|1.4.7-1|libx11<br>libxkbfile<br>util-macros -|xorg|xlsfonts|1.0.8-1|xorgproto<br>libx11<br>util-macros -|xorg|xorg-server|21.1.11-1|libxcvt<br>libtirpc<br>pixman<br>font-util<br>xkeyboard-config<br>libepoxy<br>libdrm<br>libxkbfile<br>libxfont2<br>libxdmcp<br>libudev-zero -|xorg|xorg|7.7-1|xf86-input-libinput<br>xf86-video-vesa<br>xinit<br>xauth<br>xkeyboard-config<br>xkbcomp<br>xterm<br>twm<br>xclock<br>font-adobe-utopia-type1<br>font-alias<br>font-bh-ttf<br>font-bh-type1<br>font-ibm-type1<br>font-misc-ethiopic<br>font-xfree86-type1 -|xorg|xorgproto|2024.1-1| -|xorg|xprop|1.2.7-1|libx11 -|xorg|xrandr|1.5.2-1|libx11<br>libxrender<br>libxrandr<br>util-macros -|xorg|xterm|390-1|libxaw<br>fontconfig -|xorg|xtrans|1.5.0-1|util-macros diff --git a/docs/packagemanager.md b/docs/packagemanager.md deleted file mode 100644 index f24ea686..00000000 --- a/docs/packagemanager.md +++ /dev/null @@ -1,424 +0,0 @@ -PACKAGE MANAGER -=============== - -In Alice, theres two package manager used, [spm](https://codeberg.org/emmett1/spm) and [autils](https://codeberg.org/emmett1/autils). Why two package manager? `spm` was written for generic package manager for linux distribution. And `autils` is written specifically for `Alice` and required `spm`. - -spm ---- - -`spm` stands for `simple package manager`. It does simple and minimal written in POSIX compliance shell script. It only depends on core utils and tar (or busybox's utils and tar). `spm` only intended for compressing some directory into package, then extract package into system with files being tracked into database. Theres is no build script, recipe or ports in `spm`. You can write your own tools to use with `spm` either like Arch Linux's `makepkg`, CRUX's `pkgmk` or Slackware's `slackbuild` script. - -spm - usage ------------ - -``` - -a print all installed packages - -b <path> build <path> directory into package - -h print this help message - -i <file> install <file> package into system - -l <pkg> list files installed by <pkg> - -o <file> print owner of <file> - -r <name> remove installed <name> from system - -u <pkg> re-install/upgrade <pkg> -``` - -- list all install package with version -``` -$ spm -a -... -neofetch 7.1.0-1 -nettle 3.10-1 -nghttp2 1.62.1-1 -ninja 1.12.1-1 -nodejs 22.5.1-1 -nspr 4.35-1 -nss 3.102.1-1 -nsxiv 32-1 -... -``` - -- build package from directory -``` -(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 -``` - -- install package into system -``` -# spm -i pkgname#pkgversion-pkgrelease.spm -[pkgname] Verify package... -[pkgname] Checking for conflicts... -[pkgname] Installing package... -[pkgname] Package 'pkgname#pkgversion-pkgrelease' installed. -``` - -- list files installed by 'packagename' -``` -$ spm -l test -usr/ -usr/share/ -usr/share/aaa -usr/bin/ -usr/bin/aaa -``` - -- list package owner of a file (can use regex) -``` -$ spm -o gcc$ -ccache usr/lib/ccache/gcc -gcc usr/bin/gcc -gcc usr/bin/x86_64-pc-linux-musl-gcc -linux lib/modules/6.6.41-Alice/build/scripts/dummy-tools/gcc -``` - -- upgrade/reinstall installed package -``` -# spm -u pkgname#pkgversion-pkgrelease.spm -[pkgname] Verify package... -[pkgname] Checking for conflicts... -[pkgname] Upgrading package... -[pkgname] Package 'pkgname#pkgversion-pkgrelease' upgraded. -``` - -spm - environment ------------------ - -|env|description| -|-|-| -|SPM_ROOT|use custom root location for package installation| -|SPM_FORCEINSTALL|set any value to ignore conflicted files| - -You can pass these environment to `spm` command, example: -``` -# SPM_ROOT=/mnt/rootfs spm -i pkgname#pkgversion-pkgrelease.spm -# SPM_FORCEINSTALL=1 SPM_ROOT=/mnt/rootfs spm -i pkgname#pkgversion-pkgrelease.spm -``` - -autils ------- - -`autils` stands for `alice utilitis`. `autils` contains main package manager (apkg), utilities (apkg-<util>) and <random util script>. `autils` is specifically written to manage `Alice` packages. - -apkg ----- - -`apkg` is a main package manager that can solve dependencies, batch install/upgrade/remove packages, system upgrades, trigger necessary caches, and etc. `apkg` can be run inside or outside package template. - -When running outside package template, `apkg` will need 'package names' as arguments, and those 'package names' will search through `APKG_REPO` environment. Example: - -``` -# apkg testpkg testpkg2 (build testpkg and testpkg2) -# apkg testpkg testpkg2 -i (build and install testpkg and testpkg2) -# apkg -u testpkg testpkg2 (upgrade/reinstall testpkg and testpkg2) -# apkg -f -u testpkg testpkg2 (force rebuild then upgrade/reinstall testpkg and testpkg2) -``` - -When running inside package template, `apkg` will do operation for current directory package. Example: - -``` -# cd /path/to/local/testpkg -# apkg (build testpkg) -# apkg -i (build and install testpkg) -# apkg -u (upgrade/reinstall testpkg) -# apkg -u -f (force rebuild then upgrade/reinstall testpkg) - -``` - -apkg - usage ------------- - -``` - -i <pkg(s)> install package(s) - -I <pkg(s)> install packages(s) with dependencies - -d <pkg> list <pkg> dependencies - -D <pkg(s)> list all dependencies - -j <pkg> list all dependents - -u <pkg(s)> upgrade package(s) - -t [pkg(s)] trigger system cache/db updates - -U update system - -f force rebuild - -o <pkg(s)> download source - -p <pkg> print package path - -s <pattern> search packages - -h print this help message -``` - -I won't explain details on every each options here, but I will give quick tips/tricks to use `apkg` - -- installing package and its dependencies (mind the uppercase `i`) -``` -# apkg -I sway -[...] Solving dependencies... -[...] Installing 3 package(s): mesa pango sway -[...] Press ENTER to continue operation. -[...] Press Ctrl + C to abort. -``` - -- search available packages -``` -$ apkg -s sway -swaybg -swaylock -sway -swayidle -swayfx -``` - -- install all package with 'sway' name and its dependencies -``` -# apkg -I $(apkg -s sway) -... -[...] Package 'mesa' is installed -[...] Package 'swaybg' is installed -[...] Package 'swaylock' is installed -[...] Package 'swayidle' is installed -[...] Package 'swayfx' is installed -[...] Solving dependencies... -[...] Installing 2 package(s): pango sway -[...] Press ENTER to continue operation. -[...] Press Ctrl + C to abort. -``` - -- install package without solving dependencies (mind the lowercase `i` and theres no prompt for this option) -``` -# apkg -i wlroots mesa -[...] Package 'wlroots' already installed. -[...] Package 'mesa' already installed. -``` - -- list all installed packages -``` -$ apkg -a -... -qemu -ranger -rdfind -readline -rsync -rtorrent -rust -... -``` - -- list all installed packages with filter (will only print installed package contains word filter) -``` -$ apkg -a sway -swaybg -swayfx -swayidle -swaylock -``` - -- list dependencies of a package -``` -$ apkg -d sway -wlroots -json-c -pango -``` - -- list all dependencies tree of package(s) -``` -$ apkg -D sway dwm -... -wayland -wayland-protocols -xkeyboard-config -xcb-proto -xorgproto -util-macros -... -``` - -- upgrade/reinstall packages -``` -# apkg -u wlroots cwm pango -[wlroots] Verify package... -[wlroots] Checking for conflicts... -[wlroots] Upgrading package... -[wlroots] Package 'wlroots#0.17.4-1' upgraded. -[cwm] Verify package... -[cwm] Checking for conflicts... -[cwm] Upgrading package... -[cwm] Package 'cwm#7.4-1' upgraded. -[pango] Verify package... -[pango] Checking for conflicts... -[pango] Upgrading package... -[pango] Package 'pango#1.54.0-1' upgraded. -``` - -- full system upgrades (mind uppercase `u` and will prompt first if theres package updates) -``` -# apkg -U -[...] Checking for outdated packages... -[...] Solving dependencies... -[...] Upgrading 3 package(s): initscripts mesa sowm -[...] Press ENTER to continue operation. -[...] Press Ctrl + C to abort. -``` - -- make full system rebuild in dependencies order (`-f`: force rebuild, `-u`: upgrade/reinstall, `-D`: solve dependency order, `-a`: list all installed package) -``` -# apkg -f -u $(apkg -D $(apkg -a)) -... -(start rebuilding package here) -... -``` - -- remove installed packages -``` -# apkg -r wlroots pango sway -[...] Package 'wlroots' removed. -[...] Package 'pango' removed. -[...] Package 'sway' removed. - -``` - -- print package path -``` -$ apkg -p sway -/home/emmett/codeberg/alicelinux/repos/wayland/sway -``` - -apkg - environment ------------------- - -You can pass environment to `apkg` to override defaults and in `/etc/apkg.conf`. Available environment and its default value as follows: - ---- -|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| |skip prompt, use any value| - -You can add these environment into `apkg` config file. - -apkg - config file ------------------- - -`apkg` can work without its config file by using all default value. Default config path for `apkg` is `/etc/apkg.conf`. You can change config path by append `APKG_CONF` to `apkg`, example: -``` -# APKG_CONF=/etc/apkg-local.conf apkg <args> -``` - -revdep ------- - -`revdep` is script to find broken packages. Its recomended to run after packages is removed or upgraded. - -Usage: -``` -(print out broken packages) -$ revdep - -(verbosely print missing libraries) -$ revdep -v -``` - -You can combine with `apkg` to rebuild broken packages, example; -``` -# apkg -f -u $(revdep) -``` -> NOTE: `revdep` does not solve dependencies, so you might need manually rebuild broken packages instead combine with `apkg`. - -updateconf ----------- - -`updateconf` is script to update configuration files inside `/etc` directory. Its recomended to run after packages upgrades. - -apkg-chroot ------------ -Script to entering chroot environment of custom root location. - -``` -# apkg-chroot <customroot path> -# apkg-chroot <customroot path> <command> -``` - -apkg-clean ----------- -Print out old package and source caches. - -Options: -``` - -s print sources only - -p print packages only -``` - -Usage: -``` -(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 -``` - -apkg-deps ---------- - -Script to find runtime linked dependencies of installed package. Its good to use when writing package template. - -Usage: -``` -$ apkg-deps <pkg> -``` - -apkg-foreign ------------- - -Script to list installed package outside package repo. - -Usage: -``` -(print list foreign packages) -$ apkg-foreign - -(remove foreign packages) -# apkg -r $(apkg-foreign) -``` - -apkg-orphan ------------ - -Script to print list package without parent dependencies. - -Usage: -``` -$ apkg-orphan -``` - -apkg-redundantdeps ------------------- - -Script to print package's redundant dependencies. Its good to use when writing package template for minimizing dependencies and speed up `apkg` dependencies solving. - -usage: -``` -(print package contains redundant dependencies) -$ apkg-redundantdeps - -(remove redundant dependencies for depends list) -$ apkg-redundantdeps -f -``` diff --git a/docs/repos.md b/docs/repos.md deleted file mode 100644 index 2837ccba..00000000 --- a/docs/repos.md +++ /dev/null @@ -1,11 +0,0 @@ -PACKAGE REPOSITORY -================== - -Theres 4 repos available in Alice: - -- core: contains base packages for Alice (required) -- wayland: contains packages that required wayland installed -- xorg: contains packages that required xorg installed -- extra: contains packages that can be built with or without either wayland and xorg - -For `wayland` and `xorg` repo, you can choose either one or enabled both. If both is enabled, packages will be built against both. So you can have either 'pure wayland', 'pure xorg' or 'hybrid'.
\ No newline at end of file |