From nobody Tue Sep 05 18:12:16 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 4RgD9w40Z1z4sghC; Tue, 5 Sep 2023 18:12:20 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Received: from heemeyer.club (heemeyer.club [195.93.173.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgD9v3J3Gz3cbT; Tue, 5 Sep 2023 18:12:19 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of dchagin@heemeyer.club has no SPF policy when checking 195.93.173.158) smtp.mailfrom=dchagin@heemeyer.club; dmarc=none Received: from heemeyer.club (localhost [127.0.0.1]) by heemeyer.club (8.17.2/8.16.1) with ESMTP id 385ICGHO040191; Tue, 5 Sep 2023 21:12:16 +0300 (MSK) (envelope-from dchagin@heemeyer.club) Received: (from dchagin@localhost) by heemeyer.club (8.17.2/8.16.1/Submit) id 385ICGJT040190; Tue, 5 Sep 2023 21:12:16 +0300 (MSK) (envelope-from dchagin) Date: Tue, 5 Sep 2023 21:12:16 +0300 From: Dmitry Chagin To: ports@freebsd.org, emulation@freebsd.org Subject: Re: Building a Linuxulator userland from source Message-ID: References: <3fn43ksmv2lgahhwnfl2e3tgrj3ydwtur54vhc4iggwx5a67tz@pxtbocitq2xy> 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: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3fn43ksmv2lgahhwnfl2e3tgrj3ydwtur54vhc4iggwx5a67tz@pxtbocitq2xy> X-Spamd-Bar: - X-Spamd-Result: default: False [-1.52 / 15.00]; AUTH_NA(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.72)[-0.720]; FORGED_SENDER(0.30)[dchagin@freebsd.org,dchagin@heemeyer.club]; MIME_GOOD(-0.10)[text/plain]; ASN(0.00)[asn:61400, ipnet:195.93.173.0/24, country:RU]; RCPT_COUNT_TWO(0.00)[2]; R_SPF_NA(0.00)[no SPF record]; MLMMJ_DEST(0.00)[ports@freebsd.org,emulation@freebsd.org]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[freebsd.org]; FREEFALL_USER(0.00)[dchagin]; ARC_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[dchagin@freebsd.org,dchagin@heemeyer.club]; FROM_HAS_DN(0.00)[]; TO_DN_NONE(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4RgD9v3J3Gz3cbT On Tue, Sep 05, 2023 at 07:52:25PM +0200, Felix Palmen wrote: > * Felix Palmen [20230901 16:55]: > > Posting yet another status update [...] > > And the next one ;) > > First, I kind of reached a "milestone", I got multimedia/makemkv to > build with the new userland (using the ffmpeg shared libs instead of > linking it statically as is necessary with -c7), and it *seems* to work > just fine \o/. Unfortunately, it still segfaults in "guiserver" mode, so > obviously this wasn't caused by the ancient userland -> still no GUI > here for FreeBSD :( try ktrace/kdump id, also sysctl machdep.uprintf_signal=1 > > But then, the bad news, it seems I'm hitting a brick wall trying to port > gtk2 (a prerequisite for Citrix Workspace, another app I want to *try* > to get to work). It fails building its demos, telling it can't determine > the file type of some .png file. I assume there is some issue around > shared-mime-info, I'm not sure yet... > > But now, I have the idea to once again completely restructure my new > userland, and I'm posting it here hoping for comments from people with > experience regarding Linuxulator: > > * So far, my linuxsrc_base metaport just pulls in what I thought to be a > very minimal working GNU/Linux userland: glibc, libstdc++, libgcc, > bash, sed, grep, awk (all the GNU flavors), openssl, coreutils, man-db > and a few other tools. I *think* I should also add anything to "base" > that's present in FreeBSD base. > > * For my 'dist' ports (additional tools and libs going to /compat/linux > that are not part of base), I currently install them the same way as > the 'base' ports: PREFIX /compat/linux, but a prefix of /usr passed to > the respective build system. I now think I should change this to use a > prefix of /usr/local instead, so the libs are (hopefully) configured > the same way as their FreeBSD equivalents and I could drop anything > else (man-pages, other docs, shared data, etc) and even in most cases > binaries from the packages, maybe instead adding a runtime dependency > to the respective FreeBSD-native port. My idea is that this should > enable the best possible integration into the FreeBSD system, using > anything but the libs from ${LOCALBASE}. > > So, any comments on these ideas? > > Cheers, Felix > > -- > 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