From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hartmut Goebel Subject: Re: Installing guix packages without root permissions (in HPC environments) Date: Tue, 17 Jan 2017 13:48:01 +0100 Message-ID: <587E1281.405@crazy-compilers.com> References: <20170117091544.GA8189@mail.thebird.nl> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080403000705010001090205" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39342) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cTTBI-0008Ce-91 for guix-devel@gnu.org; Tue, 17 Jan 2017 07:48:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cTTBF-0006zB-7H for guix-devel@gnu.org; Tue, 17 Jan 2017 07:48:08 -0500 Received: from mail-out.m-online.net ([212.18.0.10]:33072) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cTTBE-0006yd-RE for guix-devel@gnu.org; Tue, 17 Jan 2017 07:48:05 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 3v2qdb0rzzz3hsRj for ; Tue, 17 Jan 2017 13:48:03 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 3v2qdZ72XKzvkYL for ; Tue, 17 Jan 2017 13:48:02 +0100 (CET) Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavisd-new, port 10024) with ESMTP id cDkcyoX4ndA6 for ; Tue, 17 Jan 2017 13:48:02 +0100 (CET) Received: from hermia.goebel-consult.de (ppp-46-244-157-46.dynamic.mnet-online.de [46.244.157.46]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS for ; Tue, 17 Jan 2017 13:48:02 +0100 (CET) Received: from [192.168.110.2] (lenashee.goebel-consult.de [192.168.110.2]) by hermia.goebel-consult.de (Postfix) with ESMTP id 78E4F604E8 for ; Tue, 17 Jan 2017 13:48:01 +0100 (CET) In-Reply-To: <20170117091544.GA8189@mail.thebird.nl> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: "guix-devel@gnu.org >> guix-devel" This is a multi-part message in MIME format. --------------080403000705010001090205 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Am 17.01.2017 um 10:15 schrieb Pjotr Prins: > But, I thought the easy way is to patch a path with something the has > the exact same size(!). This has the advantage that it will always > work. Trying this second strategy I wrote a new tool which replaces > the old path with a new one that takes the prefix and truncates the > rest of the path so a prefix /usr/local/bin/hello overwrites Pretty cool idea! -- Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | --------------080403000705010001090205 Content-Type: application/pgp-keys; name="0xBF773B65.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0xBF773B65.asc" -----BEGIN PGP PUBLIC KEY BLOCK----- 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 MKO95dDUGyQf00JGQUCZ =7jty -----END PGP PUBLIC KEY BLOCK----- --------------080403000705010001090205--