Merge pull request #7339 from marcin-/master

version bump, add pakhandler.py
This commit is contained in:
marcin
2020-01-06 23:09:14 +01:00
committed by GitHub
3 changed files with 76 additions and 14 deletions
+5 -6
View File
@@ -4,14 +4,13 @@
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/copyleft/gpl.txt
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get
def build():
autotools.make()
def install():
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
pisitools.dosbin("dkms")
pisitools.doman("dkms.8")
pisitools.insinto("/usr/share/bash-completion/completions", "dkms.bash-completion", "dkms")
pisitools.insinto("/etc/dkms", "dkms_framework.conf", "framework.conf")
pisitools.insinto("/var/lib/dkms", "dkms_dbversion")
pisitools.dodoc("AUTHORS", "COPYING", "README*", "TODO")
+52
View File
@@ -0,0 +1,52 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import piksemel
import subprocess
def generate_initrd(kver):
subprocess.call(["/usr/bin/mkinitcpio","-k","%s"% kver ,"-g","/boot/initramfs-%s-fallback.img"% kver,"-S","autodetect"])
subprocess.call(["/usr/bin/mkinitcpio","-k","%s"% kver ,"-c","/etc/mkinitcpio.conf","-g","/boot/initramfs-%s.img"% kver])
def get_kver():
with open("/etc/kernel/kernel") as f:
return f.readline().strip()
def run_dkms(name, version, kver, arch):
os.system("dkms build -m %s -v %s -k %s -a %s" % (name, version, kver, arch))
os.system("dkms install -m %s -v %s -k %s -a %s" % (name, version, kver, arch))
def buildModules(metapath, filepath):
if piksemel.parse(metapath).getTag("Package").getTagData("Name") == "kernel-module-headers":
kver = get_kver()
arch = piksemel.parse(metapath).getTag("Package").getTagData("Architecture").replace("_", "-")
# rebuild if /usr/src/*/dkms.conf exists
for d in os.walk("/usr/src").next()[1]:
if os.path.isfile("/usr/src/%s/dkms.conf" % d):
name, version = d.split("-")
run_dkms(name, version, kver, arch)
generate_initrd(kver)
return
parse = piksemel.parse(filepath)
for fp in parse.tags("File"):
path = fp.getTagData("Path")
# build if package has /usr/src/*/dkms.conf
if path.endswith("/dkms.conf") and path.startswith("usr/src/"):
name = path.split("/")[-2].split("-")[0]
version = path.split("/")[-2].split("-")[1]
kver = get_kver()
arch = piksemel.parse(metapath).getTag("Package").getTagData("Architecture").replace("_", "-")
run_dkms(name, version, kver, arch)
generate_initrd(kver)
return
def setupPackage(metapath, filepath):
buildModules(metapath, filepath)
def cleanupPackage(metapath, filepath):
pass
def postCleanupPackage(metapath, filepath):
pass
+19 -8
View File
@@ -3,34 +3,45 @@
<Name>dkms</Name>
<Homepage>http://linux.dell.com/dkms</Homepage>
<Packager>
<Name>Ertan Güven</Name>
<Email>ertan@pisilinux.org</Email>
<Name>Marcin Bojara</Name>
<Email>marcin.bojara@gmail.com</Email>
</Packager>
<License>GPLv2</License>
<PartOf>hardware.misc</PartOf>
<IsA>kernel</IsA>
<Summary>Dynamic Kernel Module Support</Summary>
<Description>DKMS is a dynamic kernel module support framework.</Description>
<BuildDependencies>
<Dependency>kernel-headers</Dependency>
</BuildDependencies>
<Archive sha1sum="9cdfecc29116d578e693cf3273ea9695d9471cf2" type="targz">https://github.com/dell/dkms/archive/v2.6.1.tar.gz</Archive>
<Archive sha1sum="d4c4e2d160d6119f8757d6a4a4c364f0f770cc43" type="targz">https://github.com/dell/dkms/archive/v2.8.1.tar.gz</Archive>
</Source>
<Package>
<Name>dkms</Name>
<RuntimeDependencies>
<Dependency>kernel-headers</Dependency>
<Dependency>gcc</Dependency>
<Dependency>bash</Dependency>
<Dependency>kmod</Dependency>
<Dependency>make</Dependency>
<Dependency>coreutils</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="config">/etc</Path>
<Path fileType="library">/usr/lib</Path>
<Path fileType="executable">/usr/sbin</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="man">/usr/share/man</Path>
<Path fileType="data">/var/lib</Path>
<Path fileType="data">/usr/share/bash-completion</Path>
</Files>
<Provides>
<COMAR script="pakhandler.py">System.PackageHandler</COMAR>
</Provides>
</Package>
<History>
<Update release="6">
<Date>2020-01-06</Date>
<Version>2.8.1</Version>
<Comment>Version bump. Add pakhandler.py</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin.bojara@gmail.com</Email>
</Update>
<Update release="5">
<Date>2018-09-01</Date>
<Version>2.6.1</Version>