From nobody Wed Aug 23 06:21:18 2023 X-Original-To: ports@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RVx1b11Fcz4r91n; Wed, 23 Aug 2023 06:21:23 +0000 (UTC) (envelope-from felix@palmen-it.de) Received: from stef.palmen-it.de (stef.palmen-it.de [IPv6:2001:470:1f0b:bbb:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RVx1Y6sJsz4MX4; Wed, 23 Aug 2023 06:21:21 +0000 (UTC) (envelope-from felix@palmen-it.de) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=palmen-it.de header.s=20200414 header.b=263CkQkC; spf=pass (mx1.freebsd.org: domain of felix@palmen-it.de designates 2001:470:1f0b:bbb:1::1 as permitted sender) smtp.mailfrom=felix@palmen-it.de; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=palmen-it.de; s=20200414; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:To:From:Date:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=KSM9KdcXjwigYnW+lhGsXMb2Va0Z1OQL6ijJAGI9stk=; b=263CkQkC2Mrc1OxVNMdiJaeHZ/ yu+JzeiO+eLgx96JTm0VhvnKL1KUvGYHFCQJHhzOth0arnIL7F8E0qW0zrTPlSlxwXoN/zZW3qb7y C6vyxrvjS7wgKfDHaOUvfIC4ls77lGf+ZdDDEnpqyIGuOsMFY3faRyqsY/uCqqRdqm/xaSBoxkYI+ VTH3uiUoPk+gn1fzECFlL49Cj9VmXnqHSamXl5jEhOxEbIkqq4CT+iKNXt3JD7eNCBa4gdZ8alnAF N1730Za9uapSJ5oEd5Hx/lf7EUVwO0B4l5CYjiQUNer3/ZlQwKD6daFhb0aTVBA0fXOWkMIzAFxRY j8h/ThuQ==; Received: from [192.168.71.101] (helo=mail.home.palmen-it.de) by stef.palmen-it.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qYhF1-00AVjV-4K; Wed, 23 Aug 2023 08:21:19 +0200 Received: from nexus.home.palmen-it.de ([192.168.99.2]) by mail.home.palmen-it.de with esmtpsa (TLS1.3) tls TLS_CHACHA20_POLY1305_SHA256 (Exim 4.96 (FreeBSD)) (envelope-from ) id 1qYhF0-000GR9-2l; Wed, 23 Aug 2023 06:21:18 +0000 Date: Wed, 23 Aug 2023 08:21:18 +0200 From: Felix Palmen To: ports@freebsd.org, emulation@freebsd.org Subject: Re: Building a Linuxulator userland from source Message-ID: Mail-Followup-To: ports@freebsd.org, emulation@freebsd.org X-Face: /1K@t"h.}e~pR@]c7HorQ!T`F^RJCa'BCr#e>IKA{>C/9OTGB4|xh"y2{?1Z5M i2w"AH^pN_LlHR^{+f',_Np~;.B;!M/bL}*qk]p5*r7F5vW};{:@4u5S?T&f0$7BJ-71Q5SV]:v$`5 A0[DZ:=?S52x8HJ~5@^P_\T@MsjG{R( Organization: FreeBSD.org References: <20230822173454.458DB237@slippy.cwsent.com> List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="2zzqyfoujavmzr2n" Content-Disposition: inline In-Reply-To: <20230822173454.458DB237@slippy.cwsent.com> User-Agent: NeoMutt/20230517 X-Spamd-Result: default: False [-7.49 / 15.00]; SIGNED_PGP(-2.00)[]; DWL_DNSWL_MED(-2.00)[palmen-it.de:dkim]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.993]; MID_RHS_NOT_FQDN(0.50)[]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; FORGED_SENDER(0.30)[zirias@freebsd.org,felix@palmen-it.de]; R_DKIM_ALLOW(-0.20)[palmen-it.de:s=20200414]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; R_SPF_ALLOW(-0.20)[+ip6:2001:470:1f0b:bbb:1::1:c]; RCVD_IN_DNSWL_MED(-0.20)[2001:470:1f0b:bbb:1::1:from]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[freebsd.org]; MLMMJ_DEST(0.00)[ports@freebsd.org,emulation@freebsd.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_NEQ_ENVFROM(0.00)[zirias@freebsd.org,felix@palmen-it.de]; RCVD_COUNT_TWO(0.00)[2]; HAS_ORG_HEADER(0.00)[]; TO_DN_NONE(0.00)[]; ARC_NA(0.00)[]; DKIM_TRACE(0.00)[palmen-it.de:+]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCPT_COUNT_TWO(0.00)[2]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; RCVD_TLS_ALL(0.00)[] X-Spamd-Bar: ------- X-Rspamd-Queue-Id: 4RVx1Y6sJsz4MX4 --2zzqyfoujavmzr2n Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Cy Schubert [20230822 10:34]: > Basically this would become another Linux distro, albeit a virtual one > that runs under our Linuxulator. And also a pretty minimal one. Right now, I'm just building a truly minimal userland (the GNU toolchain, openssl, GNU make/grep/sed/awk, GNU coreutils and man-db) and working on putting together some sane USES for that. > Avoiding discussion about packaging -- we can package this any way we > wish -- how will this support software written for distro A, B, or C. > For example, Red Hat software doesn't neccesarily run on SuSE or > Ubuntu because shared library dependencies may be different. >=20 > Building our own "distro" to run under the Linuxulator may require a > complete set of packages and end-user applications because existing > Linux software may require a Fedora, Debian or Red Hat library. > Wouldn't this negate the need for a Linuxulator because a person can > build most Linux software to run on native FreeBSD. Well first, when I ask why "Linuxulator" is needed, the answer in my head is: Mostly for closed-source Linux software. Because exactly as you say, anything else should better be ported and built to run natively on FreeBSD, if possible. Now, maybe I'm looking at the wrong software? In my experience with closed-source Linux Software, sure, it *might* offer distribution-specific packages, but almost always offers a plain binary tarball as well. The latter could easily be used to create a port (like was done in the past as well in our tree), and then it's just a question of adding ports for the (hopefully few) shared libraries needed by this software. > I think a better path might be to support multiple Linux userlands in > parallel. Thus a user could simply copy or install vendor software for > a Red Hat in one environment and a SuSE vendor software in another. This would be the consequence if you really want to support distribution-specific software packages. I don't think it's feasible in practice, at least it would make it very hard to still have ports of Linux software (like my makemkv port), these would need to build and run with any of these userlands. To challenge my source-based approach, I'm looking for "proof of concept" closed-source software to try get running with it, I'll probably start with makemkv because I already maintain that port. Open to suggestions what else to test there. In the end, getting to run e.g. Google Chrome would be perfect, but I imagine this requires creating a lot of ports for shared libs first. Cheers, Felix --=20 Felix Palmen {private} felix@palmen-it.de -- ports committer -- {web} http://palmen-it.de {pgp public key} http://palmen-it.de/pub.txt {pgp fingerprint} 6936 13D5 5BBF 4837 B212 3ACC 54AD E006 9879 F231 --2zzqyfoujavmzr2n Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iNUEABYKAH0WIQRpNhPVW79IN7ISOsxUreAGmHnyMQUCZOWlTV8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0Njkz NjEzRDU1QkJGNDgzN0IyMTIzQUNDNTRBREUwMDY5ODc5RjIzMQAKCRBUreAGmHny McrxAPoDIHXujGgQk0YiT2hIgGk4hBh3HEs2i2jmqy3pAvTEhAD+PYAB0BDP8Ewn 4/90/P1rqxQcZx6G2wOpu+XEdDHEzQo= =70m2 -----END PGP SIGNATURE----- --2zzqyfoujavmzr2n--