Properly disable v4l on devices where it causes udev to hang (#1077)

Fixes #1033.
This commit is contained in:
Oliver Smith 2018-01-04 16:41:27 +00:00 committed by GitHub
parent a765968f8e
commit 89807436cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 24 additions and 47 deletions

View File

@ -1,6 +1,6 @@
pkgname=device-lg-hammerhead
pkgver=1
pkgrel=15
pkgrel=16
pkgdesc="Google Nexus 5"
url="https://github.com/postmarketOS"
arch="noarch"
@ -12,7 +12,6 @@ subpackages="$pkgname-weston $pkgname-x11"
source="
deviceinfo
90-android-touch-dev.rules
udev-v4l-hack.sh
profile.sh
bcmdhd.cal
weston.ini
@ -27,10 +26,12 @@ package() {
"$pkgdir"/etc/udev/rules.d/90-android-touch-dev.rules
install -Dm644 "$srcdir"/profile.sh \
"$pkgdir"/etc/profile.d/00-$pkgname.sh
install -Dm644 "$srcdir"/udev-v4l-hack.sh \
"$pkgdir"/etc/profile.d/00-udev-v4l-hack.sh
install -Dm644 "$srcdir"/bcmdhd.cal \
"$pkgdir"/etc/wifi/bcmdhd.cal
# Disable v4l (video4linux), because without the camera firmware
# blobs this makes dev hang with the kernel this device uses (#1033)
ln -s /dev/null "$pkgdir"/etc/udev/rules.d/60-persistent-v4l.rules
}
x11() {
@ -51,7 +52,6 @@ weston() {
sha512sums="be2eba28f0b766917c9369c2f72f337bbb987076f6bd0c80b023bcdcc68684077a375209ac967b038dc018f6633c6795544bad87b2180c04b981660a4d713b41 deviceinfo
ee25f3d0377f027d108593eb7953b8db49d7f05a5c36a0c8ca7e7849d15e3c217bc1ac97d77a66e28d2db4b81c0f50b905639911276da40321d2b6cca7f797df 90-android-touch-dev.rules
4f528656c4febb18742e89552dfe7fdc824ed4ad6ad2777d20b4f55040edd93d8e3ea657baabcdbe77bd0fb4bd3d23e5e0b2dae574f0df6723b2e26216ee81e1 udev-v4l-hack.sh
d04013c17caf77a87ebea167dbe48f7efa9c9d3123c5743d359f3ea8ccc6b268fa021535a4bf8291eb4a352f0c92f6eb527da0db340421f53bc1cc439a453306 profile.sh
32652ef366694f34dec31f316a38aca96700e3a5a3eac1f8d192e3c5de7b91e480b1c0fcd8e7c80a51692dc3737020ebbb2e5d3779436e82fb18822089c63055 bcmdhd.cal
4f321242005b4da012322a8e9bce14a3734281d6ab410f60e7c9c28a6df905876ccce65c3b914233f351118718ccd81b9be41724ee2099ca36d40b4cfff46b93 weston.ini

View File

@ -1,7 +0,0 @@
#!/bin/sh
if [ -e /lib/udev/v4l_id ]; then
mv /lib/udev/v4l_id /lib/udev/v4l_id_
echo "WARNING: v4l_id hangs with the current kernel."
echo "=> Moved it from /lib/udev/v4l_id to /lib/udev/v4l_id_"
fi

View File

@ -1,6 +1,6 @@
pkgname=device-lg-mako
pkgver=2
pkgrel=14
pkgrel=15
pkgdesc="Google Nexus 4"
url="https://github.com/postmarketOS"
arch="noarch"
@ -9,7 +9,7 @@ depends="linux-lg-mako mkbootimg"
makedepends=""
install=""
subpackages="$pkgname-weston"
source="deviceinfo 90-android-touch-dev.rules profile.sh udev-v4l-hack.sh pointercal fb.modes weston.ini"
source="deviceinfo 90-android-touch-dev.rules profile.sh pointercal fb.modes weston.ini"
options="!check"
package() {
@ -23,6 +23,10 @@ package() {
"$pkgdir"/etc/pointercal
install -Dm644 "$srcdir"/fb.modes \
"$pkgdir"/etc/fb.modes
# Disable v4l (video4linux), because without the camera firmware
# blobs this makes dev hang with the kernel this device uses (#1033)
ln -s /dev/null "$pkgdir"/etc/udev/rules.d/60-persistent-v4l.rules
}
weston() {
@ -34,7 +38,6 @@ weston() {
sha512sums="06f2e3641ed2bc6b6350d8b7ab6f3ac7da1e8376c9e0bd120167684aee5dd687168c47991d84dc75d5716df8dc89ce49e6647ecafe8e5ad6c259b163497725a8 deviceinfo
ee25f3d0377f027d108593eb7953b8db49d7f05a5c36a0c8ca7e7849d15e3c217bc1ac97d77a66e28d2db4b81c0f50b905639911276da40321d2b6cca7f797df 90-android-touch-dev.rules
d04013c17caf77a87ebea167dbe48f7efa9c9d3123c5743d359f3ea8ccc6b268fa021535a4bf8291eb4a352f0c92f6eb527da0db340421f53bc1cc439a453306 profile.sh
4f528656c4febb18742e89552dfe7fdc824ed4ad6ad2777d20b4f55040edd93d8e3ea657baabcdbe77bd0fb4bd3d23e5e0b2dae574f0df6723b2e26216ee81e1 udev-v4l-hack.sh
52b1465c75c51e2dc2e351a0609220af04b939b9edf7fca844cc00bb9eeb4e71f53e34817ba094e477fc43bf15101fcfd07963c791a36be5c52f199bba6a6d9d pointercal
217bdf692ade75d57968299e29e9379ffcfc97addf735663b3e1e7dfce049f9d13b26347b4405ac724ae5fac2946012dcc58014b23b8df357e225b6718dbc0a6 fb.modes
4f321242005b4da012322a8e9bce14a3734281d6ab410f60e7c9c28a6df905876ccce65c3b914233f351118718ccd81b9be41724ee2099ca36d40b4cfff46b93 weston.ini"

View File

@ -1,7 +0,0 @@
#!/bin/sh
if [ -e /lib/udev/v4l_id ]; then
mv /lib/udev/v4l_id /lib/udev/v4l_id_
echo "WARNING: v4l_id hangs with the current kernel."
echo "=> Moved it from /lib/udev/v4l_id to /lib/udev/v4l_id_"
fi

View File

@ -1,6 +1,6 @@
pkgname=device-motorola-titan
pkgver=1
pkgrel=18
pkgrel=19
pkgdesc="Motorola Moto G 2014"
url="https://github.com/postmarketOS"
arch="noarch"
@ -9,7 +9,7 @@ depends="linux-motorola-titan firmware-motorola-titan mkbootimg msm-fb-refresher
makedepends=""
install="$pkgname.post-install"
subpackages="$pkgname-weston"
source="deviceinfo 90-android-touch-dev.rules profile.sh udev-v4l-hack.sh weston.ini"
source="deviceinfo 90-android-touch-dev.rules profile.sh weston.ini"
options="!check"
package() {
@ -19,8 +19,10 @@ package() {
"$pkgdir"/etc/udev/rules.d/90-android-touch-dev.rules
install -Dm644 "$srcdir"/profile.sh \
"$pkgdir"/etc/profile.d/00-$pkgname.sh
install -Dm644 "$srcdir"/udev-v4l-hack.sh \
"$pkgdir"/etc/profile.d/00-udev-v4l-hack.sh
# Disable v4l (video4linux), because without the camera firmware
# blobs this makes dev hang with the kernel this device uses (#1033)
ln -s /dev/null "$pkgdir"/etc/udev/rules.d/60-persistent-v4l.rules
}
weston() {
@ -32,5 +34,4 @@ weston() {
sha512sums="efdd19f924659b92473d592c501c4ef8622cb09f1de17d1bea0bb371b2880e5da463fbea159ebec3806a5e90a8757cf6e87eb8feab8f2186b26cc198d8fad4bf deviceinfo
8406968cd554393ea1e350967c80810d059de2b1d33ea1302e265780c1f0110d64cf15a68c2f374981a88906d0317315e0a71995c85fd5eaf93bb47ed427529c 90-android-touch-dev.rules
d04013c17caf77a87ebea167dbe48f7efa9c9d3123c5743d359f3ea8ccc6b268fa021535a4bf8291eb4a352f0c92f6eb527da0db340421f53bc1cc439a453306 profile.sh
4f528656c4febb18742e89552dfe7fdc824ed4ad6ad2777d20b4f55040edd93d8e3ea657baabcdbe77bd0fb4bd3d23e5e0b2dae574f0df6723b2e26216ee81e1 udev-v4l-hack.sh
4f321242005b4da012322a8e9bce14a3734281d6ab410f60e7c9c28a6df905876ccce65c3b914233f351118718ccd81b9be41724ee2099ca36d40b4cfff46b93 weston.ini"

View File

@ -1,7 +0,0 @@
#!/bin/sh
if [ -e /lib/udev/v4l_id ]; then
mv /lib/udev/v4l_id /lib/udev/v4l_id_
echo "WARNING: v4l_id hangs with the current kernel."
echo "=> Moved it from /lib/udev/v4l_id to /lib/udev/v4l_id_"
fi

View File

@ -1,6 +1,6 @@
pkgname=device-sony-yuga
pkgver=1
pkgrel=6
pkgrel=7
pkgdesc="Sony Xperia Z"
url="https://github.com/postmarketOS"
arch="noarch"
@ -9,7 +9,7 @@ depends="linux-sony-yuga mkbootimg"
makedepends=""
install=""
subpackages=""
source="deviceinfo 90-android-touch-dev.rules fb-workaround.sh udev-v4l-hack.sh"
source="deviceinfo 90-android-touch-dev.rules fb-workaround.sh"
options="!check"
package() {
@ -19,11 +19,12 @@ package() {
"$pkgdir"/etc/udev/rules.d/90-android-touch-dev.rules
install -D -m644 "$srcdir"/fb-workaround.sh \
"$pkgdir"/etc/profile.d/fb-workaround.sh
install -D -m644 "$srcdir"/udev-v4l-hack.sh \
"$pkgdir"/etc/profile.d/00-udev-v4l-hack.sh
# Disable v4l (video4linux), because without the camera firmware
# blobs this makes dev hang with the kernel this device uses (#1033)
ln -s /dev/null "$pkgdir"/etc/udev/rules.d/60-persistent-v4l.rules
}
sha512sums="62023e5656ed6421706dc213a537d1084e2995d8d0d978c2810badc4309f334c25f465ec7fd100cbc7c1e4548fc270aeb87aa0e71a505c3af5fc1f48109bc376 deviceinfo
8b6034c0338ab4c7d648f47983aad6da07e427e7dba47baabf85a1b3ddeeda47c8d7fbcd547a302c9a759b2943ee30d3e82c3b368d8582833a058e4671638a9e 90-android-touch-dev.rules
281937447a73c18e8eec195cbf485fcd513aec20b8df559c26b89fbefa5872c41865cba2440e2cc8a9cc76801bca9ab61f9562c536c6f5f10c925e3ca7f372f3 fb-workaround.sh
4f528656c4febb18742e89552dfe7fdc824ed4ad6ad2777d20b4f55040edd93d8e3ea657baabcdbe77bd0fb4bd3d23e5e0b2dae574f0df6723b2e26216ee81e1 udev-v4l-hack.sh"
281937447a73c18e8eec195cbf485fcd513aec20b8df559c26b89fbefa5872c41865cba2440e2cc8a9cc76801bca9ab61f9562c536c6f5f10c925e3ca7f372f3 fb-workaround.sh"

View File

@ -1,7 +0,0 @@
#!/bin/sh
if [ -e /lib/udev/v4l_id ]; then
mv /lib/udev/v4l_id /lib/udev/v4l_id_
echo "WARNING: v4l_id hangs with the current kernel."
echo "=> Moved it from /lib/udev/v4l_id to /lib/udev/v4l_id_"
fi