|
4 | 4 |
|
5 | 5 | This section describes how to build `AppImageUpdate.AppImage` and `appimageupdatetool.AppImage`. This implies using as few -dev packages from the distribution as possible and privately bundling everything that cannot reasonably be assumed to be there in the default installation of all target systems (distributions).
|
6 | 6 |
|
7 |
| -We generally recommend to use our pre-built AppImages if possible. |
8 |
| -See https://github.com/AppImage/AppImageUpdate/blob/main/.github/workflows/main.yml for how these get built. |
| 7 | +## Building the library |
9 | 8 |
|
10 |
| -## Building the libraries |
| 9 | +This section describes how to build `libappimageupdate` for consumption in distribution packaging. This implies using as many -dev packages from the distribution as possible. |
11 | 10 |
|
12 |
| -This section describes how to build `libappimageupdate` and `libappimage` for consumption in distribution packaging. This implies using as many -dev packages from the distribution as possible. |
| 11 | +### Ubuntu-20.04 |
13 | 12 |
|
14 |
| -### Ubuntu 18.04 |
15 |
| - |
16 |
| -```# Compile and install libappimageupdate |
17 |
| -
|
18 |
| -sudo apt -y install wget git cmake g++ libcurl4-openssl-dev libx11-dev libz-dev libfuse-dev librsvg2-dev |
19 |
| -
|
20 |
| -git clone --recursive https://github.com/AppImage/AppImageUpdate |
21 |
| -cd AppImageUpdate/ |
22 |
| -
|
23 |
| -mkdir build/ |
24 |
| -cd build/ |
25 |
| -
|
26 |
| -cmake -DBUILD_QT_UI=OFF -DCMAKE_INSTALL_PREFIX=/usr .. |
27 |
| -make -j$(nproc) |
28 |
| -
|
29 |
| -sudo make install |
30 |
| -
|
31 |
| -cd .. |
32 |
| -
|
33 |
| -# Also compile and install libappimage |
34 |
| -
|
35 |
| -sudo apt -y install libssl-dev libinotifytools0-dev libarchive-dev libfuse-dev liblzma-dev |
36 |
| -
|
37 |
| -git clone --recursive https://github.com/AppImage/AppImageKit |
38 |
| -cd AppImageKit/ |
39 |
| -
|
40 |
| -mkdir build/ |
41 |
| -cd build/ |
42 |
| -
|
43 |
| -cmake -DUSE_SYSTEM_XZ=ON -DUSE_SYSTEM_INOTIFY_TOOLS=ON -DUSE_SYSTEM_LIBARCHIVE=ON -DUSE_SYSTEM_GTEST=OFF -DCMAKE_INSTALL_PREFIX=/usr .. |
44 |
| -make -j$(nproc) |
45 |
| -
|
46 |
| -sudo make install |
47 | 13 | ```
|
48 |
| - |
49 |
| -### CentOS 7 |
50 |
| - |
51 |
| -``` |
52 |
| -cat /etc/redhat-release |
53 |
| -# CentOS Linux release 7.2.1511 (Core) |
54 |
| -
|
55 |
| -# Compile and install libappimageupdate |
56 |
| -
|
57 |
| -wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm |
58 |
| -rpm -ivh epel-release-latest-7.noarch.rpm |
59 |
| -
|
60 |
| -yum install git cmake3 gcc-c++ curl-devel libX11-devel zlib-devel fuse-devel librsvg2-devel cairo-devel |
61 |
| -
|
62 |
| -git clone --recursive https://github.com/AppImage/AppImageUpdate |
63 |
| -cd AppImageUpdate/ |
64 |
| -
|
65 |
| -mkdir build/ |
66 |
| -cd build/ |
67 |
| -
|
68 |
| -cmake3 -DBUILD_QT_UI=OFF -DCMAKE_INSTALL_PREFIX=/usr .. |
69 |
| -make -j$(nproc) |
70 |
| -
|
71 |
| -sudo make install |
72 |
| -
|
73 |
| -cd .. |
74 |
| -
|
75 |
| -# Also compile libappimage; work in progress |
76 |
| -
|
77 |
| -git clone https://github.com/AppImage/AppImageKit |
78 |
| -cd AppImageKit/ |
79 |
| -
|
| 14 | +# Install dependencies |
| 15 | +sudo apt-get update |
| 16 | +sudo apt-get install -y --no-install-recommends software-properties-common |
| 17 | +sudo add-apt-repository ppa:ubuntu-toolchain-r/test |
| 18 | +sudo add-apt-repository -y ppa:beineri/opt-qt-5.15.2-focal |
| 19 | +sudo apt-get update |
| 20 | +sudo apt-get install -y g++-10 qt515base qt515wayland libgl1 libdrm-dev mesa-common-dev build-essential libssl-dev \ |
| 21 | +autoconf automake libtool wget vim-common desktop-file-utils pkgconf libgpgme-dev libglib2.0-dev libcairo2-dev \ |
| 22 | +librsvg2-dev libfuse-dev git libcurl4-openssl-dev argagg-dev libgcrypt20-dev libboost-dev libarchive-dev \ |
| 23 | +libzstd-dev nlohmann-json3-dev cmake |
| 24 | +
|
| 25 | +# Build |
| 26 | +export CXX=g++-10 |
80 | 27 | mkdir build
|
81 | 28 | cd build
|
82 |
| -cmake3 -DUSE_SYSTEM_XZ=ON -DUSE_SYSTEM_INOTIFY_TOOLS=ON -DUSE_SYSTEM_LIBARCHIVE=ON -DUSE_SYSTEM_GTEST=ON .. |
| 29 | +cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTING=OFF |
83 | 30 | make -j$(nproc)
|
84 |
| -
|
85 |
| -# Section to be completed |
86 |
| -
|
| 31 | +sudo make install |
| 32 | +cd .. |
87 | 33 | ```
|
0 commit comments