From owner-freebsd-pkgbase@freebsd.org Sat Apr 11 17:19:56 2020 Return-Path: Delivered-To: freebsd-pkgbase@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CA62E2BDD13 for ; Sat, 11 Apr 2020 17:19:56 +0000 (UTC) (envelope-from list1@gjunka.com) Received: from msa1.earth.yoonka.com (yoonka.com [88.98.225.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "msa1.earth.yoonka.com", Issuer "msa1.earth.yoonka.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4901ph0JGvz3NRR for ; Sat, 11 Apr 2020 17:19:55 +0000 (UTC) (envelope-from list1@gjunka.com) Received: from crayon2.yoonka.com (crayon2.yoonka.com [10.70.7.20]) (authenticated bits=0) by msa1.earth.yoonka.com (8.15.2/8.15.2) with ESMTPSA id 03BHJrbD082082 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Sat, 11 Apr 2020 17:19:53 GMT (envelope-from list1@gjunka.com) Subject: Re: /root on a separate dataset breaks FreeBSD-base installation To: "Rodney W. Grimes" , Emmanuel Vadot Cc: freebsd-pkgbase@freebsd.org References: <202004111703.03BH3Xmu023720@gndrsh.dnsmgr.net> From: Grzegorz Junka Message-ID: Date: Sat, 11 Apr 2020 17:19:53 +0000 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <202004111703.03BH3Xmu023720@gndrsh.dnsmgr.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Rspamd-Queue-Id: 4901ph0JGvz3NRR X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of list1@gjunka.com designates 88.98.225.149 as permitted sender) smtp.mailfrom=list1@gjunka.com X-Spamd-Result: default: False [-5.86 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip4:88.98.225.149]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[gjunka.com]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; IP_SCORE(-3.56)[ip: (-9.34), ipnet: 88.98.192.0/18(-4.67), asn: 56478(-3.74), country: GB(-0.07)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:56478, ipnet:88.98.192.0/18, country:GB]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-pkgbase@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Packaging the FreeBSD base system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2020 17:19:56 -0000 On 11/04/2020 17:03, Rodney W. Grimes wrote: >> On Sat, 11 Apr 2020 09:42:49 -0700 (PDT) >> "Rodney W. Grimes" wrote: >> >>> [ Charset UTF-8 unsupported, converting... ] >>>> I am following https://wiki.freebsd.org/PkgBase >>>> >>>> This: >>>> >>>> pkg install -g 'FreeBSD-*' >>>> >>>> fails with this: >>>> >>>> [2/800] Extracting FreeBSD-runtime-12.1_3:?? 4% >>>> pkg: Fail to create hardlink: >>>> /root/.pkgtemp..cshrc.v5sxGCRu3GlP:Cross-device link >>> ^^^^^^ >>> >>> >>>> [2/800] Extracting FreeBSD-runtime-12.1_3: 100% >>>> >>>> /root is in a different ZFS dataset. It works fine if it's not. Why pkg >>>> is using /root/.pkgtemp instead of /tmp or /var/tmp? It doesn't matter >>>> from where I run the command, looks like the path is hardcoded. >>> The failure is caused by the fact that /.cshrc and /root/.cshrc >>> are hardlinked to each other. A hardlink can not cross a >>> ZFS dataset or a ufs mount point. >> Ah right. >> >>>> Can I workaround with some option to pkg? >>> I doubt that. >> Someone (tm) should add support for this in pkg. > An option to convert hardlinks to symlinks or duplicate files could be done. > > For the person with this problem there are ways to work around it > by not making /root a seperate dataset, create /toor data set, > set toor login home to /toor, use that for what ever it is that > made you feel you needed to have /root as its own data set. Did you mean - set root login home to /toor? Or create a new toor user? I think the same will be with .profile which also looks like it's hardlinked. Wouldn't pkg already have to handle this for normal port packages somehow? Or they never create hardlinks? Is it worth raising bug/feature in bugzilla for pkg? --GrzegorzJ