:: Re: [DNG] vdev
Startseite
Nachricht löschen
Nachricht beantworten
Autor: aitor_czr
Datum:  
To: fsmithred, Tom H, dng
Betreff: Re: [DNG] vdev

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.