diff options
author | Andrei Pozolotin | 2016-06-14 23:30:06 +0000 |
---|---|---|
committer | Andrei Pozolotin | 2016-06-14 23:30:06 +0000 |
commit | 09850c67aabcb20e874a92b3cd625b51b747bcb9 (patch) | |
tree | 87cf1a163da186fe92169f5e9f6051eec0d8ad69 | |
download | aur-09850c67aabcb20e874a92b3cd625b51b747bcb9.tar.gz |
A .SRCINFO
A .gitignore
A PKGBUILD
A acserver-blablacar-aur.launch
A acserver-blablacar-aur.launch.sh
A acserver-blablacar.service
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | .gitignore | 12 | ||||
-rw-r--r-- | PKGBUILD | 44 | ||||
-rw-r--r-- | acserver-blablacar-aur.launch | 10 | ||||
-rwxr-xr-x | acserver-blablacar-aur.launch.sh | 111 | ||||
-rw-r--r-- | acserver-blablacar.service | 33 |
6 files changed, 227 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..a224402986d4 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,17 @@ +pkgbase = acserver-blablacar + pkgdesc = App Container Server (blablacar fork) + pkgver = 0.1 + pkgrel = 1 + url = https://github.com/blablacar/acserver + arch = i686 + arch = x86_64 + license = Apache + makedepends = git + makedepends = go + source = git+https://github.com/blablacar/acserver.git + source = acserver-blablacar.service + md5sums = SKIP + md5sums = SKIP + +pkgname = acserver-blablacar + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..ad27df29fdeb --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +# eclipse meta data +.project + +# generated resources +/*/ +/*.xz +/*.gz +/*.log + +# build resources +gopath/ +bin/ diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..ee25eff5c43e --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,44 @@ +pkgdesc='App Container Server (blablacar fork)' +pkgname=acserver-blablacar +pkgver=0.1 +pkgrel=1 +url="https://github.com/blablacar/acserver" +source=( + "git+$url.git" + "$pkgname.service" +) +md5sums=( + 'SKIP' + 'SKIP' +) +makedepends=('git' 'go') +license=('Apache') +arch=('i686' 'x86_64') + +# 1. +prepare() { + local base=$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd) + local repo="$srcdir/acserver" # working repo location + local target=$([[ $pkgver == "0.0" ]] && printf "master" || printf "$pkgver") + git -C "$repo" checkout --quiet "$target" # checkout proper version + git -C "$repo" status # verify working repo change +} + +# 2. +build() { + cd acserver + ./build.sh +} + +# 3. +check() { + true +} + +# 4. +package() { + cd acserver + install -D -m755 bin/acserver "$pkgdir/usr/bin/$pkgname" + install -D -m644 $pkgname.service "$pkgdir/usr/lib/systemd/system/$pkgname.service" + install -d -m755 "$pkgdir/var/aci/store" +} diff --git a/acserver-blablacar-aur.launch b/acserver-blablacar-aur.launch new file mode 100644 index 000000000000..46f5c317b27b --- /dev/null +++ b/acserver-blablacar-aur.launch @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"> +<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/> +<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> +<listEntry value="org.eclipse.ui.externaltools.launchGroup"/> +</listAttribute> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/acserver-blablacar-aur/acserver-blablacar-aur.launch.sh}"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/acserver-blablacar-aur}"/> +</launchConfiguration> diff --git a/acserver-blablacar-aur.launch.sh b/acserver-blablacar-aur.launch.sh new file mode 100755 index 000000000000..1c1d17e62b9c --- /dev/null +++ b/acserver-blablacar-aur.launch.sh @@ -0,0 +1,111 @@ +#!/bin/bash + +# build package automation + +readonly location=$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd) +source $location/PKGBUILD + +is_root() { + [[ $(id -u) == 0 ]] +} + +has_makepkg() { + which makepkg >/dev/null 2>&1 +} + + +do_provision() { + if has_makepkg ; then + do_provision_proper + else + do_provision_simple + fi +} + +do_provision_proper() { + echo "// do_provision_proper" + local suno="" + if is_root ; then + chown -R nobody $location + suno="sudo -u nobody" + fi + $suno makepkg --force +} + +do_provision_simple() { + echo "// do_provision_simple" + local source="$url.git" + if [[ -e $pkgname ]] ; then + git -C $pkgname pull + else + git clone $source + fi +} + +do_version() { + #echo "version $pkgver -> $(pkgver)" + if has_makepkg; then + do_version_proper + else + do_version_simple + fi +} + +do_version_simple() { + echo "// do_version_simple" + + local pkgver=$(pkgver) + local file_list="PKGBUILD .SRCINFO" + + local file + for file in $file_list ; do + sed -r -i "s%^([ ]*pkgver[ ]*=[ ]*).*%\1$pkgver%" "$file" + sed -r -i "s%#tag=v[0-9]+%#tag=v$pkgver%" "$file" + done +} + +do_version_proper() { + echo "// do_version_proper" + + local suno="" + local user="nobody" + if is_root ; then + chown -R $user $location + suno="sudo -u $user" + fi + + $suno makepkg --printsrcinfo > .SRCINFO + +} + +do_commit() { + echo "// do_commit" + + git add --all :/ + git status + + local message=$(git status --short) + git commit --message "$message" + + git push + +} + +do_clean() { + echo "// clean" + rm -rf "$location/$pkgname" + rm -rf "$location/src" + rm -rf "$location/pkg" +} + +### + +#set -e + +do_provision + +do_version + +do_commit + +do_clean diff --git a/acserver-blablacar.service b/acserver-blablacar.service new file mode 100644 index 000000000000..92e6c7ca6f4c --- /dev/null +++ b/acserver-blablacar.service @@ -0,0 +1,33 @@ + +# Usage of /usr/bin/acserver-blablacar: +# acserver SERVER_NAME ACI_DIRECTORY USERNAME PASSWORD +# Flags: +# -https +# Whether or not to provide https URLs for meta discovery +# -port int +# The port to run the server on (default 3000) +# -pubkeys string +# Path to gpg public keys images will be signed with + +[Unit] +Description=App Container Server (blablacar fork) +Documentation=https://github.com/appc/acserver + +[Service] +# +Environment=SERVER_NAME=default +Environment=ACI_DIRECTORY=/var/aci/store +#Environment=TEMPLATE_DIRECTORY=/var/aci/templates +Environment=USERNAME=default +Environment=PASSWORD=default +Environment=FLAGS= +# +ExecStartPre=/usr/bin/mkdir -p "$ACI_DIRECTORY" +#ExecStartPre=/usr/bin/mkdir -p "$TEMPLATE_DIRECTORY" +ExecStart=/usr/bin/acserver-blablacar "$SERVER_NAME" "$ACI_DIRECTORY" "$USERNAME" "$PASSWORD" $FLAGS +# +Restart=on-failure +RestartSec=1s + +[Install] +WantedBy=multi-user.target |