[oe] [RFC] remove CONFIG_SYSFS_DEPRECATED from kernels
Stanislav Brabec
utx at penguin.cz
Fri May 29 19:31:14 UTC 2009
Hallo.
I would like to propose removal of CONFIG_SYSFS_DEPRECATED* from all
kernel configurations. Only distros with ancient kernels without udev,
distros with proprietary applications depending on the old /sys
structure should stick at the old /sys structure (and old udev).
It would be nice to migrate all updated distros to the new /sys
structure. All major desktop distributions migrated several years ago
and we may expect end of support of the old /sys layout (udev already
did it).
Migration should simplify life of developers of hardware control
utilities.
For the migration see instructions below. It should be easy to migrate.
For example migration of angstrom for spitz required probably just one
line change in the whole distro.
Rationale:
CONFIG_SYSFS_DEPRECATED* forces old /sys file system structure, which
was deprecates sometimes around linux-2.6.15. Major distributions
already left this structure (before 2007).
Sticking with the deprecated /sys structure may bring problems for new
versions of software. For example latest udev does not support
CONFIG_SYSFS_DEPRECATED* any more.
Actually, CONFIG_SYSFS_DEPRECATED* together with udev-141 breaks
touchscreen in the latest oe.dev angstrom builds.
http://projects.linuxtogo.org/pipermail/angstrom-distro-devel/2009-May/003252.html
Instructions:
Use script below to find potential candidates (users of changed parts
of /sys).
Then skip packages that are maintained and packaged for major
distributions. They were already fixed.
Check the rest for following problems:
- Absolute paths into /sys/class. These paths may change.
- Not expecting symlinks in /sys/class. /sys/class will now contain
directories with symlinks instead of directories. (=> commands with -R
will not recurse)
#!/bin/sh
cd tmp/work
grep -rl '/sys/\(class\|devices\)' */*/install 2>/dev/null |
sed 's:^[^/]*/::;s:/.*::' |
uniq >../../sys_accesses.lst
grep -rl '/sys/\(block\|bus\|class\|dev\|devices\|firmware\|fs\|kernel\|module\|power\)' */*/*/configure* 2>/dev/null |
sed 's:^[^/]*/::;s:/.*::' |
uniq >../../sys_host_checks.lst
________________________________________________________________________
Stanislav Brabec
http://www.penguin.cz/~utx/zaurus
More information about the Openembedded-devel
mailing list