add ubuntu package scripts, lbry:// uri handler

This commit is contained in:
Alex Grintsvayg 2016-04-10 22:33:44 -04:00
parent 59002413f8
commit 925e106c43
5 changed files with 118 additions and 0 deletions

View file

@ -0,0 +1,5 @@
# package scripts
How to build LBRY packages.
For best results, run on a fresh image.

View file

@ -0,0 +1,11 @@
description "LBRY Daemon"
#start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [016]
#expect fork
respawn
respawn limit 5 20
exec /usr/share/python/lbrynet/bin/lbrynet-daemon

View file

@ -0,0 +1,20 @@
#!/bin/bash
set -euo pipefail
urlencode() {
local LANG=C
local length="${#1}"
for (( i = 0; i < length; i++ )); do
local c="${1:i:1}"
case $c in
[a-zA-Z0-9.~_-]) printf "$c" ;;
*) printf '%%%02X' "'$c" ;;
esac
done
}
ARG=${1:-}
NAME=$(urlencode "$(echo "$ARG" | cut -c 8-)")
/usr/bin/xdg-open http://localhost:5279/view?name="$NAME"

View file

@ -0,0 +1,21 @@
[Desktop Entry]
Version=1.0
Name=LBRY
# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
GenericName=Filesharing
# Gnome and KDE 3 uses Comment.
Comment=Stream. Share. Earn.
#Exec=/usr/bin/xdg-open http://localhost:5279/view?name=%U
Exec=/usr/share/python/lbrynet/bin/lbry-uri-handler %U
Terminal=false
Icon=
Type=Application
Categories=Network;Internet;Filesharing
MimeType=x-scheme-handler/lbry;
X-Ayatana-Desktop-Shortcuts=NewWindow
[NewWindow Shortcut Group]
Name=New Window
Exec=/home/grin/lbryhandler/testlbry newwindow %U
TargetEnvironment=Unity

View file

@ -0,0 +1,61 @@
#!/bin/bash
# Tested on fresh Ubuntu 14.04 install.
# wget https://raw.githubusercontent.com/lbryio/lbry/master/packaging/ubuntu/ubuntu_package_setup.sh
# bash ubuntu_package_setup.sh master
set -euo pipefail
BRANCH=${1:-master}
# get the required OS packages
sudo add-apt-repository -y ppa:spotify-jyrki/dh-virtualenv
sudo apt-get update
sudo apt-get install -y build-essential git python-dev libffi-dev libssl-dev libgmp3-dev dh-virtualenv debhelper
# need a modern version of pip (more modern than ubuntu default)
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
rm get-pip.py
sudo pip install make-deb
# check out LBRY
git clone https://github.com/lbryio/lbry.git --branch "$BRANCH"
# build packages
(
cd lbry
make-deb
dpkg-buildpackage -us -uc
)
### insert our extra files
# extract .deb
PACKAGE="$(ls | grep '.deb')"
ar vx "$PACKAGE"
mkdir control data
tar -xvzf control.tar.gz --directory control
tar -xvJf data.tar.xz --directory data
# add files
function addfile() {
FILE="$1"
TARGET="$2"
mkdir -p "$(dirname "data/$TARGET")"
cp "$FILE" "data/$TARGET"
echo "$(md5sum "data/$TARGET" | cut -d' ' -f1) $TARGET" >> control/md5sums
}
PACKAGING_DIR='lbry/packaging/ubuntu'
addfile "$PACKAGING_DIR/lbry-uri-handler" usr/share/python/lbrynet/bin/lbry-uri-handler
addfile "$PACKAGING_DIR/lbry.desktop" usr/share/applications/lbry.desktop
#addfile lbry/packaging/ubuntu/lbry-init.conf etc/init/lbry.conf
# repackage .deb
tar -cvzf control.tar.gz -C control .
tar -cvJf data.tar.xz -C data .
ar r "$PACKAGE" debian-binary control.tar.gz data.tar.xz
# TODO: we can append to data.tar instead of extracting it all and recompressing