From owner-freebsd-ports@freebsd.org Wed Feb 3 23:42:51 2021 Return-Path: Delivered-To: freebsd-ports@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 7DCE552FB53 for ; Wed, 3 Feb 2021 23:42:51 +0000 (UTC) (envelope-from tatsuki_makino@hotmail.com) Received: from APC01-HK2-obe.outbound.protection.outlook.com (mail-hk2apc01olkn0815.outbound.protection.outlook.com [IPv6:2a01:111:f400:febc::815]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4DWJBy23vdz4TPq for ; Wed, 3 Feb 2021 23:42:49 +0000 (UTC) (envelope-from tatsuki_makino@hotmail.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g0yAWFubxoh5WmEsQXg/7IrUOFk/NPRI2ggQrcYOe5M/pGiXNLp52SoUSvSRFdHV4Z4UxSl7tYbXLOpj9cA5RjuUtbYCha6Nt3Bu11bUhrFqVq2VM8s1uEV72KxzAXhCR5HySSCQXeNdemV/3OQ9hSnVyjRa8Ej1kn3gr9ldmrcpR6C0qZodyYgZse4HKjKgjbwubsT3C2KGrql+5uCYBrCaQ/PjVo5PWBcEjkgGm1UzaVWL9uUMGk0ROaoeWcHT0PC+tD2rBh/cT2GUHqVoXpCXR/cz98eHoUFfceD9AZJSy5Dw3lvHEBi7hc4AsyKEUQnHZ46N5/GO8d5zqq4rkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mpcd0UP75C1DHjH0sLVU4CdNEMpnGqN8n/N42V3xDi8=; b=goHTWte+Zye8h1a6v/+YZGa5GCVwLIKW6QbN0yPMcpvtWQd3xmbdHnzq08zIN/10x4wN7vSXd6s0OLon7XXIvp93JDntTKvRJO49veoUFZC+h7b3SCjq1QFxGjParxpdyi3BDrk3TDumoAyCOqLVkCiVLn4DPJT2t1QZRX0shNUEOHl6OmRUB2LOk1LsktRPPfS7TFAWBPKB9vvkd1ny1ls5o8zvaE0IrzZKRCvtKG9mfG9j4kU31QtLXVKcfDvrxhdTVbMHkoi2zezRMZQtjtkdmMBMiNgelgptlJQnyCaqQWoezwt5dxLpJOavCJQ5roXQ4jj3IhQ9fDy+Ky3YOQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mpcd0UP75C1DHjH0sLVU4CdNEMpnGqN8n/N42V3xDi8=; b=fTetrLA2/DDOZRu2ColQGB6us9vnC6DAalO7Ytp2JzMsEt8UAxH2YVfzmiMKC8U1S9s/fWrPiw93LD9kLG9NknHkRq+7XA+1JmVWB27d4IHqyJLP5fA6tRXP3lzCYJoAo6FckOgGwS9hCbgZ9jQ+/vHOmpEYvsCKd32wvfV07Fl6yE/9EdLvJByKPDX7uflLvJTCL4NSuOX/obpxKomedYQsxOqiCj5brgwL2pk0qLeEuG9zKnj8aEv647b4/pDHQ0c/0KpO1/MC8EAfiiXK+8j+3vXG/bhAH0dTmjXwI+L0/zQ2Y/u4MACUh7yHmcnJdvbt8BqUcEx7+tuP/Ee+Gw== Received: from PU1APC01FT048.eop-APC01.prod.protection.outlook.com (2a01:111:e400:7ebe::43) by PU1APC01HT076.eop-APC01.prod.protection.outlook.com (2a01:111:e400:7ebe::347) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11; Wed, 3 Feb 2021 23:42:42 +0000 Received: from TY2PR02MB4013.apcprd02.prod.outlook.com (2a01:111:e400:7ebe::46) by PU1APC01FT048.mail.protection.outlook.com (2a01:111:e400:7ebe::335) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11 via Frontend Transport; Wed, 3 Feb 2021 23:42:42 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:6DCCF659053FF9A76593D57B55639623C146FB49CB1C180DD24A9F8CF921BDF5; UpperCasedChecksum:C161751B469A038C4B0E79B78EC162BF4AB1BBEB01A0EDB60869A462360A74F0; SizeAsReceived:8944; Count:46 Received: from TY2PR02MB4013.apcprd02.prod.outlook.com ([fe80::191d:b13f:cab:d7e8]) by TY2PR02MB4013.apcprd02.prod.outlook.com ([fe80::191d:b13f:cab:d7e8%6]) with mapi id 15.20.3805.026; Wed, 3 Feb 2021 23:42:41 +0000 From: Tatsuki Makino Subject: poudriere: build packages for LOCALBASE=/opt To: freebsd-ports@freebsd.org References: <20201101233032.GC6041@blisses.org> <26d05414-1b0a-0383-4e1e-ec3dd472ff37@FreeBSD.org> <20201102144119.GA31104@blisses.org> <20201102234323.GB31104@blisses.org> <20201103175013.GC31104@blisses.org> Message-ID: Date: Thu, 4 Feb 2021 08:42:39 +0900 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4 In-Reply-To: <20201103175013.GC31104@blisses.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TMN: [NUglkEojXWWYTksnf3QxauECvLcWM1OX] X-ClientProxiedBy: TYAPR01CA0083.jpnprd01.prod.outlook.com (2603:1096:404:2c::23) To TY2PR02MB4013.apcprd02.prod.outlook.com (2603:1096:404:ec::10) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from T4.test (116.83.132.242) by TYAPR01CA0083.jpnprd01.prod.outlook.com (2603:1096:404:2c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19 via Frontend Transport; Wed, 3 Feb 2021 23:42:41 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 46 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: b9d7008a-c5a1-4f55-b5d7-08d8c89d65b7 X-MS-Exchange-SLBlob-MailProps: NS9Gj58uCj0oIVrhmottAxKie2IDzjimrUvnInHH6ZHJ5ndqVxdH5Jk+PzUpYSMsLM8L15kse5qG8IXW8mPmksDQCNqmuIBQBw+E4XJi0o50hq9ul/IBid3+vr6BcKIvhJ4ViOgMA7pH5yUZTgqVZae7CP5CLa2ZRx0Rc+xAcu2h9msxwRHEqJ8F/z/nYvPIze5OzVqVEw53361K5qr9k+KOKhGRow2dniDoNI7gbhllEh80sWXxyO1//llLg8EkiCV2SSFfMvLCFDs9lN+3osVitiBj/wXRTXgBZ9WSRgKqOwzQs/gx8vMjtJiXp0a9K4kwVn3Fy5YAh3gZR2PG+p7CCDEhAPh7ExllT7uTbuo9PlFNyQyUgxgtqKmyJTtLLDcqcF1D1owo+/TTfpC88zfK94dyrz5ZB/u9i4fKLFXHgZKQvPaO4EGZ5ncG5qCjYeFwRTrDbBBBFyOqHJ5rhaRYq4ZGqeccxCzq6ioQyJ7iUb7dALBAk5X/uNWSGGkMf2cXI3e1GRnvjvMp4oCRokfhztq9vebsCWY4JicNzAE1iLfNV3Nkb2exkjwmRdkKyI0RAQ2L60UEAumH1khs9RCVk6YqZLL5jx4e3hftZdf+DYITUwSWXexDV64rqNHApWCk/c8kbxE5oC9/EOp9NhwwmpcA+aoQs1xEOm/s+WFsdwfZ6WNjZT7OcqTfsLeSYq6qQUFkt74lhlSPZXICgw== X-MS-TrafficTypeDiagnostic: PU1APC01HT076: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ztfVazif70qGJGgUzreHNqFmRw1tSk2Zd6KeqILHJ4hNltZZOm1rxJIKWuNXPWXiIu0Tt0Uv8Oltz81jBL2kEyacnOiMC6IY9ICZG76rIw2HZtokuy/MmpeQTKJ3NhlBJL7UEUdTXbt+rFtMu+VQxidpvP5wSW7OEHslO6ST6mdmI56uSB0yJwcog+Qw9H82GIO0zC6o1qGPMF6TdhT4tfmyS1If4RDcADvxBrz7ZRwF9LUzbM/GhMftRRq8CLWw0YPry89+H1h/eYUsV+62WpSbuETNdh6YPxTpv4Lyg8i6XNHkniGRj/ycoeQKBTMxXvkWVNYZU1yTi5x7lxXel6SFMKONLIKyie6tmHVDWDPjLUrH0NLfyQKdBvmMW0HAoq5EtBWaD/wqL8ljGOMvwA== X-MS-Exchange-AntiSpam-MessageData: z4I7768veIqgvOc567kBK67Zy+TSQ9yd6aFGh3ITd4kauvM2yxzAyPiIK5WLVDeSHkjWbR0r0l+WGkBqI3dhbgRQbaz1BLdCg8pUW0j/GIJ4PHZ8E1ilKH1qikgoHUSI3fFOzdyzTfbybAjtUM4erQ== X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-Network-Message-Id: b9d7008a-c5a1-4f55-b5d7-08d8c89d65b7 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2021 23:42:41.9161 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: PU1APC01FT048.eop-APC01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PU1APC01HT076 X-Rspamd-Queue-Id: 4DWJBy23vdz4TPq X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hotmail.com header.s=selector1 header.b=fTetrLA2; arc=pass (microsoft.com:s=arcselector9901:i=1); dmarc=pass (policy=none) header.from=hotmail.com; spf=pass (mx1.freebsd.org: domain of tatsuki_makino@hotmail.com designates 2a01:111:f400:febc::815 as permitted sender) smtp.mailfrom=tatsuki_makino@hotmail.com X-Spamd-Result: default: False [-2.44 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; RBL_DBL_DONT_QUERY_IPS(0.00)[2a01:111:f400:febc::815:from]; RCVD_COUNT_FIVE(0.00)[5]; FORGED_MUA_SEAMONKEY_MSGID_UNKNOWN(2.50)[]; FROM_HAS_DN(0.00)[]; R_DKIM_ALLOW(-0.20)[hotmail.com:s=selector1]; FREEMAIL_FROM(0.00)[hotmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; RCPT_COUNT_ONE(0.00)[1]; SPAMHAUS_ZRD(0.00)[2a01:111:f400:febc::815:from:127.0.2.255]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f400::/48]; DKIM_TRACE(0.00)[hotmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[hotmail.com,none]; NEURAL_HAM_SHORT(-0.94)[-0.942]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[hotmail.com]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; RCVD_TLS_LAST(0.00)[]; MAILMAN_DEST(0.00)[freebsd-ports]; DWL_DNSWL_NONE(0.00)[hotmail.com:dkim] X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Feb 2021 23:42:51 -0000 Hello. To create a package for LOCALBASE=/opt, export LOCALBASE=/opt alone is not enough. First gettext-runtime will fail. There are still some tweaks to be done to make it work properly to path and libraries. I've created a patch (only a few people have it :) ) that does that when we create or update a jail, but it requires creating multiple jails, which is a pain. So I created a hook script (see Hooks of poudriere(8)) like the one at the end of this email. This will be tweaked when poudriere mount the reference jail. It always works when the environment variable LOCALBASE is not /usr/local. For this reason, it is a good idea to write the following in poudriere.conf. # if name of the jail starts with opt. (e.g. -j opt13amd64) case "${jail}" in opt*) export LOCALBASE=/opt ;; esac # if name of the portstree starts with opt. (e.g. -p opt) case "${ptname}" in opt*) export LOCALBASE=/opt ;; esac # if name of the setname is opt. (e.g. -z opt) case "${setname}" in opt) export LOCALBASE=/opt ;; esac Best regards. Here is the hook script. ========================================= #! /bin/sh hook_jail_use_non_default_localbase () { if [ "${0##*/}" != jail.sh ] ; then echo "This script should be installed to ${POUDRIERED}/hooks/jail.sh" return 1 fi case "${1}" in # ( mount) local mnt="${2:-}" if [ "${mnt}" != "${MASTERMNT:-/nonexistent}" ] ; then #echo "mount point is different from the reference" return 0 fi if [ "${LOCALBASE:-/usr/local}" = /usr/local ] ; then #echo "LOCALBASE is /usr/local" return 0 fi #echo "LOCALBASE -> ${LOCALBASE}" local lbq login_env lbq="$(echo -n "${LOCALBASE}" | sed -e 's,/,\\&,g;')" login_env=",LOCALBASE=${lbq}" sed -i '' \ -e "/:setenv=/{s/,LOCALBASE=[^,:]*//;s/:\(setenv.*\):/:\1${login_env}:/;};" \ -e "/:path=/{/${lbq}/!{s/\/usr\/local\(\/[^ :]*\)/& ${lbq}\1/g;};};" \ "${mnt}/etc/login.conf" cap_mkdb "${mnt}/etc/login.conf" # for interactive shell if [ "${mnt}/.cshrc" -ef "${mnt}/root/.cshrc" ] ; then sed -i '' \ -e "/path =/{/${lbq}/!{s/\/usr\/local\(\/[^ )]*\)/& ${lbq}\1/g;};};" \ "${mnt}/root/.cshrc" ln -f -v -- "${mnt}/root/.cshrc" "${mnt}/.cshrc" else sed -i '' \ -e "/path =/{/${lbq}/!{s/\/usr\/local\(\/[^ )]*\)/& ${lbq}\1/g;};};" \ "${mnt}/root/.cshrc" "${mnt}/.cshrc" fi if [ "${mnt}/.profile" -ef "${mnt}/root/.profile" ] ; then sed -i '' \ -e "/PATH=/{/${lbq}/!{s/\/usr\/local\(\/[^:]*\)/&:${lbq}\1/g;};};" \ "${mnt}/root/.profile" ln -f -v -- "${mnt}/root/.profile" "${mnt}/.profile" else sed -i '' \ -e "/PATH=/{/${lbq}/!{s/\/usr\/local\(\/[^:]*\)/&:${lbq}\1/g;};};" \ "${mnt}/root/.profile" "${mnt}/.profile" fi sysrc -R "${mnt}" -x \ "local_startup" \ "ldconfig_paths" \ "ldconfigsoft_paths" \ "ldconfig_paths_aout" \ "ldconfig_local_dirs" \ "ldconfig_local32_dirs" \ "ldconfig_localsoft_dirs" sysrc -R "${mnt}" \ "local_startup+= ${LOCALBASE}/etc/rc.d" \ "ldconfig_paths+= ${LOCALBASE}/lib ${LOCALBASE}/lib/compat/pkg" \ "ldconfigsoft_paths+= ${LOCALBASE}/libsoft" \ "ldconfig_paths_aout+= ${LOCALBASE}/lib/aout" \ "ldconfig_local_dirs+= ${LOCALBASE}/libdata/ldconfig" \ "ldconfig_local32_dirs+= ${LOCALBASE}/libdata/ldconfig32" \ "ldconfig_localsoft_dirs+= ${LOCALBASE}/libdata/ldconfigsoft" ;; # ( *) ;; esac } hook_jail_use_non_default_localbase ${1:+"$@"}