Hi all,
On 08/15/2016 10:41 AM, aitor wrote:
> Yesterday i tried to debianize linux-libre-4.6.2 without libudev-dev. 
> Here you are the resulting *.build file:
>
> In summary, the kernel also needs the existence of udev. I will remove 
> this requeriment, removing the following lines:
>
> AC_CHECK_HEADER([libudev.h],
>     [AC_CHECK_LIB([udev], [udev_new],
>         [LIBS="$LIBS -ludev"],
>         [AC_MSG_ERROR([Missing udev library!])])],
>     [AC_MSG_ERROR([Missing /usr/include/libudev.h])])
>
> from the kernel, in *//tools/usb/usbip/configure.ac/*
>
> Jude Nelsons libudev-compat-dev is included as a dependency in 
> debian/control, and we don't need to check anything.
>
> As you know, libudev-compat-dev provides /*libudev.h*/ package..., and 
> now i'll again without *udev.h*
>
> Cheers,
>
>   Aitor.
The second attempt failed again, getting a lot of:
[...] undefined reference to 'bla bla bla' [...]
I attach the new linux_4.6.2-3_i386.build:
http://gnuinos.org/linux_4.6.2-3_i386.build
No worries :)
I made a huge mistake!!  The following lines were not superfluous:
AC_CHECK_HEADER([libudev.h],
     [AC_MSG_ERROR([Missing /usr/include/libudev.h])])
Now, before a third attempt,  i had made sure that all of the missing 
libraries exist in libudev-compat-dev, and maybe in a few hour we will 
have a systemd-free kernel. This is the list:
struct udev *udev_new(void);
struct udev_enumerate *udev_enumerate_new(struct udev *udev);
int udev_enumerate_add_match_subsystem(struct udev_enumerate 
*udev_enumerate, const char *subsystem);
int udev_enumerate_add_nomatch_sysattr(struct udev_enumerate 
*udev_enumerate, const char *sysattr, const char *value);
int udev_enumerate_scan_devices(struct udev_enumerate *udev_enumerate);
struct udev_list_entry *udev_enumerate_get_list_entry(struct 
udev_enumerate *udev_enumerate);
struct udev_device *udev_device_unref(struct udev_device *udev_device);
struct udev_list_entry *udev_list_entry_get_next(struct udev_list_entry 
*list_entry);
const char *udev_list_entry_get_name(struct udev_list_entry *list_entry);
struct udev_device *udev_device_new_from_syspath(struct udev *udev, 
const char *syspath);
const char *udev_device_get_sysattr_value(struct udev_device 
*udev_device, const char *sysattr);
const char *udev_device_get_sysname(struct udev_device *udev_device);
struct udev_enumerate *udev_enumerate_unref(struct udev_enumerate 
*udev_enumerate);
struct udev *udev_unref(struct udev *udev);
struct udev_device *udev_device_new_from_subsystem_sysname(struct udev 
*udev, const char *subsystem, const char *sysname);
const char *udev_device_get_sysattr_value(struct udev_device 
*udev_device, const char *sysattr);
const char *udev_device_get_driver(struct udev_device *udev_device);
const char *udev_device_get_syspath(struct udev_device *udev_device);
const char *udev_device_get_sysname(struct udev_device *udev_device);
Cheers,
   Aitor.