From 61fbb0dcf2ca9a5203e64198135c7b29ad6ab7a8 Mon Sep 17 00:00:00 2001 From: niklas adam Date: Thu, 19 Mar 2020 11:41:52 +0100 Subject: [PATCH] more info about mixing/getting newer packages --- Debian-10-(Buster)-Installation.md | 36 ++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/Debian-10-(Buster)-Installation.md b/Debian-10-(Buster)-Installation.md index f9f207d..9080080 100644 --- a/Debian-10-(Buster)-Installation.md +++ b/Debian-10-(Buster)-Installation.md @@ -4,9 +4,12 @@ This document will guide you through installing Sway on Debian 10 (Buster). +### install Sway 1.2 script + If you prefer to just run a script, you can use this gist (which will install Sway 1.2 + additional goodies): . -Else, proceed with the manual steps below for installing sway 1.4. +### install Sway 1.4 +proceed with the manual steps below for installing sway 1.4. Make sure you have activated the `contrib` and `non-free` apt repositories. ``` @@ -19,17 +22,32 @@ Update apt cache: sudo apt update ``` -Make sure you have the meson (>= 0.53.1) +Make sure you have meson (>= 0.53.1) Depends ninja-build (>= 1.6) and python3 -The stable debian apt source list uses an 0.49.2 version of meson. -So you do need to add the debian sid mirror to your apt/sources.list +if the meson version is satisfied skip next part (go to **install 1.4 continued**) + +### Debian stable steps +The stable debian apt source list uses a 0.49.2 version of meson. + +**get newer version of meson** +listed here there is 3 ways of doing that + +1. A **safe and easy** method is to download the deb directly from packages.debian.org and use `sudo apt install /path/to/package/name.deb` or **gdebi** to try and install it. If there’s dependency issues with the stable libraries, it will refuse to do so. + +2. **Debian specifically advises against the following method** Add the debian sid mirror to your apt/sources.list [discouraged](https://wiki.debian.org/DebianUnstable) example: `deb http://ftp.de.debian.org/debian sid main` Then again update the apt cache: `sudo apt update` and install newest meson `sudo apt install meson` then you can go and remove the sid mirror from your apt/sources.list and avoid 1000+ upgradable apt packages in sid compared to buster (if you do not remove the sid mirror after installing meson and you run a `sudo apt update && sudo apt upgrade` you may render your system unstable) -Please note that acquiring newer software in this manner is [discouraged](https://wiki.debian.org/DebianUnstable). _Attempting to mix packages between Debian repositories can create unstable situations_. If you wish to use newer software, it is *best* to install packages from [backports](https://backports.debian.org/Instructions/). Unfortunately the backports only have meson (0.52.1) +Please note that acquiring newer software in this manner is [discouraged](https://wiki.debian.org/DebianUnstable). _Attempting to mix packages between Debian repositories can create unstable situations_. If you wish to use newer software, it is *best* to install packages from [backports](https://backports.debian.org/Instructions/). Unfortunately as of now the backports only have meson (0.52.1) +In general, mixing stable and upstream Debian repos will lead to dependency problems down the road. Later many packages can end up being uninstallable. Debian specifically advises against this method. -If you choose to do it the sid way and you now have meson (>= 0.53.1). Continue with the following steps. +3. The **very best** method, though it’s the most work, is to backport the newer package from the source code against the stable libraries. This does take some skill for some packages, but absolutely will not break anything. +[Build a Package from Source](http://forums.debian.net/viewtopic.php?f=16&t=38976) + +Nevertheless whatever way you choose and you now have meson (>= 0.53.1). Continue with the following steps. + +### install 1.4 continued Create a directory to organise sources: @@ -39,7 +57,7 @@ mkdir ~/sway-src ## Install wlroots -First we'll install [wlroots](https://github.com/swaywm/wlroots) 0.10 with almost all extra dependencies (for now meson have been removed from this install line, it will return as soon as the buster apt meson package have been updated to 0.53.1): +First we'll install [wlroots](https://github.com/swaywm/wlroots) 0.10 with almost all extra dependencies (for now meson have been removed from this install line, it will return as soon as the debian stable (buster) apt meson package have been updated to >=0.53.1): ```` sudo apt install build-essential cmake libwayland-dev wayland-protocols \ libegl1-mesa-dev libgles2-mesa-dev libdrm-dev libgbm-dev libinput-dev \ @@ -80,13 +98,13 @@ sudo ldconfig ## Install scdoc (optional) -scdoc is needed for manual pages generation, which I recommend, but Debian's scdoc version is also too old, we need to manually build a newer version: +scdoc is needed for manual pages generation, which I recommend, but Debian's (stable) scdoc version is also too old, we need to manually build a newer version (or get it via [backports](https://packages.debian.org/buster-backports/scdoc)): ``` cd ~/sway-src git clone https://git.sr.ht/~sircmpwn/scdoc cd scdoc -git checkout 1.9.7 +git checkout 1.10.1 make PREFIX=/usr/local -j$CPUCOUNT sudo make PREFIX=/usr/local install ```