X-Original-To: alpine-devel@mail.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from mail.alpinelinux.org (dallas-a1.alpinelinux.org [127.0.0.1]) by mail.alpinelinux.org (Postfix) with ESMTP id 8BD90DC05F2 for ; Mon, 27 Jul 2015 03:09:32 +0000 (UTC) Received: from mail-ig0-f172.google.com (mail-ig0-f172.google.com [209.85.213.172]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mail.alpinelinux.org (Postfix) with ESMTPS id 57334DC00D9 for ; Mon, 27 Jul 2015 03:09:32 +0000 (UTC) Received: by igbpg9 with SMTP id pg9so60219185igb.0 for ; Sun, 26 Jul 2015 20:09:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=uO7UcIKbISlMcFpEMg2yMvgk40cn2IYHQnpGfgg54AU=; b=FmIGMA29iymR3EcrV3uEazmH8MYGnaXWVHVymWsmz7hvFYfj4KeiuFLTx4NE7A/luf LPdEcOSMXoyM2v9UniFCd9KbcrmGkpZduVYpKNfgMmYJnPdr2AVnF00tf3OU8RFa0dnm +XcBEiJFfVqXqrTPPNyZ/4sreT8blWqr1MYYp4ZU+etYnxuVbrz19xZz2Sm8Nz0L+9S4 yLNk+/EAPISJVIqRrO0EHdMCa4cZ1GVAnbxAd22RqKoC188u0QpYgE3kPfESCqpkNwa0 J3CHWN4i8M3z2FPMyDHh2kiD6OOoQv+LdOGcXnPTjkOT1EJEtjud59S2MuN6GH2YPhRs BMrQ== X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 X-Received: by 10.50.56.10 with SMTP id w10mr13397769igp.3.1437966571506; Sun, 26 Jul 2015 20:09:31 -0700 (PDT) Received: by 10.64.81.164 with HTTP; Sun, 26 Jul 2015 20:09:31 -0700 (PDT) Date: Sun, 26 Jul 2015 23:09:31 -0400 Message-ID: Subject: Re: [alpine-devel] udev replacement in Alpine Linux From: Jude Nelson To: alpine-devel@lists.alpinelinux.org Content-Type: multipart/alternative; boundary=089e0158b064b19248051bd2aecf X-Virus-Scanned: ClamAV using ClamSMTP --089e0158b064b19248051bd2aecf Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable > From: Christoph Lohmann <20h_at_r-36.net> > Date: Sun, 26 Jul 2015 12:10:26 +0200 Hi Christoph, > For compatibility reasons the libudev=E2=80=90compat needs to be ripped > off into a separate project so you don=E2=80=99t infect smdev with system= d code. > The libudev compatibility is especially needed for X.org and dynamic > uevent device discovery. Feel free to fork mine if you'd like :) Please keep in mind that it is LGPLv2, since it is forked from libudev. > * Rip off libudev-compat from vdev and have it a separate package, if needed. You may also be interested in the scripts, auxiliary programs, and hardware database vdevd uses to communicate with libudev-compat. Some of the more relevant files are linked at the end of this email [0]. > Please don=E2=80=99t use vdev. It does not follow the KISS principles and= uses > C++. The namespace for gid/uid is a big hack which should be in the > kernel, as it is in Plan 9. Vdevd and libudev-compat are written in a combination of C and shell (dash). If you want to be specific, vdevd is written in C99, while libudev-compat uses some GNU extensions (hold-overs from when it was forked). The filesystem add-on uses a couple C++ STL containers at the moment, but a C rewrite is in progress (see [1]). As mentioned earlier, the filesystem add-on is wholly optional, and not needed for "normal" use--if all you want from the vdev project is something to replace udev and libudev, then vdevd and libudev-compat are sufficient (substitute vdevd with nldev+mdev+mdev-script-to-vdev-script-wrapper as desired). Thanks, -Jude [0] libudev-compat communication: * https://github.com/jcnelson/vdev/blob/master/vdevd/helpers/LINUX/event-push= .sh * https://github.com/jcnelson/vdev/blob/master/vdevd/helpers/LINUX/event-put.= c * https://github.com/jcnelson/vdev/blob/master/vdevd/helpers/LINUX/subr.sh * https://github.com/jcnelson/vdev/blob/master/vdevd/helpers/LINUX/subr-event= .sh * https://github.com/jcnelson/vdev/blob/master/vdevd/helpers/LINUX/udev-compa= t.sh libudev-compat hardware database: * https://github.com/jcnelson/vdev/blob/master/vdevd/helpers/LINUX/hwdb-props= .sh * https://github.com/jcnelson/vdev/blob/master/vdevd/helpers/LINUX/hwdb.sh * https://github.com/jcnelson/vdev/blob/master/vdevd/helpers/LINUX/subr-hwdb.= sh * https://github.com/jcnelson/vdev/blob/master/hwdb/gen_database.sh [1] The biggest blocker is the dependency libfskit. However, libfskit is basically C with STL containers, and is being modified to use sglib-style containers instead (i.e. the changes aren't significant). You can track the progress here: https://github.com/jcnelson/fskit/issues/10 --089e0158b064b19248051bd2aecf Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
> From: Christoph Lohmann <20h_at_r-36.net>
> Date: Sun, 26 Jul 201= 5 12:10:26 +0200

Hi Christoph,

>=C2=A0For compatibility reasons the libudev=E2= =80=90compat needs to be ripped=C2=A0> off into a separate project so you don=E2=80=99t i= nfect smdev with systemd code.=C2=A0
> The libudev compatibility is especially needed for X.org and dynam= ic=C2=A0
> uevent device disco= very.=C2=A0

Feel free to fork mine if you'd like :) =C2=A0Please keep in mi= nd that it is LGPLv2, since it is forked from libudev.

>=C2=A0<= span style=3D"color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:13= .2799997329712px">* Rip off libudev-compat from vdev and have it a separate= package, if needed.=C2=A0

You may also be interested in the scripts, auxiliary programs,= and hardware database vdevd uses to communicate with libudev-compat.=C2=A0= Some of the more relevant files are linked at the end of this email [0].
>=C2=A0Please don=E2=80=99t use vdev. It does n= ot follow the KISS principles and uses=C2=A0
> C++. The namespace for gid/uid is a big hack which should = be in the=C2=A0
> kernel, as i= t is in Plan 9.=C2=A0

Vdevd and libudev-compat are written in = a combination of C and shell (dash).=C2=A0 If you want to be specific, vdev= d is written in C99, while libudev-compat uses some GNU extensions (hold-ov= ers from when it was forked).
=
The filesystem add-on use= s a couple C++ STL containers at the moment, but a C rewrite is in progress= (see [1]).=C2=A0 As mentioned earlier, the filesystem add-on is wholly opt= ional, and not needed for "normal" use--if all you want from the = vdev project is something to replace udev and libudev, then vdevd and libud= ev-compat are sufficient (substitute vdevd with nldev+mdev+mdev-script-to-v= dev-script-wrapper as desired).

Thanks,
-Jude

<= /div>
libudev-compat hardware database:

[1] The biggest blocker is the d= ependency libfskit.=C2=A0 However, libfskit is basically C with STL contain= ers, and is being modified to use sglib-style containers instead (i.e. the = changes aren't significant).=C2=A0 You can track the progress here: =C2= =A0https://github.c= om/jcnelson/fskit/issues/10


--089e0158b064b19248051bd2aecf-- --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---