#!/bin/sh # libtorx lib_nme="libtorx" lib_git="https://github.com/TorX-Chat/libtorx.git" lib_bra="main" lib_cmt="54ac453ba9e8419068345b4aa348c32d0866613b" lib_ver="0.1.0" # torx-gtk4 gtk_nme="torx-gtk4" gtk_git="https://github.com/TorX-Chat/torx-gtk4.git" gtk_bra="main" gtk_cmt="0bde735a66f9102c8230283556dbab299054b8d7" gtk_ver="0.1.0" deb_url="https://0x0.st/80CL.tar.xz" get_src() { # get_src "${src}" "${git}" "${bra}" "${cmt}" "${ver}" local cwd="$(pwd)" local ret="0" local src="${1}" local git="${2}" local bra="${3:-master}" local cmt="${4}" local ver="${5}" local now="$(date -u '+%Y-%m-%d-%H-%M-%S')" [ -d "${src}" ] || { # git clone -b "${bra}" --recursive "${git}" "${src} && \ git clone -b "${bra}" "${git}" "${src}" && \ git -C "${src}" checkout -b "${bra}-${cmt}" "${cmt}" && \ git -C "${src}" log -n 1 --pretty=oneline && \ tar --exclude=".git" -cJvf "${src}_${ver}.orig.tar.xz" "${src}" ret="${?}" } cd "${cwd}" echo "get_src completed (${ret})." return "${ret}" } get_src "${lib_nme}" "${lib_git}" "${lib_bra}" "${lib_cmt}" "${lib_ver}" get_src "${gtk_nme}" "${gtk_git}" "${gtk_bra}" "${gtk_cmt}" "${gtk_ver}" get_deb() { # get_deb "${url}" local cwd="$(pwd)" local url="${1}" wget -O "torx.tar.xz" "${url}" && \ tar -xf "torx.tar.xz" && \ mkdir -p "libtorx" && \ tar -xf "libtorx_0.1.0-1.debian.tar.xz" -C libtorx && \ mkdir -p "torx-gtk4" && \ tar -xf "torx-gtk4_0.1.0-1.debian.tar.xz" -C "torx-gtk4" ret="${?}" cd "${cwd}" echo "get_deb completed (${ret})." return "${ret}" } # get_deb "${deb_url}" # alternative dec_deb enc_deb() { local cwd="$(pwd)" tar -cJvf torx.tar.xz libtorx_*.debian.tar.xz torx-gtk4_*.debian.tar.xz cat torx.tar.xz | base64 curl -F'file=@torx.tar.xz' -Fexpires=$((30*24)) https://0x0.st ret="${?}" cd "${cwd}" echo "enc_deb completed (${ret})." return "${ret}" } # enc_deb dec_deb() { # dec_deb "dir" local cwd="$(pwd)" local dir="${1:-.}" # TODO: Lintian libtorx # W: libtorx: improbable-bug-number-in-closes 3573 [usr/share/doc/libtorx/changelog.Debian.gz:1] # W: libtorx: shared-library-lacks-version usr/lib/libtorx.so libtorx.so # TODO: Lintian torx-gtk4 # W: torx-gtk4: desktop-mime-but-no-exec-code [usr/share/applications/org.torx.gtk4.desktop] # W: torx-gtk4: improbable-bug-number-in-closes 3573 [usr/share/doc/torx-gtk4/changelog.Debian.gz:1] # W: torx-gtk4: link-to-shared-library-in-wrong-package usr/lib/libgifanimation.so.0 [usr/lib/libgifanimation.so] # W: torx-gtk4: no-manual-page [usr/bin/torx-gtk4] # W: torx-gtk4: no-manual-page [usr/bin/torx-tray] # W: torx-gtk4: package-name-doesnt-match-sonames libgifanimation0 # (base64 -d > torx.tar.xz && curl -F'file=@torx.tar.xz' -Fexpires=$((30*24)) https://0x0.st) <<-BASE64 # (base64 -d | tar -xJf- -C "${dir}" --strip-components=0) <<-BASE64 (base64 -d | tar -xJf- -C "${dir}" --strip-components=0) <<-BASE64 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 BASE64 mkdir -p "libtorx" && \ tar -xf "libtorx_0.1.0-1.debian.tar.xz" -C libtorx && \ mkdir -p "torx-gtk4" && \ tar -xf "torx-gtk4_0.1.0-1.debian.tar.xz" -C "torx-gtk4" ret="${?}" cd "${cwd}" echo "dec_deb completed (${ret})." return "${ret}" } dec_deb "." bld_deb() { local cwd="$(pwd)" local ret="0" for pkg in "${@}" ; do cd "${pkg}" && { \ dpkg-buildpackage -us -uc ; \ ret="$((${ret} + ${?}))" ; \ cd .. ; for deb in "${pkg}"*.deb ; do echo "Installing ${deb}" sudo dpkg -i "${deb}" done } done cd "${cwd}" echo "bld_deb completed (${ret})." return "${ret}" } bld_deb "${lib_nme}" "${gtk_nme}"