From owner-freebsd-hackers@freebsd.org Fri Mar 2 01:02:26 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3C0D1F39EFE for ; Fri, 2 Mar 2018 01:02:26 +0000 (UTC) (envelope-from jmaloney@ixsystems.com) Received: from mail-qt0-x22f.google.com (mail-qt0-x22f.google.com [IPv6:2607:f8b0:400d:c0d::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DA74D8360A for ; Fri, 2 Mar 2018 01:02:24 +0000 (UTC) (envelope-from jmaloney@ixsystems.com) Received: by mail-qt0-x22f.google.com with SMTP id j4so10058067qth.8 for ; Thu, 01 Mar 2018 17:02:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ixsystems-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=tnj+F1L7p/a3Xsj7XVfd+aUK/YX2CFrSPCdv+ioS/QI=; b=pDsPYJzUtQNepUUqp2r2ar1OvK49L4rSw6Kx12Pqs3dHt454ExbBCtLeznnx99VohL G/++h0lnEPeI07DeIojt9lwIbpsJW+vg10W3Gm+QHHGC/1t/RmZXbTi+alZnem6dlUAk d1YUg/mbQkrP2Q91h+sPc3j7/oQGeSSVEC8jgw8UiaVetWF6JxeR0vNSiGX+yxTyejwH CuBACgrN35wKSLMryHmpX+0jdATihCXCFLPj+tZme2hkAHfh9DS3gN9Cua3ng7AM1WgS Eso9rrDpL7/kH5BcNblWgWpY7RRWqgIGI+uP2uYUc1goM1TNv24XkcllHFsCv+/xe83Z CsXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=tnj+F1L7p/a3Xsj7XVfd+aUK/YX2CFrSPCdv+ioS/QI=; b=P0ikiaKWRIno0thICZHgIY90N/rQq8t2RNmAQKQja4x7ntvRGr0bfhfs09SoKXd2b1 rVbyWb4OAjx05RApCWjwPN43MzMQRmVtBj9CINuTGqTDX3qBB66V4W7GAUuZ494nrMz1 SyY190Xov9FgNoMfhzPm66FtYpQcJ1482uQYs4chbHJAN1NeWOVoC924EbFU+Cv5+ITs B0vN+QNXr4Ubc1OkQvEkUu6N8thFcSa5rhx0VWl0McHRKvNc5KW41io09alBKz0nw6+S 5/iji7tMzWW4rd5B8Fviy2ECJ0mPRcDmTV9ulj1CTzOxBBeq+5Ba5Vi2bfoQEWEdTWhT jOWg== X-Gm-Message-State: AElRT7E7TGyXrqe2cJ5YGYA0ZrjfLwnIyvclxR5MJSpN7BaZWDE1TZIL 5j1iRcsgRD7VqT8iuNQD+g1p6vDCzADFLIu17Tr8XZTn X-Google-Smtp-Source: AG47ELs1OiebKX+pJ5P36VQK1BcOgB1GV5QROXYRNq94/RRm+Xso5jMtew03gFb0DXWm2i0irvNmq1smwsCfSWlMvvc= X-Received: by 10.200.34.1 with SMTP id o1mr6212942qto.103.1519952543482; Thu, 01 Mar 2018 17:02:23 -0800 (PST) MIME-Version: 1.0 Received: by 10.237.63.125 with HTTP; Thu, 1 Mar 2018 17:02:23 -0800 (PST) From: Joe Maloney Date: Thu, 1 Mar 2018 20:02:23 -0500 Message-ID: Subject: OpenRC 0.35 for FreeBSD To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Mar 2018 01:02:26 -0000 Hello hackers, I have been working on a single diff version of OpenRC for FreeBSD: https://github.com/pkgdemon/freebsd/commit/b6885cd533c848a1b4f3582f48e40c883669b35c Why OpenRC? The licensing is right, and it's a way of adding modern features to service management without reinventing the wheel. That's my sales pitch. This newest itteration is a result of a year, and a half of feedback from the import into TrueOS. Eventually it will be upstreamed into TrueOS to further reduce the diff again between TrueOS, and FreeBSD. The single commit in this new fork allows coexistence with rc.d. It also uses dhcient again although there isn't a service to start it directly yet but it does get started with netif. I have just recently replaced OpenRC's bootmisc service with a dummy service that launches cleartmp, cleanvar. Once I replace the remaining 7 or so scripts with FreeBSD converted scripts I will rework the dependancies to remove the uncessary dummy scripts during a second audit. I have been working on a conversion tool which eases some of the conversion of the remaining 89, or so scripts. As is this implemtnation only touches top level Makefiles, mtree, adds new files, and adds a modified init which changes pathnames.h to call /etc/openrc. This is work in progress so I am not quite done, and I have been making tickets in the fork to keep track. I was thinking for example of making a kenv option which would allow a single init to switch pathnames settings perhaps. At the same time I was trying to avoid being intrusive by touching service, or init. So therefore there is service, and rc-service. There is init, and openrc-init. There is rc, and openrc. There is rc.shutdown, and openrc.shutdown. You just change init_path for loader, and that is that. I have full details in the wiki at the fork, and tickets for the items I plan to tackle next: https://github.com/pkgdemon/freebsd/wiki https://github.com/pkgdemon/freebsd/issues I have had a lot of fun working on this learning how base is tied together, how bsdinstall is started, learning the internals of rc.d scripts, etc. I would appreciate any feedback. Thanks. Joe Maloney