From debbugs-submit-bounces@debbugs.gnu.org Mon May 11 17:43:53 2020 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) To: 41189@debbugs.gnu.org Subject: [PATCH 0/3] Add Fakechroot engine for 'guix pack -RR' 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-Debbugs-Envelope-To: 41189 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 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "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.