55 lines
1.9 KiB
Bash
Executable file
55 lines
1.9 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
root_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
package_id="$(cargo pkgid --manifest-path "${root_dir}/Cargo.toml")"
|
|
version="${package_id##*@}"
|
|
bundle_name="Comicviewer-${version}-x86_64"
|
|
appimage_name="${bundle_name}.AppImage"
|
|
appimage="${root_dir}/dist/${appimage_name}"
|
|
checksum="${appimage}.sha256"
|
|
archive="${root_dir}/dist/${bundle_name}.tar.gz"
|
|
archive_checksum="${archive}.sha256"
|
|
work_dir="$(mktemp -d)"
|
|
bundle_dir="${work_dir}/${bundle_name}"
|
|
archive_mtime="${SOURCE_DATE_EPOCH:-$(git -C "${root_dir}" log -1 --format=%ct)}"
|
|
|
|
cleanup() {
|
|
rm -rf "${work_dir}"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
if [[ ! -f "${appimage}" ]]; then
|
|
printf 'AppImage가 없습니다: %s\n' "${appimage}" >&2
|
|
printf '%s\n' "먼저 packaging/build-appimage.sh를 실행하세요." >&2
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "${bundle_dir}"
|
|
(
|
|
cd "${root_dir}/dist"
|
|
sha256sum "${appimage_name}" > "${appimage_name}.sha256"
|
|
)
|
|
|
|
install -m 0755 "${appimage}" "${bundle_dir}/${appimage_name}"
|
|
install -m 0644 "${checksum}" "${bundle_dir}/${appimage_name}.sha256"
|
|
install -m 0755 \
|
|
"${root_dir}/packaging/install-or-update.sh" \
|
|
"${bundle_dir}/install-or-update.sh"
|
|
install -m 0644 \
|
|
"${root_dir}/data/io.github.comicviewer.Comicviewer.desktop" \
|
|
"${bundle_dir}/io.github.comicviewer.Comicviewer.desktop"
|
|
install -m 0644 \
|
|
"${root_dir}/data/io.github.comicviewer.Comicviewer.svg" \
|
|
"${bundle_dir}/io.github.comicviewer.Comicviewer.svg"
|
|
install -m 0644 "${root_dir}/docs/INSTALL.ko.md" "${bundle_dir}/README.ko.md"
|
|
|
|
tar --sort=name --owner=0 --group=0 --numeric-owner --mtime="@${archive_mtime}" \
|
|
-C "${work_dir}" -cf - "${bundle_name}" | gzip -n > "${archive}"
|
|
(
|
|
cd "${root_dir}/dist"
|
|
sha256sum "$(basename "${archive}")" > "$(basename "${archive_checksum}")"
|
|
)
|
|
|
|
printf 'Created %s\n' "${archive}"
|
|
printf 'Created %s\n' "${archive_checksum}"
|