Package Details: kvdo-dkms 6.2.4.26-3

Git Clone URL: https://aur.archlinux.org/kvdo-dkms.git (read-only, click to copy)
Package Base: kvdo-dkms
Description: A pair of kernel modules which provide pools of deduplicated and/or compressed block storage (semi-official version for latest kernels)
Upstream URL: https://github.com/rhawalsh/kvdo
Licenses: GPL2
Provides: kvdo
Submitter: zapp-brannigan
Maintainer: zapp-brannigan
Last Packager: zapp-brannigan
Votes: 4
Popularity: 0.000397
First Submitted: 2018-08-19 18:48
Last Updated: 2021-04-01 16:12

Dependencies (0)

Required by (1)

Sources (3)

Latest Comments

1 2 3 Next › Last »

zapp-brannigan commented on 2021-03-26 15:20

Hmmm, i see. Since i do not use vdo/kvdo anymore, is anybody interested to take over maintenance for the PKGBUILDs?

nyoxi commented on 2021-03-26 12:08

Unfortunately no. :) The source now point to a git branch and not to a tagged commit. Since there were new commits pushed in February the SHA has does not match anymore.

The following patch makes it explicit that git branch is used to avoid confusion. Optionally appending string "-git" to VERSION or something like that may be be a good idea too.

diff --git a/PKGBUILD b/PKGBUILD
index af6cf68..645646c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,16 +10,16 @@ arch=('x86_64')
 url="https://github.com/rhawalsh/kvdo"
 license=('GPL2')
 provides=('kvdo')
