Sie sind nicht angemeldet.

1

03.05.2015, 14:01

Ebuild für tuxedo-wmi findet Makefile nicht

Hallo zusammen,

ich bräuchte mal wieder Hilfe bei einem ebuild:

Ich habe ein Tuxedo Notebook und um den Flight-Modus benutzen zu können, bietet Tuxedo ein kleines Kernel-Modul an: "tuxedo-wmi". Dieses kann ich problemlos runterladen, entpacken, übersetzen und installieren.

Ich will das aber nun gerne als ebuild in meinem lokale Overlay haben. Ich habs so weit mal versucht und auch ein anders ähnliches ebuild (clevo-wmi ) gefunden und mich daran ein wenig orientiert. Allerdings gibts ne Fehlermeldung (findet das Makefile nicht, das in src ist.).

Kann mir jemand bitte helfen, was ich falsch mache? Im Tarball ist nur ein Ordner 'src' da müsste man rein wechseln, 'make all' und 'make install' ausführen und es als Kernelmodul deklarieren, damit es bei einem @module-rebuild mit in einen neueren Kernel gezogen wird.

Mein bisheriges ebuild:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5

inherit linux-mod

DESCRIPTION="TUXEDO WMI Treiber - Flugmodus-Taste und Tastaturbeleuchtung"
HOMEPAGE="http://www.linux-onlineshop.de/forum/index.php?page=Thread&threadID=26&"

SRC_URI="http://xyz.de/tuxedo-wmi-1.5.1.src.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""

DEPEND="virtual/linux-sources
    	sys-kernel/linux-headers"
RDEPEND=""

MODULE_NAMES="tuxedo_wmi(wmi:${S})"

# Kernel config auf ACPI_WMI testen:
pkg_pretend() {
    	CONFIG_CHECK="ACPI_WMI"
    	check_extra_config
}

pkg_setup() {
    	linux-mod_pkg_setup
    	BUILD_TARGETS="all"
}

src_prepare() {
    	sed -i -e "s|KDIR :=.*|KDIR := ${KERNEL_DIR}|" \
      	Makefile || die "Failed to change Makefile"
}


Fehlermeldung bzw. log:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 * Package:	app-misc/tuxedo-wmi-1.5.1
 * Repository: lokal
 * USE:    	abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU
 * FEATURES:   preserve-libs sandbox userpriv usersandbox
 * Determining the location of the kernel source code
 * Found kernel source directory:
 * 	/usr/src/linux
 * Found sources for kernel version:
 * 	3.18.11-gentoo-archlinux-lts-C
>>> Unpacking source...
>>> Unpacking tuxedo-wmi-1.5.1.src.tar.gz to /home/.portage/tmp/portage/app-misc/tuxedo-wmi-1.5.1/work
>>> Source unpacked in /home/.portage/tmp/portage/app-misc/tuxedo-wmi-1.5.1/work
>>> Preparing source in /home/.portage/tmp/portage/app-misc/tuxedo-wmi-1.5.1/work/tuxedo-wmi-1.5.1 ...
sed: can't read Makefile: No such file or directory
 * ERROR: app-misc/tuxedo-wmi-1.5.1::lokal failed (prepare phase):
 *   Failed to change Makefile
 * 
 * Call stack:
 * 	ebuild.sh, line  93:  Called src_prepare
 *   environment, line 3006:  Called die
 * The specific snippet of code:
 *   	sed -i -e "s|KDIR :=.*|KDIR := ${KERNEL_DIR}|" Makefile || die "Failed to change Makefile"
 * 
 * If you need support, post the output of `emerge --info '=app-misc/tuxedo-wmi-1.5.1::lokal'`,
 * the complete build log and the output of `emerge -pqv '=app-misc/tuxedo-wmi-1.5.1::lokal'`.
 * The complete build log is located at '/home/.portage/tmp/portage/app-misc/tuxedo-wmi-1.5.1/temp/build.log'.
 * The ebuild environment file is located at '/home/.portage/tmp/portage/app-misc/tuxedo-wmi-1.5.1/temp/environment'.
 * Working directory: '/home/.portage/tmp/portage/app-misc/tuxedo-wmi-1.5.1/work/tuxedo-wmi-1.5.1'
 * S: '/home/.portage/tmp/portage/app-misc/tuxedo-wmi-1.5.1/work/tuxedo-wmi-1.5.1'

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »hafgan« (15.03.2016, 17:40)


2

04.05.2015, 18:23

Hallo,

OK, bin ein Stück weiter gekommen und es läuft nun durch. Musste bei jedem Schritt erneut ins 'src' Verzeichnis wechseln. Es bleiben aber noch Fragen offen:

- Wie kann man das Modul bei einem @module-rebuild mit anziehen lassen (bei Kernelupdate muss es ja neu gebaut werden)
- Wie kann man das Wechseln ins 'src' Verzeichnis eleganter mittels Variable lösten?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5

inherit linux-mod

DESCRIPTION="TUXEDO WMI Treiber - Flugmodus-Taste und Tastaturbeleuchtung"
HOMEPAGE="http://www.linux-onlineshop.de/forum/index.php?page=Thread&threadID=26&"

SRC_URI="http://hafgan.de/tuxedo-wmi-1.5.1.src.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""

DEPEND="virtual/linux-sources
	sys-kernel/linux-headers"
RDEPEND=""

MODULE_NAMES="tuxedo_wmi(wmi:${S})"

pkg_pretend() {
	CONFIG_CHECK="ACPI_WMI"
	check_extra_config
}

pkg_setup() {
	linux-mod_pkg_setup
	BUILD_TARGETS="all"
}

src_prepare() {
	cd "src"
	sed -i -e "s|KDIR :=.*|KDIR := ${KERNEL_DIR}|" \
	  Makefile || die "Failed to change Makefile"
}

src_compile() {
	cd "src"
}

src_install() {
	cd "src"
}

3

20.05.2015, 10:01

Hallo hafgan,
- Wie kann man das Modul bei einem @module-rebuild mit anziehen lassen (bei Kernelupdate muss es ja neu gebaut werden)
https://devmanual.gentoo.org/eclass-refe…nux-mod.eclass/

Ich denke es wird in linux-mod gemacht - linux-mod_pkg_postinst - es wird eine moduledb in /var/lib/module-rebuild/moduledb angelegt. Bei mir steht da zum Beispiel nvidia drin.

Quellcode

1
2
smk@evillinux ~ $ cat /var/lib/module-rebuild/moduledb 
a:1:x11-drivers/nvidia-drivers-349.16
knasan

- Bug oder Feature, das darf man sich hier aussuchen. -

4

15.03.2016, 17:39

Weil ich es gerade gefunden habe, ein funktionierendes ebuild:

https://github.com/gentoo/proxy-maintain…rnel/tuxedo-wmi