Date: Mon, 14 Mar 2016 23:00:53 +0100 From: =?UTF-8?Q?Ren=c3=a9_Ladan?= <rene@freebsd.org> To: freebsd-pkgbase@freebsd.org Subject: Re: [CFT] packaging the base system with pkg(8) Message-ID: <56E73495.2020600@freebsd.org> In-Reply-To: <20160302235429.GD75641@FreeBSD.org> References: <20160302235429.GD75641@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 03/ 3/16 12:54 AM, Glen Barber wrote: > For those who have missed the initial email surrounding this topic, we > are planning on packaging the base system with pkg(8) for 11.0-RELEASE. > > https://lists.freebsd.org/pipermail/freebsd-pkgbase/2016-January/000000.html > [...] > After checking out the project branch, build the userland and kernel as > normal with the 'buildworld' and 'buildkernel' targets. Afterward, > packages can be created with the 'packages' target. > > # cd /usr/src > # make [make flags] buildworld > # make [make flags] buildkernel > # make packages > This also works nicely for my Raspberry Pi B (cross built on a amd64 box) with "ARCH=arm TARGET_ARCH=armv6 TARGET_CPUTYPE=armv6" and KERNCONF=RPI-B added to the commands. > At present, the base system consists of 755 packages with the default > build (empty src.conf(5) and make.conf(5)) for amd64. The number of > packages depends on several factors, but for most cases a runtime binary > is split into several components. In particular, most shared libraries > are individually packaged, in addition to debugging symbols, profiling > libraries, and 32-bit packaged separately. > For RPI-B the total number was around 410, after some pruning my RPI-B is now down to 95 base packages. [...] > To initially bootstrap the 'FreeBSD-*' packages, they must be forcibly > installed. Package registration is not performed during 'installworld' > or 'installkernel', and there are no immediate plans to do this. > > This can be done by running: > > # pkg update -r FreeBSD-base > # pkg install -g 'FreeBSD-*' > [...] That worked, as does upgrading packages. Upgrading is already much easier with just: # pkg upgrade # reboot and not having to eject the SD card. This works fine with both the full and a reduced package set. While pruning packages, I figured that ports-mgmt/pkg depends on FreeBSD-jail. After accidentally deleting that package ("jails on an RPI?"), pkg would no longer run but pkg-static luckily did so I quickly re-added the FreeBSD-jail package. This leads to the more general question if/how packages from the Ports Tree should indicate a dependency on base packages. Something like "LIB_DEPENDS=libjail.so:base/libjail" ? (and yes, currently all base packages have "base" as a single common origin...) Some other ideas: - split off OpenSSL into its own package to ease security updates or an import of LibreSSL - split the kernel package into a kernel and a whole lot of module packages (and perhaps minimize the kernel configuration itself). Keep up the good work! Regards, René
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56E73495.2020600>