From owner-freebsd-hackers@freebsd.org Mon Apr 29 14:06:25 2019 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 22460158F49C for ; Mon, 29 Apr 2019 14:06:25 +0000 (UTC) (envelope-from kris@ixsystems.com) Received: from mail-it1-x131.google.com (mail-it1-x131.google.com [IPv6:2607:f8b0:4864:20::131]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3B6F0829B2 for ; Mon, 29 Apr 2019 14:06:24 +0000 (UTC) (envelope-from kris@ixsystems.com) Received: by mail-it1-x131.google.com with SMTP id v143so5875677itc.1 for ; Mon, 29 Apr 2019 07:06:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ixsystems-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rkBXTnF4X5xo6I+15kt9hGs8sq+74DaaTGWyV1SenI4=; b=HNtcg/lv1HI8HPYZ1UR0iJ/cW3hCd/0PUXcXcPyjx56PWwbonrT24svfaV104XgS2M XyOCt4Y/3m4yigbe3f6vsDVKzufaoi3OOIIWQN302Vagm+9p7ANA6uRJG8bmjVXR9iGf RqEHUUu60vcMIhzY1jITqcCBc5FQF+In/GF1jMj8P3fs/UboF35nzEDu/3g3Qv62etch +U3L0D2v5JOTEWQmS5rnu1IUtXS+DkqZIRnmFPANEuUswWoLS01T8Ad2ThTfPwdhs+Qs /HecQh3HtK48CNUkqTtDIrCVQam0YDVmkmnwGJmywK2YP0AgvCOqmbB1OyGCtzZplgge Iwig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rkBXTnF4X5xo6I+15kt9hGs8sq+74DaaTGWyV1SenI4=; b=rLvPQ7QO5tSz3j6Hi/7y//PZ30CyONHUCKeuk7k1xorKAroH0JalUtpa2Cicndjm4w D+QbRkqrTHuRpvIQ8E+ddnO+2SqOSMknC4pAN1UG4wf/iO49DpLcFAbUqN1mVNaqtj52 nO4+a6doKMCIy2ZzVPwpKvhucNcFOfr9tv5PnzzlKtAjdp3gZORKErV5sDXNReJUIIRE RMqTTmBXO8kLUYZINHyGINPt+ZIFD5sIQqIYJodihgXHmiB9EU/IuZKxJE+z2VqciWpW Rbb/pUOxK8ihUcVOOWgOgsRaoKvipmL84HqhWy1VYUuHmbyGC0el2P9+i96KtHxR9+Ee 8fIA== X-Gm-Message-State: APjAAAXckJZGv5DvesTJUCVA3pVfQtrmD70IbKwI8wzcWu+g0ypxtirG ifMPguYdCZ/WjlHTFxpoTvUjUugm0HNoaaiiobXTzA== X-Google-Smtp-Source: APXvYqz+8g7dXIkrTysL5y4+vtcwYgi5jxDCKrjcP2POhFwsT/KjZyv8dXTDR8y6bks7xSMPkHppOYMkPM0FJ2Jt3vE= X-Received: by 2002:a24:f68a:: with SMTP id u132mr19235507ith.45.1556546770513; Mon, 29 Apr 2019 07:06:10 -0700 (PDT) MIME-Version: 1.0 References: <002901d4fdfb$e52eb890$af8c29b0$@ixsystems.com> <20190429141239.f9de62f6b6721112d7143cf6@bidouilliste.com> <20190429155522.81dcc291a6b252884219de1e@bidouilliste.com> In-Reply-To: <20190429155522.81dcc291a6b252884219de1e@bidouilliste.com> From: Kris Moore Date: Mon, 29 Apr 2019 10:05:59 -0400 Message-ID: Subject: Re: CFT: FreeBSD Package Base To: Emmanuel Vadot Cc: FreeBSD Stable , freebsd-pkg@freebsd.org, freebsd-hackers@freebsd.org, FreeBSD Current , freebsd-pkgbase@freebsd.org, freebsd-ports@freebsd.org X-Rspamd-Queue-Id: 3B6F0829B2 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ixsystems-com.20150623.gappssmtp.com header.s=20150623 header.b=HNtcg/lv; dmarc=pass (policy=none) header.from=ixsystems.com; spf=pass (mx1.freebsd.org: domain of kris@ixsystems.com designates 2607:f8b0:4864:20::131 as permitted sender) smtp.mailfrom=kris@ixsystems.com X-Spamd-Result: default: False [-5.12 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[ixsystems-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[ixsystems-com.20150623.gappssmtp.com:+]; MX_GOOD(-0.01)[cached: ALT3.ASPMX.L.GOOGLE.com]; RCPT_COUNT_SEVEN(0.00)[7]; RCVD_IN_DNSWL_NONE(0.00)[1.3.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; DMARC_POLICY_ALLOW(-0.50)[ixsystems.com,none]; IP_SCORE(-2.62)[ip: (-7.65), ipnet: 2607:f8b0::/32(-3.17), asn: 15169(-2.24), country: US(-0.06)]; NEURAL_HAM_SHORT(-0.99)[-0.986,0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; SUSPICIOUS_RECIPS(1.50)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Apr 2019 14:06:25 -0000 On Mon, Apr 29, 2019 at 9:55 AM Emmanuel Vadot wrote: > On Mon, 29 Apr 2019 09:25:05 -0400 > Kris Moore wrote: > > > On Mon, Apr 29, 2019 at 8:12 AM Emmanuel Vadot > > wrote: > > > > > > > > Hi Kris, > > > > > > On Sun, 28 Apr 2019 15:52:21 -0400 > > > wrote: > > > > > > > FreeBSD Community, > > > > > > > > > > > > > > > > I'm pleased to announce a CFT for builds of FreeBSD 12-stable and > > > 13-current > > > > using "TrueOS-inspired" packaged base. These are stock FreeBSD images > > > which > > > > will allow users to perform all updating via the 'pkg' command > directly. > > > > Rather than trying to answer all questions in this announcement, > we've > > > > created a FAQ page with more details. Please refer to this page, and > let > > > us > > > > know if you have additional questions that we can include on that > page > > > going > > > > forward. > > > > > > > > > > While I appreciate the effort I have some doubt about your > > > "re-implementation" of pkgbase. I don't see any improvement compared to > > > what is in base currently, I even see downside of your implementation. > > > > > > - How do you plan with the need of updating kernel first, reboot and > > > updating the rest of the userland after ? (Needed for major and minor > > > upgrade, 12.0 to 12.1 for example, and simple update in -STABLE and > > > -HEAD branch). This is still a problem with the base pkgbase. > > > > > > > We've written our own tool "sysutils/sysup" in GO which handles this. It > > performs updates using Boot-Environments to ensure that kernel/world are > > updated at same time. > > > > Which could never be imported into FreeBSD. > Not suggesting it should be. Just information on how we solved that problem in our own appliance / platforms. For FreeBSD it would need some tooling still to handle this style of updating, regardless of which pkg base is used. And for what it's worth, FreeBSD is all the poorer for not being able to bring modern language based tools into the base. Personally I'm hoping the shift to base-packages makes this a moot point since the idea of 'what is base' can be diluted to just a manifest of what gets installed out of box. Just my 2C on the matter though :) > > > > > > > > - This is even worse because you are using the same repository for > > > base and pkg so if a user pkg update and both kernel and pkg(8) needs > > > to be updated and pkg use a new syscall or capsicum thing it will be > > > updated first and couldn't proceed with the rest of the update (this is > > > a supposition, I haven't personally tested). > > > > > > > See above. > You can selectively update os/kernel and reboot before doing rest. > > > > > > > - It seems that multiple kernels isn't supported in your > > > implementation, this is already supported in pkgbase but still need > > > some love. This is an important point as it will allow user to choose > > > easily the kernel that they want to use and will also allow us > > > developper to push kernels with new features to help testing. > > > > > > > Incorrect, on the 13-CURRENT build if you install kernel-debug, you'll > get > > the Witness-enabled kernel installed alongside non-debugging one. > > Mhm no, the kernel-debug packages only add the debug file > in /usr/lib/debug/boot/ > I'm talking about installing multiple kernels in // > (i.e. /boot/kernel.GENERIC /boot/kernel.MYFEATUREIWANTTOTEST) like > describe here : > > https://wiki.freebsd.org/PkgBase#Project_goals_and_additional_unresolved_issues > in the "How to handle /boot/kernel and /boot/kernel.$KERNCONF" point. > > Incorrect, os/kernel-debug installs /boot/kernel-debug which is (on 13-CURRENT) the Witness enabled kernel. os/kernel-debug-symbols are the /usr/lib/debug bits. > > > > > > > I think that the only advantage that your solution offers is that if > > > we remove a componant of base (rcmds for example in 12-CURRENT) those > > > files would be removed as they are in the userland-base package while > > > for pkgbase the FreeBSD-rcmd package will be deleted in the repo and > > > will not be deleted in the user computer. > > > > > > > > > Correct, this is one of the things which prompted us to go this > direction. > > Being able to handle crazy mixed WITH/WITHOUT flags was important to us, > > current pkg base did not handle that so gracefully. > > Can you give me more info on this ? What where the WITH/WITHOUT flags > that causes problems ? > I may have to pick Miwi's brain on this, but I believe some of the issues we saw were when introducing flags such as WITHOUT_RADIUS. Additionally there is a runtime problem to solve. I.E. if you change flags mid-stream, and user updates, there was no clean way on pkg-side to remove those already installed granular packages. Not without external tooling anyway. > > -- > Emmanuel Vadot >