-source=("$_pkgname-$pkgver.tar.gz::https://github.com/rhawalsh/kvdo/archive/$pkgver-COPR.tar.gz"
+source=("git+https://github.com/rhawalsh/kvdo#branch=$pkgver-COPR"
         "dkms.conf"
         "config_hz.patch")
-sha256sums=('78f0a02aeb69d65010184d836ea3da2b2430cdd480cb58a4793fe4e980371924'
+sha256sums=('SKIP'
             '516f60bdb28f7a0cb6c8f1f84c656ee7c6aec8feb393538f227ed515372ac88a'
             '8871d201fef0b4ae8ea4a3459e7a3b375b5d104df110dcbf56c8da929c68b946')

 package() {
   mkdir -p "$pkgdir"/usr/src
-  cp -r "$_pkgname-$pkgver-COPR" "$pkgdir"/usr/src/"$_pkgname-$pkgver"
+  cp -r "$_pkgname" "$pkgdir"/usr/src/"$_pkgname-$pkgver"
   cd "$pkgdir"/usr/src/kvdo-"$pkgver"
   patch --forward --strip=0 -i "$srcdir"/config_hz.patch
   cd "$srcdir"

zapp-brannigan commented on 2020-12-12 08:27

Switched to COPR repo, so everyone should be happy ;)

id01 commented on 2020-12-11 00:19

According to README.md on upstream[1], a fork compatible with new kernel versions has been made and is being maintained here[2] under the -COPR branches. While it still requires a patch for config_hz (to remove the check for an integer number of millseconds in every tick), it no longer needs vla-warning, and can compile on latest kernels.

I suggest using this, and have made an alternate version of this PKGBUILD using those sources that works on 5.9.

[1] https://github.com/dm-vdo/kvdo

[2] https://github.com/rhawalsh/kvdo/tree/6.2.4.26-COPR

PKGBUILD:

# Maintainer: zapp-brannigan <fuerst.reinje@web.de>
#             danhyal <danhyal@gmail.com>
#             jgottula
_pkgname=kvdo
pkgname=kvdo-dkms
pkgrel=1
pkgver=6.2.4.26
pkgdesc='A pair of kernel modules which provide pools of deduplicated and/or compressed block storage'
arch=('x86_64')
url="https://github.com/rhawalsh/kvdo"
license=('GPL2')
provides=('kvdo')
source=("$_pkgname-$pkgver-COPR.tar.gz::https://github.com/rhawalsh/kvdo/archive/$pkgver-COPR.tar.gz"
        "dkms.conf"
        "config_hz.patch")
sha256sums=('78f0a02aeb69d65010184d836ea3da2b2430cdd480cb58a4793fe4e980371924'
            '516f60bdb28f7a0cb6c8f1f84c656ee7c6aec8feb393538f227ed515372ac88a'
            '79e0c9cc6f81ee40f3e3efb15b5602640c891105f78e8add6b47a05e7a9221c4')

package() {
  mkdir -p "$pkgdir"/usr/src
  cp -r "$_pkgname-$pkgver-COPR" "$pkgdir"/usr/src/"$_pkgname-$pkgver-COPR"
  cd "$pkgdir"/usr/src/kvdo-"$pkgver-COPR"
  patch --forward --strip=0 -i "$srcdir"/config_hz.patch
  cd "$srcdir"
  sed -e "s/@PKGVER@/${pkgver}-COPR/" dkms.conf > "$pkgdir"/usr/src/"$_pkgname-$pkgver-COPR"/dkms.conf
}

config_hz.patch:

--- vdo/kernel/histogram.c  2020-12-10 15:44:20.579469737 -0800
+++ vdo/kernel/histogram.c  2020-12-10 15:44:36.982834361 -0800
@@ -595,8 +595,10 @@
    * If these fail, we have a jiffy duration that is not an integral number of
    * milliseconds, and the unit conversion code needs updating.
    */
+/* I live on the edge
   STATIC_ASSERT(HZ <= MSEC_PER_SEC);
   STATIC_ASSERT((MSEC_PER_SEC % HZ) == 0);
+*/
   return makeLogarithmicHistogramWithConversionFactor(parent, name, initLabel,
                                                       countedItems,
                                                       metric, "milliseconds",

mushrewm commented on 2020-05-12 02:40

I made a patch[1] to this repo to get it building again on the latest kernels.

[1] https://gist.github.com/SeamusConnor/90394a58cdc1d30c396a1c43f206768e

zapp-brannigan commented on 2020-04-15 16:35

I guess they will fix it upstream. Meanwhile i suggest you to use linux-lts.

dsoul commented on 2020-04-15 06:21

Please add patches for kernel 5.6

https://github.com/dm-vdo/kvdo/issues/29#issuecomment-592686755

zapp-brannigan commented on 2020-03-13 18:37

Kernelswitching is a good point, hadn't that in mind. With the next upstreamrelease i will apply the patch unconditionally.

jgottula commented on 2020-03-12 23:45

@zapp-brannigan Thanks for integrating that! It works great, though with a caveat:

You're conditionally applying the patch and printing the warning in the PKGBUILD package() function based on the config of whichever kernel is running at the time of packaging. And because this is a DKMS package, one copy of the source code is installed in /usr/src/, which is then later compiled for potentially all the different kernels that a user may have installed on their system.

So, as an example, if a user happens to have booted with linux-lts and builds the package at that time, then they won't get the warning message, and the module source code installed to the system won't have the patch. So if that user also has stock linux installed and decides to reboot into that, they won't have a working kvdo module: the DKMS build for that kernel will fail / have failed.

The best course of action, I think, would be to apply the patch unconditionally (seeing as it has no effect on the other CONFIG_HZ values anyway). And then maybe see if there's an easy way to move the warning message into the DKMS config file, or perhaps one of the Makefiles, or something like that, such that it gets printed at the time of dkms build / dkms install. (Or maybe just leave the warning in package(), print it unconditionally, and trust that users will take note of it if they believe it concerns their setup.)

But anyway. For the simple case of always booting with the stock linux kernel, and running the makepkg for this while running under that kernel, the package does currently do basically the right thing.

zapp-brannigan commented on 2020-03-12 17:43

Updated the pkgbuild. @jgottula maybe you can test it (i'm on linux-lts...)?