Skip to content

Commit 86c1259

Browse files
committedFeb 16, 2024
dev: add remote deploy script,
document additional deps
1 parent bc83c8c commit 86c1259

File tree

2 files changed

+43
-4
lines changed

2 files changed

+43
-4
lines changed
 

‎BUILDING.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -103,15 +103,15 @@ If a native build on the host is wanted, meson can be called directly.
103103
Install all needed dependencies and build tools, e.g. for Fedora:
104104

105105
```bash
106-
sudo dnf install gcc gcc-c++ clang clang-devel python3 make cmake meson git appstream-util gettext kernel-devel \
107-
gtk4-devel libadwaita-devel poppler-glib-devel poppler-data alsa-lib-devel
106+
sudo dnf install gcc gcc-c++ clang clang-devel python3 make cmake meson git appstream-util gettext desktop-file-utils \
107+
shared-mime-info kernel-devel gtk4-devel libadwaita-devel poppler-glib-devel poppler-data alsa-lib-devel
108108
```
109109

110110
For debian based distros:
111111

112112
```bash
113-
sudo apt install build-essential clang libclang-dev python3 make cmake meson git appstream-util gettext libgtk-4-dev \
114-
libadwaita-1-dev libpoppler-glib-dev libasound2-dev
113+
sudo apt install build-essential clang libclang-dev python3 make cmake meson git appstream-util gettext \
114+
desktop-file-utils shared-mime-info libgtk-4-dev libadwaita-1-dev libpoppler-glib-dev libasound2-dev
115115
```
116116

117117
Also make sure `rustc` and `cargo` are installed ( see [https://www.rust-lang.org/](https://www.rust-lang.org/) ).

‎build-aux/deploy-remote.sh

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/usr/bin/env bash
2+
3+
if [[ "$1" == "-h" ]] || [[ "$1" == "--help" ]]; then
4+
echo "\
5+
deploy-remote.sh
6+
7+
deploy the meson installation remotely
8+
9+
Usage: deploy-remote.sh <ssh-remote> <remote-password>
10+
11+
Note that it will install the files into the path with the configured prefix of the local build.
12+
Clear your history after executing the script with 'history -c' to ensure the remote password does not get stored
13+
in the bash history.
14+
"
15+
fi
16+
17+
remote=$1
18+
remote_passwd=$2
19+
20+
tmp_path="/tmp/rnote-remote-deploy"
21+
install_folder="build-install"
22+
tmp_install="${tmp_path}/${install_folder}"
23+
tmp_archive="${tmp_path}/archive.tar.gz"
24+
remote_data_dir="/usr/share"
25+
26+
mkdir "${tmp_path} || true"
27+
meson install --destdir "${tmp_install}" -C _mesonbuild
28+
tar -zcf "${tmp_archive}" -C "${tmp_path}" "${install_folder}"
29+
ssh "${remote}" "mkdir ${tmp_path} || true"
30+
scp "${tmp_archive}" "${remote}:${tmp_archive}"
31+
ssh "${remote}" "tar -xz --no-same-owner -f ${tmp_archive} --directory ${tmp_path}"
32+
echo "${remote_passwd}" | ssh "${remote}" "sudo -S cp -r ${tmp_install}/* /"
33+
34+
# post-install steps
35+
echo "${remote_passwd}" | ssh "${remote}" "sudo -S gtk-update-icon-cache ${remote_data_dir}/icons/hicolor"
36+
echo "${remote_passwd}" | ssh "${remote}" "sudo -S glib-compile-schemas ${remote_data_dir}/glib-2.0/schemas"
37+
echo "${remote_passwd}" | ssh "${remote}" "sudo -S update-desktop-database ${remote_data_dir}/applications"
38+
echo "${remote_passwd}" | ssh "${remote}" "sudo -S update-mime-database ${remote_data_dir}/mime"
39+
echo "${remote_passwd}" | ssh "${remote}" "sudo -S fc-cache -v -f"

0 commit comments

Comments
 (0)