[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Upstart & kFreeBSD port for Debian



Hi!

On Wed, 2013-05-22 at 01:47:42 +0100, Dmitrijs Ledkovs wrote:
> On 22 May 2013 01:16, Michael Biebl <biebl@debian.org> wrote:
> > Am 22.05.2013 02:00, schrieb Dmitrijs Ledkovs:
> >> On 21 May 2013 21:53, Lucas Nussbaum <lucas@debian.org> wrote:
> >>> On 20/05/13 at 18:19 +0200, Michael Stapelberg wrote:
> >>> - Neither systemd nor upstart are likely to be ported to kfreebsd soon,
> >>>   as they both rely on many Linux-specific features and interfaces.

> >> Well, Colin Watson, Matthias Klose, Steve Langasek, James Hunt and I
> >> have discussed the state of the kfreebsd possibility a few times over
> >> the past year or so.

I started porting libnih and upstart to GNU/kFreeBSD some months ago,
just for fun, whenever I had nothing else to do. But then I'm not
interested in assigning my copyright to a for-profit company that is
not employing me (and no, this is not a job request); so I didn't
post anything yet, because I don't use upstart, didn't want to promise
anything (still don't), and it would present as an _interesting_
situation for the Debian upstart maintainers (either reject the
patches or carry them forever as a small fork...).

> >> It boiled down to: if we have waitid & inotify it should be possible
> >> to have a reasonable stab at doing a kfreebsd port for the system-wide
> >> upstart init (with libnih and mountall). For session init we currently
> >> do use prctl to set subreaper, but one can still have session upstart
> >> init without that syscall.
> >>
> >> Was there something else needed? Or can anyone else spot other "big
> >> incompatible" chunks of code?
> >
> > https://lists.debian.org/debian-bsd/2009/07/msg00122.html

I think I've posted this multiple times, whenever those items lists
are posted:

  <http://www.hadrons.org/~guillem/debian/ports/porting>

> Going down the list:
> 
>  - inotify  -  internetz tell me kevents/kqueue is the way to go
>  - waitid() - issue closed in FreeBSD in February 2013, is it usable?
>  - epoll, eventfd, signalfd, timerfd - again internetz tell me
> kevents/kqueue can do all of this, better yet there is libevent that
> can do those portably across linux and bsd
>  - ptrace - FreeBSD does have ptrace - differences in api/capabilities?

ptrace has some parts commonly implemented in most (if not all)
Unices, and some other system specific ones.

> I didn't know about either of these =) looks awesome. Need to look
> into how upstart is using those, to see how necessary those are and
> how to implement them on FreeBSD.
>  - netlink proc connector
>  - netlink udev interface
> 
> > Nothing really happened since 2009, so I wouldn't hold my breath
> > regarding a *BSD port.
> 
> Apart from FreeBSD folks implementing just recently waitid()?! =)))
> That's huge.

  <20121124212846.GA10578@gaara.hadrons.org>
  <20121124232556.GA17136@gaara.hadrons.org>

As mentioned on the porting guide above, waitid() should be replaceable
with kqueue's EVFILT_PROC anyway.

Thanks,
Guillem


Reply to: