From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id 2+GkEAMqul7ddwAA0tVLHw (envelope-from ) for ; Tue, 12 May 2020 04:45:55 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id QFtIHBEqul6dFAAA1q6Kng (envelope-from ) for ; Tue, 12 May 2020 04:46:09 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 0148A940B28 for ; Tue, 12 May 2020 04:46:06 +0000 (UTC) Received: from localhost ([::1]:43282 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jYMnu-0007ns-Kv for larch@yhetil.org; Tue, 12 May 2020 00:46:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43974) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jYGDS-0001Ot-CQ for guix-patches@gnu.org; Mon, 11 May 2020 17:44:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:41994) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jYGDS-0006CU-3S for guix-patches@gnu.org; Mon, 11 May 2020 17:44:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jYGDS-0004HJ-1a for guix-patches@gnu.org; Mon, 11 May 2020 17:44:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41189] [PATCH 0/3] Add Fakechroot engine for 'guix pack -RR' References: <20200511170554.22916-1-ludo@gnu.org> In-Reply-To: <20200511170554.22916-1-ludo@gnu.org> Resent-From: Carlos O'Donell Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 11 May 2020 21:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41189 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41189@debbugs.gnu.org Received: via spool by 41189-submit@debbugs.gnu.org id=B41189.158923343316423 (code B ref 41189); Mon, 11 May 2020 21:44:01 +0000 Received: (at 41189) by debbugs.gnu.org; 11 May 2020 21:43:53 +0000 Received: from localhost ([127.0.0.1]:53540 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYGDI-0004Gn-Af for submit@debbugs.gnu.org; Mon, 11 May 2020 17:43:53 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:58398 helo=us-smtp-1.mimecast.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYFoS-0003cM-8V for 41189@debbugs.gnu.org; Mon, 11 May 2020 17:18:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1589231891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K3IZnbiv4Eim6IM9yoOY7Xde4MMdpW65/FL2N4ASoIY=; b=Ki41mDe2wjKlr37D1KIrdOg/kotjZVuRHc0FaA/1f2NHgdy3mhc/h5GHIZJzfLTpezIEmC tmBixTvMDxKG5adJjAXC88BzHno8PS0+56g+93dXTSyd3rjCLGY4LWDhisaDxnzKLKEG0r 8y7cJWewesgREkwoGOkxnHKWJF7e16c= Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-490-7FdDPzpWMUO4Ff5v-UY9XQ-1; Mon, 11 May 2020 17:18:07 -0400 X-MC-Unique: 7FdDPzpWMUO4Ff5v-UY9XQ-1 Received: by mail-qt1-f197.google.com with SMTP id p31so11915681qte.1 for <41189@debbugs.gnu.org>; Mon, 11 May 2020 14:18:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:subject:from:organization:message-id:date :user-agent:mime-version:content-language:content-transfer-encoding; bh=K3IZnbiv4Eim6IM9yoOY7Xde4MMdpW65/FL2N4ASoIY=; b=W5yeU2IEw1NO0W2X3fltkFgsuk/Ui8BVvz94oXJp8jDIvsrXty/DDp3QyR9nVp0CWH uz81dgJp8kaSgFmHcOP+qWKjm4X+TyQrz1p/E3uN1a3g0faZLhb/debJBprHdG+7LF7z Uik7FjvcxyAUTxVwvLrKYuLE822XdMS/BMwe4TvFXyGbuWoD5tk4V49/z1iHeg4heFwd hs1KINiVE1xUi4m/4soFleYeIwKDaelQAc6d9LETgH/qxRq66kis0+62t3t2g8NnLP+C Vtt4K6spWiJ+2dNqP1KMbXqgUefs9Ol4IGkGQlwzGyF2Ehe5JDvN94ElTVc2TEgor297 VlcA== X-Gm-Message-State: AGi0PuZduhcm4GGVs0ZdhT7aBKeaaFjscNra/L4VI8scyKNYwAap3oGF rKtmXByNaMOWQdrTQhVzf9ny0FjczXS1NmuTyJVkaDc5xMlkgWi4xwoSjJECu7e0xHqSaPKhb5i kSzJY8KP+WNc1XHw= X-Received: by 2002:a37:67c3:: with SMTP id b186mr17575796qkc.401.1589231886885; Mon, 11 May 2020 14:18:06 -0700 (PDT) X-Google-Smtp-Source: APiQypJS68USWpfOXpPKObxtIi7dbKIjj8rBHNh2ZAs50XwNv+rzHpS/ETL1qbw5BcToAQF6JEY3DQ== X-Received: by 2002:a37:67c3:: with SMTP id b186mr17575770qkc.401.1589231886596; Mon, 11 May 2020 14:18:06 -0700 (PDT) Received: from [192.168.1.4] (198-84-170-103.cpe.teksavvy.com. [198.84.170.103]) by smtp.gmail.com with ESMTPSA id k20sm4009644qkk.30.2020.05.11.14.18.05 for <41189@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 11 May 2020 14:18:05 -0700 (PDT) From: Carlos O'Donell Organization: Red Hat Message-ID: <28e3ffa2-b565-3052-e0c7-7208fab25a11@redhat.com> Date: Mon, 11 May 2020 17:18:04 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 Content-Language: en-US X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Mailman-Approved-At: Mon, 11 May 2020 17:43:51 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.0 (-) X-Mailman-Approved-At: Tue, 12 May 2020 00:46:00 -0400 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Scanner: scn0 X-Spam-Score: 0.09 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=redhat.com header.s=mimecast20190719 header.b=Ki41mDe2; dmarc=fail reason="SPF not aligned (relaxed)" header.from=redhat.com (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Scan-Result: default: False [0.09 / 13.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; GENERIC_REPUTATION(0.00)[-0.53980118428095]; DWL_DNSWL_FAIL(0.00)[209.51.188.17:server fail]; R_SPF_ALLOW(-0.20)[+ip4:209.51.188.0/24:c]; IP_REPUTATION_HAM(0.00)[asn: 22989(0.07), country: US(-0.00), ip: 209.51.188.17(-0.54)]; TO_DN_NONE(0.00)[]; R_DKIM_REJECT(1.00)[redhat.com:s=mimecast20190719]; HAS_ORG_HEADER(0.00)[]; MX_GOOD(-0.50)[cached: eggs.gnu.org]; DKIM_TRACE(0.00)[redhat.com:-]; MAILLIST(-0.20)[mailman]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:22989, ipnet:209.51.188.0/24, country:US]; MID_RHS_MATCH_FROM(0.00)[]; TAGGED_FROM(0.00)[larch=yhetil.org]; FROM_NEQ_ENVFROM(0.00)[carlos@redhat.com,guix-patches-bounces@gnu.org]; ARC_NA(0.00)[]; URIBL_BLOCKED(0.00)[sourceware.org:url]; FROM_HAS_DN(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[41189@debbugs.gnu.org]; HAS_LIST_UNSUB(-0.01)[]; RCPT_COUNT_ONE(0.00)[1]; DNSWL_BLOCKED(0.00)[209.51.188.17:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.51.188.17:from]; RCVD_COUNT_SEVEN(0.00)[10]; FORGED_SENDER_MAILLIST(0.00)[]; DMARC_POLICY_SOFTFAIL(0.10)[redhat.com : SPF not aligned (relaxed),none] X-TUID: V5Mj8eIejrfv "For example, some of the ‘open’ calls made in libc are notintercepted; on such call is in ‘__gconv_load_cache’, which makesit fail, and in turn makes Guile fail to start in its first‘scm_to_locale_string’ call." -- Ludovic Courtès wrote on Mon May 11 19:05:54+0200 2020 There are two issues at hand: * Standard namespace issues (conformance) * PLT avoidance issues (performance) See: https://sourceware.org/glibc/wiki/Style_and_Conventions#Double-underscore_names_for_public_API_functions It is an internal implementation detail that open(2) is being called by the library, and as such glibc bypasses the ELF interposable symbol open, and instead calls open directly without this being visible to the application. There are many such cases where we bypass the ELF interposable symbol to provide standard namespace cleanliness, performance, and so provide consistent behaviour. Yes, in your case this means you cannot override the behaviour of the interface without using some kind of bind mount, or mount namespace (to provide an alternate view of the filesystem). We would have to argue upstream that some minimal subset of the filesystem access should be interposable via open/close/read/write, but that's going to get difficult quickly and have significant performance problems. It would be simpler, IMO, to set LOCPATH and GCONV_PATH appropriately and alter the runtime behaviour that way. If that doesn't work, perhaps because of setuid, then we can discuss further. -- Cheers, Carlos.