55 lines
1.5 KiB
Bash
55 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
set -x
|
|
ARCH=amd64
|
|
# DEPENDENCIES="python3-neovim fd-find ripgrep"
|
|
readarray -t DEPENDENCIES <<-EOF
|
|
python3-neovim
|
|
fd-find
|
|
ripgrep
|
|
luarocks
|
|
EOF
|
|
|
|
USER="neovim"
|
|
PROJECT="neovim"
|
|
BRANCH=$(lastversion --format=tag ${PROJECT})
|
|
PACKAGE="neovim"
|
|
DEBVERSION=$(lastversion ${PROJECT})
|
|
DEBEMAIL="person@company.tld"
|
|
DEBFULLNAME="Testy McTester"
|
|
DESCRIPTION="hyperextensible Vim-based text editor"
|
|
SECTION="admin"
|
|
HOMEPAGE="https://neovim.io/"
|
|
# LICENSE="apache2"
|
|
|
|
# install debian dependencies
|
|
sudo apt-get install -y "${DEPENDENCIES[@]}"
|
|
|
|
# clone the repository
|
|
git clone --branch "${BRANCH}" "https://github.com/${USER}/${PROJECT}.git" --depth 1 "${PACKAGE}-${DEBVERSION}"
|
|
|
|
# debianize the cloned repository
|
|
cd "${PACKAGE}-${DEBVERSION}" || exit
|
|
dh_make --createorig --single --native --yes
|
|
|
|
# set the user's full name and email address
|
|
sed -i "s,^\(Maintainer: \).*,\1'${DEBFULLNAME}\ \<${DEBEMAIL}\>'," debian/control
|
|
|
|
# customize the Debian directory values
|
|
sed -i "s,^\(Description: \).*,\1'${DESCRIPTION}'," debian/control
|
|
sed -i "s,^\(Description: \).*,\1${DESCRIPTION}," debian/control
|
|
sed -i 's,^\(Section: \).*,\1'${SECTION}',' debian/control
|
|
sed -i 's,^\(Homepage: \).*,\1'${HOMEPAGE}',' debian/control
|
|
|
|
# create the debian/watch file
|
|
cat <<EOF >debian/watch
|
|
version=4
|
|
opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/${PROJECT}-\$1\.tar\.gz/ \
|
|
https://github.com/${USER}/${PROJECT}/tags .*/v?(\d\S+)\.tar\.gz
|
|
EOF
|
|
|
|
# build the Debian package
|
|
dpkg-buildpackage -us -uc -b
|
|
|
|
# install the Debian package
|
|
sudo dpkg -i "../${PACKAGE}_${DEBVERSION}_${ARCH}.deb"
|