|
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