Add dkms packaging for our kernel modules
This commit is contained in:
parent
928ebdba5a
commit
c32e200638
12 changed files with 184 additions and 0 deletions
13
kernel/Makefile
Normal file
13
kernel/Makefile
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#/usr/bin/make
|
||||
VERSION = 1
|
||||
SRC = $(DESTDIR)/usr/src
|
||||
|
||||
all:
|
||||
|
||||
clean:
|
||||
|
||||
install:
|
||||
install -d $(SRC)
|
||||
for d in ashmem binder ; do \
|
||||
cp -a $$d $(SRC)/anbox-modules-$$d-$(VERSION) ; \
|
||||
done
|
||||
7
kernel/ashmem/dkms.conf
Normal file
7
kernel/ashmem/dkms.conf
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
PACKAGE_NAME="anbox-ashmem"
|
||||
PACKAGE_VERSION="1"
|
||||
CLEAN="make clean"
|
||||
MAKE[0]="make all KVERSION=$kernelver"
|
||||
BUILT_MODULE_NAME[0]="ashmem_linux"
|
||||
DEST_MODULE_LOCATION[0]="/updates"
|
||||
AUTOINSTALL="yes"
|
||||
7
kernel/binder/dkms.conf
Normal file
7
kernel/binder/dkms.conf
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
PACKAGE_NAME="anbox-binder"
|
||||
PACKAGE_VERSION="1"
|
||||
CLEAN="make clean"
|
||||
MAKE[0]="make all KVERSION=$kernelver"
|
||||
BUILT_MODULE_NAME[0]="binder_linux"
|
||||
DEST_MODULE_LOCATION[0]="/updates"
|
||||
AUTOINSTALL="yes"
|
||||
5
kernel/debian/README.Debian
Normal file
5
kernel/debian/README.Debian
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
MODULE_NAME DKMS module for Debian
|
||||
|
||||
This package was automatically generated by the DKMS system,
|
||||
for distribution on Debian based operating systems.
|
||||
|
||||
5
kernel/debian/changelog
Normal file
5
kernel/debian/changelog
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
anbox-modules-dkms (1) xenial; urgency=low
|
||||
|
||||
* Initial release.
|
||||
|
||||
-- Simon Fels <morphis@gravedo.de> Mon, 06 Feb 2017 21:43:58 +0100
|
||||
1
kernel/debian/compat
Normal file
1
kernel/debian/compat
Normal file
|
|
@ -0,0 +1 @@
|
|||
7
|
||||
14
kernel/debian/control
Normal file
14
kernel/debian/control
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Source: anbox-modules-dkms
|
||||
Section: misc
|
||||
Priority: optional
|
||||
Maintainer: Simon Fels <morphis@gravedo.de>
|
||||
Build-Depends: debhelper (>= 7), dkms
|
||||
Standards-Version: 3.9.7
|
||||
|
||||
Package: anbox-modules-dkms
|
||||
Architecture: all
|
||||
Depends: dkms (>= 1.95), ${misc:Depends}
|
||||
Description: Android kernel driver (binder, ashmem) in DKMS format.
|
||||
.
|
||||
This package contains a out-of-tree version of the core Android
|
||||
kernel functionalities binder and ashmem.
|
||||
37
kernel/debian/copyright
Normal file
37
kernel/debian/copyright
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: anbox
|
||||
Source: http://github.com/anbox
|
||||
|
||||
files: debian/* Makefile
|
||||
Copyright: 2017 Simon Fels <morphis@gravedo.de>
|
||||
License: GPL-3
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the the GNU General Public License version 3, as
|
||||
published by the Free Software Foundation.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranties of
|
||||
MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the applicable version of the GNU Lesser General Public
|
||||
License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
.
|
||||
On Debian systems, the complete text of the GNU General Public License
|
||||
can be found in `/usr/share/common-licenses/GPL-3'
|
||||
|
||||
|
||||
files: ashmem/* binder/*
|
||||
Copyright: 2008-2012 Google Inc.
|
||||
License: GPL-2
|
||||
Copyright (C) 2008-2012 Google, Inc.
|
||||
.
|
||||
This software is licensed under the terms of the GNU General Public
|
||||
License version 2, as published by the Free Software Foundation, and
|
||||
may be copied, distributed, and modified under those terms.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
1
kernel/debian/dirs
Normal file
1
kernel/debian/dirs
Normal file
|
|
@ -0,0 +1 @@
|
|||
usr/src
|
||||
51
kernel/debian/postinst
Executable file
51
kernel/debian/postinst
Executable file
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/sh
|
||||
# Copyright (C) 2002-2005 Flavio Stanchina
|
||||
# Copyright (C) 2005-2006 Aric Cyr
|
||||
# Copyright (C) 2007 Mario Limonciello
|
||||
# Copyright (C) 2009 Alberto Milone
|
||||
|
||||
set -e
|
||||
|
||||
NAME=anbox-modules
|
||||
PACKAGE_NAME=$NAME-dkms
|
||||
DEB_NAME=$(echo $PACKAGE_NAME | sed 's,_,-,')
|
||||
CVERSION=`dpkg-query -W -f='${Version}' $DEB_NAME | awk -F "-" '{print $1}' | cut -d\: -f2`
|
||||
ARCH=`dpkg --print-architecture`
|
||||
|
||||
dkms_configure () {
|
||||
for POSTINST in /usr/lib/dkms/common.postinst "/usr/share/$PACKAGE_NAME/postinst"; do
|
||||
if [ -f "$POSTINST" ]; then
|
||||
for d in ashmem binder ; do
|
||||
"$POSTINST" "$NAME-$d" "$CVERSION" "/usr/share/$PACKAGE_NAME" "$ARCH" "$2"
|
||||
done
|
||||
return 0
|
||||
fi
|
||||
echo "WARNING: $POSTINST does not exist." >&2
|
||||
done
|
||||
echo "ERROR: DKMS version is too old and $PACKAGE_NAME was not" >&2
|
||||
echo "built with legacy DKMS support." >&2
|
||||
echo "You must either rebuild $PACKAGE_NAME with legacy postinst" >&2
|
||||
echo "support or upgrade DKMS to a more current version." >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
dkms_configure
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
28
kernel/debian/prerm
Executable file
28
kernel/debian/prerm
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
#!/bin/sh
|
||||
|
||||
NAME=anbox-modules-dkms
|
||||
VERSION=1
|
||||
|
||||
set -e
|
||||
|
||||
case "$1" in
|
||||
remove|upgrade|deconfigure)
|
||||
if [ "`dkms status -m $NAME`" ]; then
|
||||
dkms remove -m $NAME -v $VERSION --all
|
||||
fi
|
||||
;;
|
||||
|
||||
failed-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "prerm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
15
kernel/debian/rules
Executable file
15
kernel/debian/rules
Executable file
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/make -f
|
||||
# -*- makefile -*-
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
DEB_NAME=anbox-modules
|
||||
|
||||
include /usr/share/dpkg/default.mk
|
||||
|
||||
%:
|
||||
dh $@ --parallel --fail-missing
|
||||
|
||||
override_dh_install:
|
||||
$(MAKE) DESTDIR=$(CURDIR)/debian/$(DEB_NAME)-dkms install
|
||||
Loading…
Add table
Add a link
Reference in a new issue