summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathon Fernyhough2017-10-22 18:28:35 +0100
committerJonathon Fernyhough2017-10-22 18:29:48 +0100
commit375d37de841f2a5babf36af120577bf9561157e9 (patch)
treee0326800e91ace41ec800b989f51a7c8d9c79d91
parenta84666ad831d45864c88ac4529cc3a6281275830 (diff)
downloadaur-375d37de841f2a5babf36af120577bf9561157e9.tar.gz
Update for 0.8.1
Large update, now includes vmlogd. Requires patch to build against btrfs-progs>=4.5, should be dropped as soon as vendored version is updated.
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD47
-rw-r--r--btrfs-progs-4.5.diff27
3 files changed, 62 insertions, 20 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 825cd4e08759..524ec2002a91 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = hyperd
pkgdesc = Hypervisor-agnostic Docker Runtime
- pkgver = 0.7.0
+ pkgver = 0.8.1
pkgrel = 1
url = https://www.hypercontainer.io/
arch = i686
@@ -14,8 +14,10 @@ pkgbase = hyperd
optdepends = hyperstart: boot files for hyperd instances
options = !strip
options = !emptydirs
- source = hyperd-0.7.0.tar.gz::https://github.com/hyperhq/hyperd/archive/v0.7.0.tar.gz
- sha256sums = e79d4e6aebe01d2117e981050ecb88dd24f8a9e45e2fbe1a558bcd1ee5d90b88
+ source = hyperd-0.8.1.tar.gz::https://github.com/hyperhq/hyperd/archive/v0.8.1.tar.gz
+ source = btrfs-progs-4.5.diff
+ sha256sums = 4b82884cbc75115006000f755e1ad5833309911c6d020977d874dffb0882628f
+ sha256sums = 12fe84f2711fdcb35811765d5efb117e947a893c11fdc2e6f1e060e63917ee9d
pkgname = hyperd
diff --git a/PKGBUILD b/PKGBUILD
index 57a0bb435a59..f2933d990aab 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
-# Maintainer: Jonathon Fernyhough <jonathon@manjaro.org>
+# Maintainer: Jonathon Fernyhough <jonathon_at_manjaro_dot_org>
pkgname=hyperd
-pkgver=0.7.0
+pkgver=0.8.1
pkgrel=1
pkgdesc="Hypervisor-agnostic Docker Runtime"
arch=('i686' 'x86_64')
@@ -11,25 +11,38 @@ depends=('libvirt')
makedepends=('device-mapper' 'sqlite3' 'libvirt' 'go')
optdepends=('hyperstart: boot files for hyperd instances')
options=('!strip' '!emptydirs')
-source=("hyperd-$pkgver.tar.gz::https://github.com/hyperhq/${pkgname}/archive/v${pkgver}.tar.gz")
-sha256sums=('e79d4e6aebe01d2117e981050ecb88dd24f8a9e45e2fbe1a558bcd1ee5d90b88')
+source=("${pkgname}-${pkgver}.tar.gz::https://github.com/hyperhq/${pkgname}/archive/v${pkgver}.tar.gz"
+ 'btrfs-progs-4.5.diff')
+sha256sums=('4b82884cbc75115006000f755e1ad5833309911c6d020977d874dffb0882628f'
+ '12fe84f2711fdcb35811765d5efb117e947a893c11fdc2e6f1e060e63917ee9d')
-build() {
- cd "${pkgname}-${pkgver}"
+prepare() {
+ cd "${pkgname}-${pkgver}"
+ # https://github.com/hyperhq/hyperd/issues/643
+ # https://github.com/moby/moby/commit/a038cccf88998814249a7a40b71a33a680e3f02f
+ patch -Np0 -i "${srcdir}/btrfs-progs-4.5.diff"
+}
- # Needs to be able to find itself in $GOPATH
- ln -s $(pwd) Godeps/_workspace/src/github.com/hyperhq/${pkgname}
+build() {
+ cd "${pkgname}-${pkgver}"
+ local _srcpath="src/github.com/hyperhq/"
+ export GOPATH="${srcdir}"
+ install -d "$GOPATH/$_srcpath"
+ ln -sf "$(pwd)" "$GOPATH/$_srcpath/hyperd"
+ cd "$GOPATH/$_srcpath/hyperd"
- ./autogen.sh
- ./configure --prefix=/usr
- make
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
}
package() {
- cd "${pkgname}-${pkgver}"
-
- install -D hyperctl "${pkgdir}/usr/bin/hyperctl"
- install -D hyperd "${pkgdir}/usr/bin/hyperd"
- install -D -m644 package/dist/etc/hyper/config "${pkgdir}/etc/hyper/config"
- install -D -m644 package/dist/lib/systemd/system/hyperd.service "${pkgdir}/usr/lib/systemd/system/hyperd.service"
+ cd "${pkgname}-${pkgver}"
+
+ install -D hyperctl "${pkgdir}/usr/bin/hyperctl"
+ install hyperd "${pkgdir}/usr/bin/hyperd"
+ install vmlogd "${pkgdir}/usr/bin/vmlogd"
+ install -D -m644 package/dist/etc/hyper/config "${pkgdir}/etc/hyper/config"
+ install -D -m644 package/dist/lib/systemd/system/hyperd.service "${pkgdir}/usr/lib/systemd/system/hyperd.service"
+ install -m644 package/dist/lib/systemd/system/hyper-vmlogd.service "${pkgdir}/usr/lib/systemd/system/hyper-vmlogd.service"
}
diff --git a/btrfs-progs-4.5.diff b/btrfs-progs-4.5.diff
new file mode 100644
index 000000000000..103ab26dfa41
--- /dev/null
+++ b/btrfs-progs-4.5.diff
@@ -0,0 +1,27 @@
++++ vendor/github.com/docker/docker/daemon/graphdriver/btrfs/btrfs.go
+--- vendor/github.com/docker/docker/daemon/graphdriver/btrfs/btrfs.go
+@@ -7,6 +7,10 @@ package btrfs
+ #include <dirent.h>
+ #include <btrfs/ioctl.h>
+ #include <btrfs/ctree.h>
++
++static void set_name_btrfs_ioctl_vol_args_v2(struct btrfs_ioctl_vol_args_v2* btrfs_struct, const char* value) {
++ snprintf(btrfs_struct->name, BTRFS_SUBVOL_NAME_MAX, "%s", value);
++}
+ */
+ import "C"
+
+@@ -159,9 +163,10 @@ func subvolSnapshot(src, dest, name string) error {
+
+ var args C.struct_btrfs_ioctl_vol_args_v2
+ args.fd = C.__s64(getDirFd(srcDir))
+- for i, c := range []byte(name) {
+- args.name[i] = C.char(c)
+- }
++
++ var cs = C.CString(name)
++ C.set_name_btrfs_ioctl_vol_args_v2(&args, cs)
++ C.free(unsafe.Pointer(cs))
+
+ _, _, errno := syscall.Syscall(syscall.SYS_IOCTL, getDirFd(destDir), C.BTRFS_IOC_SNAP_CREATE_V2,
+ uintptr(unsafe.Pointer(&args)))