aboutsummaryrefslogtreecommitdiff
path: root/carbslinux.texi
diff options
context:
space:
mode:
Diffstat (limited to 'carbslinux.texi')
-rw-r--r--carbslinux.texi99
1 files changed, 60 insertions, 39 deletions
diff --git a/carbslinux.texi b/carbslinux.texi
index 199ac6e..d3be7f9 100644
--- a/carbslinux.texi
+++ b/carbslinux.texi
@@ -7,7 +7,7 @@
@c %**end of header
@copying
-Copyright @copyright{} 2020-2022 Cem Keylan
+Copyright @copyright{} 2020-2024 Cem Keylan
@quotation
Permission is granted to copy, distribute and/or modify this document
@@ -116,16 +116,18 @@ Post-installation
Software
* Init System:: Configure the init system
-* Display Systems::
+* Wayland:: Maintaining a Wayland display system
Init System
* Configuring Init:: Ways to configure the init system
* Changing Init Program:: Replace the default busybox init with something new
-Display Systems
+Wayland
-* Wayland::
+* Enabling the Wayland repository:: Including the wayland repository in your repository path
+* Switching from Xorg:: Rebuilding system packages for wayland
+* Installing a Compositor:: Getting wayland ready for your system
Contribution Guidelines
@@ -224,8 +226,8 @@ wget $URL/carbs-rootfs.tar.xz.sig
The signature file should say something similar to
@example
-untrusted comment: verify with carbslinux-2021.08.pub
-RWTK4GFDD7JiohUHBeJXuKw+/P3K4ZRR8jQud0iOxNDbn7WCFxQsxt9FUNSEiXfLjkm1Ez8c3esRG8oydrsFUFpBGtekFt5obgo=
+untrusted comment: verify with carbslinux-2023.02.pub
+RWTe38zmx+iyuKEL5T84MJ5Y24jqenkTtQLJxbaMzOBS/NkGVl5J+Vn2B6vTV/gJK7LYBPS+IOXV5sEf+YLGCMcBYAGHCcP4xQ8=
@end example
@@ -236,7 +238,7 @@ check the validity of the public key from multiple locations, or just copy paste
that portion to a file and use that instead.
@example
-PUBKEY=carbslinux-2021.08.pub
+PUBKEY=carbslinux-2023.02.pub
wget https://dl.carbslinux.org/keys/$PUBKEY
@end example
@@ -326,7 +328,7 @@ Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In
order to obtain it, run the following:
@example
-rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
+rsync -avc rsync://vaylin.carbslinux.org/repo $HOME/repos/carbs
@end example
@item
@@ -339,7 +341,7 @@ following lines:
@example
CPT_PATH=$HOME/repos/carbs/core
CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra
-CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg
+CPT_PATH=$CPT_PATH:$HOME/repos/carbs/wayland
CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community
export CPT_PATH
@end example
@@ -687,7 +689,7 @@ This section goes over the details of some packaged software
@menu
* Init System:: Configure the init system
-* Display Systems::
+* Wayland:: Maintaining a Wayland display system
@end menu
@node Init System
@@ -826,29 +828,25 @@ currently running on your system and not the one you are switching to.
@end multitable
@end enumerate
-@node Display Systems
-@section @strong{TODO} Display Systems
-
-Carbs Linux supports both Xorg and Wayland in the distribution repositories.
-This section serves as a guide to set up your preferred display server. Follow
-the subsection for the display server you want to setup.
-
-@menu
-* Wayland::
-@end menu
-
@node Wayland
-@subsection Wayland
+@section Wayland
+
+Carbs Linux only supports Wayland displays as of January 2023. If your system
+makes use of the X.org display system, read the section @ref{Switching from Xorg}.
Wayland is a modern display server protocol intended as a replacement for Xorg.
Wayland has a much simpler architecture compared to X by its careful design and
implementation. Users who want to use a Wayland compositor should follow this
section.
-@enumerate
-@item
-@anchor{Enabling the Wayland repository}Enabling the Wayland repository
+@menu
+* Enabling the Wayland repository:: Including the wayland repository in your repository path
+* Switching from Xorg:: Rebuilding system packages for wayland
+* Installing a Compositor:: Getting wayland ready for your system
+@end menu
+@node Enabling the Wayland repository
+@subsection Enabling the Wayland repository
The @samp{wayland} repository requires packages from @samp{xorg} and @samp{extra} repositories.
So you should set your @samp{$CPT_PATH} so that @samp{core} and @samp{extra} repositories
@@ -860,7 +858,6 @@ your repository.
CPT_PATH=$REPOSITORY/core
CPT_PATH=$CPT_PATH:$REPOSITORY/extra
CPT_PATH=$CPT_PATH:$REPOSITORY/wayland
-CPT_PATH=$CPT_PATH:$REPOSITORY/xorg
export CPT_PATH
@end example
@@ -871,9 +868,8 @@ After you have enabled your repositories, go ahead and install @samp{wayland} an
cpt-build wayland wayland-protocols
@end example
-@item
-@anchor{Switching from Xorg}Switching from Xorg
-
+@node Switching from Xorg
+@subsection Switching from Xorg
If you are already an Xorg user, you will need to rebuild some packages so that
they support @samp{wayland}. If you don't have an @samp{xorg} system, feel free to skip
@@ -881,24 +877,27 @@ this step. The packages that need a rebuild are:
@itemize
@item
-gtk+3
+@samp{gtk+3}
@item
-gtk4
+@samp{gtk4}
@item
-mesa
+@samp{mesa}
@item
-xorg-server (for Xwayland support)
-@item
-webkit2gtk
+@samp{webkit2gtk}
@end itemize
-@item
-@anchor{Installing a Compositor}@strong{TODO} Installing a Compositor
+For xorg support inside wayland sessions, you need to install the @samp{xwayland}
+package.
+@node Installing a Compositor
+@subsection Installing a Compositor
The @samp{wayland} repository currently only contains @samp{sway} as a Wayland compositor,
but you can package something else for your own.
-@end enumerate
+
+@example
+cpt bi sway
+@end example
@node Contribution Guidelines
@chapter Contribution Guidelines
@@ -1013,7 +1012,7 @@ ahead.
@item [@anchor{2020}2020]
Prefer sources without a dependency to @samp{automake}. There
are usually distribution tarballs that are @samp{autoconf}'ed. Don't submit tarballs
-with an automake dependency unless you are @samp{sure} there is no alternative.
+with an automake dependency unless you are @strong{sure} there is no alternative.
@item [@anchor{2030}2030]
Avoid these packages:
@table @asis
@@ -1161,6 +1160,9 @@ go build
install -Dm755 program "$1/usr/bin/program"
@end example
+@strong{NOTE}: Follow 2242 if you are packaging for non-Community repository.
+@xref{2242}
+
@item
@anchor{Python [2241]}Python [2241]
@@ -1174,6 +1176,25 @@ install -Dm755 program "$1/usr/bin/program"
python setup.py build
python setup.py install --prefix=/usr --root="$1"
@end example
+
+@item
+@anchor{Go (pre-vendored) [2242]}Go (pre-vendored) [2242]
+
+
+@anchor{2242}
+
+:ID: d2c828ae-bc56-4183-8830-becbf6a812d1
+
+If you are a distribution maintainer create and upload vendor tarballs
+so that no internet connection is required during package compilation at all.
+You can use the following template for this case:
+
+@example
+#!/bin/sh -e
+
+go build -v -mod=vendor
+clinst -Dm755 program "$1/usr/bin/program"
+@end example
@end enumerate
@node Contributing to the Community repository