From owner-freebsd-questions@freebsd.org Thu Feb 25 19:46:23 2021 Return-Path: Delivered-To: freebsd-questions@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 0CD3B56E33C for ; Thu, 25 Feb 2021 19:46:23 +0000 (UTC) (envelope-from Norman.Gray@glasgow.ac.uk) Received: from plockton.cent.gla.ac.uk (plockton.cent.gla.ac.uk [130.209.16.75]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Dmjvx4hPpz3JmW for ; Thu, 25 Feb 2021 19:46:21 +0000 (UTC) (envelope-from Norman.Gray@glasgow.ac.uk) Received: from cas07.campus.gla.ac.uk ([130.209.14.164]) by plockton.cent.gla.ac.uk with esmtp (Exim 4.72) (envelope-from ) id 1lFMaZ-0007av-BM for freebsd-questions@freebsd.org; Thu, 25 Feb 2021 19:46:19 +0000 Received: from cas07.campus.gla.ac.uk (130.209.14.164) by cas07.campus.gla.ac.uk (130.209.14.164) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 25 Feb 2021 19:46:18 +0000 Received: from GBR01-CWL-obe.outbound.protection.outlook.com (104.47.20.54) by cas07.campus.gla.ac.uk (130.209.14.164) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Thu, 25 Feb 2021 19:46:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NctjrDxvSAZcBCb/gidYgCX7Rd+rresBwnDZkdiEOTgy6TVr1i6MKGaMiYuET2t391peYf/Tf4GqOvHdKwbIXi5P7dhEWUWJ6OT3WOKiZIsvHC24fkPFzFhu4ah4n8LhrT/FBmQnVTG6dHVh45VxQx3T1048I3MoRZIe+G3x1A9anFhQpYI6KdkBXV0Ifc3oIbB94C8ZBEXyk9+T3nCiQe6c98tG2QeMH3JAW39WpqTkSQAu0oAZYuquKXsG5zM7CiG93H0kFNYYwn9BVRfWOeuJ/MT8GetUSC71IuNgRdhv3hdAt1olMqukzmyNC58WENUwKmnRzigfTTyZDZ1LGQ== 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=wXZ0LDi2n4+xKq90Bcrul+qMTIrkqJo/RkFAnphf0GM=; b=iT2AiyMakYQN4/2b282BaeNBUkYe4LVb7ZoOjULlUkr0Wfi9Rq0AqFtZVa+Rm77aEBEESUJhQHCR6wYUA5c0Nh4PP7GSCvDYV1DDmq9HE1v35vaw05fB762bQwIJcZIGReK/DNERnOUC0IAPtWOIVd9LuhdKLNJnnxyaHhlvJ5x57+sOiMokcuS5K7cUGte3N3iq1V/E8xF48i+J+Ekno/qNWhRpZ2ggAZIKUWx1xi0jGS7B3XivW8fTN/A2tn4uytHu+uZ/5nGEewveRVtiIsPl18tycQmhAj+E3X/7ix4xWliDjd0rZmnJpzpHf1GuSE+D6OTCwbgJpKnuMKVvwg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=glasgow.ac.uk; dmarc=pass action=none header.from=glasgow.ac.uk; dkim=pass header.d=glasgow.ac.uk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gla.onmicrosoft.com; s=selector2-gla-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wXZ0LDi2n4+xKq90Bcrul+qMTIrkqJo/RkFAnphf0GM=; b=LaVCf4lG/cA4BpbIJLEEU6VpGAdk73OkEhmxvJaJdjXuH0zwgvawsZULRWoD7LCUZ5P/LNYcZmTzw64AuwEonWq4vrwQ7KQncEE3nS+PEqoRUoiigtw628508Jsxav8sCI1qwSjgOIM+dsMb/rsCOGYjvDUnSMj9jKpFcin4Rmc= Received: from CWLP265MB3604.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:f3::6) by CWLP265MB3044.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:d0::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.31; Thu, 25 Feb 2021 19:46:18 +0000 Received: from CWLP265MB3604.GBRP265.PROD.OUTLOOK.COM ([fe80::5cc2:2eae:6fc7:6e42]) by CWLP265MB3604.GBRP265.PROD.OUTLOOK.COM ([fe80::5cc2:2eae:6fc7:6e42%7]) with mapi id 15.20.3868.034; Thu, 25 Feb 2021 19:46:18 +0000 From: Norman Gray To: FreeBSD Mailing List Subject: Package manifest documentation Date: Thu, 25 Feb 2021 19:46:16 +0000 X-Mailer: MailMate (1.14r5769) Message-ID: <036EF329-A35D-42F1-A1B8-2D8B4D8DA90D@glasgow.ac.uk> Content-Type: text/plain; format=flowed Content-Transfer-Encoding: quoted-printable X-Originating-IP: [81.2.70.164] X-ClientProxiedBy: LO3P265CA0001.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:bb::6) To CWLP265MB3604.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:f3::6) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [130.209.151.245] (81.2.70.164) by LO3P265CA0001.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:bb::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.30 via Frontend Transport; Thu, 25 Feb 2021 19:46:18 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8c2c4abf-9d6e-48bc-5d04-08d8d9c604de X-MS-TrafficTypeDiagnostic: CWLP265MB3044: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: evYCJT/j3Ra2szBqJi/NZwSqFM58U4g60bewHIUIFdGKRxLWsJ1463Aqi9CTbReKFDF/f5nDyy910ohlpNDSjELINkfburZDWY2Sv0Hf0YsCN3phP83IQbGpQJiApHKfn5CQnHT+unX6sMjwux9E9xP/O4+7c2oso7h63mD2VF9kmx7Hfd+/WwdjS5pVYLXPCskDdbwZHqD8QqYSXwHEzFDL/2ZXS3mCT9o8M/vbdwqcP8++AvjZoVELRtH7Db+K/tjc5A3qeFYEswVBdROFJ+jtMiqgSPpCP8Re19zHbEv3IwmFQF3aJ9DSOrzSWzzsTsafwhcSS340sHVD8H+2OLyS0YbtZw0GhIEH0KTcKR+lYJFUtRClS67oEf/gtWqjhenSLWhA3dzIGmeWlPnAMtGUL6nB7EfPXqU/jJJvqT6zgAJ0MX/iuxnbfx8rCG3TacDHKwqMKzYSrGzm9ekTXrt6PvCSZmaZ++14udubOHWStVJeBPfFST6GOCIB/z3mhmlnKLQ7FTVPklNWbvS/cmCRWY96MonOP9W4G6kyq5TvUHIKrXgs63eW/MvUSE3z6RSu3Q+nl40bKJ+OdHCIM3HEuB5cyiDrcglwP9yOTtu1Y0ZQNvx7wPfWpOOIE9SYVcGFi1K7BgVdMzsW2P/zf6YQ5Y+3djo1zDxjbAL/Dei/vdK/RHnpuZ7WcBy8hYE6tJG21b9sjNDfrBMm7SpfMw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CWLP265MB3604.GBRP265.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(4636009)(346002)(376002)(366004)(39860400002)(136003)(396003)(3480700007)(6916009)(83380400001)(6706004)(66476007)(66946007)(36756003)(7116003)(66556008)(86362001)(786003)(2906002)(316002)(966005)(478600001)(16576012)(6486002)(956004)(8676002)(186003)(16526019)(33656002)(8936002)(5660300002)(2616005)(26005)(44832011)(78286007)(45980500001)(130860200001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?l0jtiQkDrG9vnW5cb8tgkeu/1sRpEKbtRUxrAtahJ0bZ71X739p7+vxbXtFC?= =?us-ascii?Q?rfPVquAkyIQFgEmWvJPJCxE6htj0LteNyq4lD0Ymdc75l2kS7iS6Q5/9if7x?= =?us-ascii?Q?IUcD1mZfmtxp/ybYvz3K0l3KLXNMUHuBaFeAvMSSTClqGp1IZW4u5VSEfYXQ?= =?us-ascii?Q?lBts2GTGCJ/c7fl4z+D/bpWSaVq8YdXu7kiIeopBjQEIE4fcZwYQKsRhId3P?= =?us-ascii?Q?Wi0OSB04SatSNYupVSHux1YKaBxbn0hc89U7kaDvy0XSzjL9f8l9zEjvYAR6?= =?us-ascii?Q?LLc5HI+WdfC6Nl1PHrNGDMAmHcMSWdx8jKli+CRZkfVL3oCOYCy+C4z4Fzw5?= =?us-ascii?Q?BBlo8KOxnCOypSDcweGoErgHtX8ktAGNrfEjESNGxIsfTmQggzg5UFGcYp0j?= =?us-ascii?Q?jhy3Lk4QwkfgCrgUXFxJ0apZax4vYT9w/90JjPZ3wj78tpVIhcVQKqTDinRO?= =?us-ascii?Q?MXw6PgNvi1uWfodqPNXGbJVJ74xp/nl1hreWDgUxrHyaftrBy707liu5Z9b8?= =?us-ascii?Q?WbyDATm7a54n1neyAHv/D6fe9LS1HRltRfA0L+S8FYkQExOQFM9827FgwUCh?= =?us-ascii?Q?msePLOMEUskUHpZ0FNoLLPp9M8ddhdLR58Mt8BJf81LC0V8bRzah3GDItLhb?= =?us-ascii?Q?Z5wfH9ZfR8nCF9xnQfa65/xxohhLackofzutL5Oaj6gZ9lom2Emm4vuk6Et7?= =?us-ascii?Q?Ir8DD5WJeYhcRhPQ03NjLLVq6aEZsvHSmUb58PWErdTqXjH9s39E3YbGRBFD?= =?us-ascii?Q?VK0kb9tCjM3ji+tw3abFSIMH37QV5N5nQWmBnpHzly6J9xJ2c7GgzH+nxCn6?= =?us-ascii?Q?UfBYEzo4zgvAgz8aPqOLVk/taJK+YpAYVM2IoYNNpUvrgbXiQ7rEKotF+GYo?= =?us-ascii?Q?qQ4RqI9eOAcXedQO2SwfrhQ1DOZS8qcxSM4TxB0DSomCMgyAHo/9rn0jdWo8?= =?us-ascii?Q?D1xEuTYcWlW00m0PlvvnO7UmVLO7phQfKbPxfiDPlOsvyNa08CkS+phjlQTR?= =?us-ascii?Q?Ie+BicjgJkaM/8t3iLJZVb02ll51+DcWt7H2TfUWZULNzhgtWFV1dE/wSUzV?= =?us-ascii?Q?kqLLrrpWOAIgx9fym0hZXboO7abbOkSn+PwkBkfQcTVw7Ogj1vCtUgdSkodU?= =?us-ascii?Q?XSVOu5PNsJsq+esEvU2QUcUWNdNziojCojavZ62EUcGUWpTlZuzwmge40aiI?= =?us-ascii?Q?3MPQUsuFt5gy6lMIT7pSL3qgFjxqet1BQciAVhq5E1wALICJ90kq/MzgD6z1?= =?us-ascii?Q?0CYTC7edU9HsGJwEpnQ/H4XiOfHQ7SXxghLawrXYFs9sCNn+eM2TlEQ/XArH?= =?us-ascii?Q?YfYWB9Uk8K/fVXjLmshXg5ws?= X-MS-Exchange-CrossTenant-Network-Message-Id: 8c2c4abf-9d6e-48bc-5d04-08d8d9c604de X-MS-Exchange-CrossTenant-AuthSource: CWLP265MB3604.GBRP265.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Feb 2021 19:46:18.3230 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 6e725c29-763a-4f50-81f2-2e254f0133c8 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 074FegobkGCa+OxaEC/0YNsO1LWSvaqdhvGzK5jzxznSMyWUAwF0rQXOG4r5DdPXsEwZB6Tfj12BBDxBCQgYzGqkD03jczBB3i6UG62QyjA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CWLP265MB3044 X-OriginatorOrg: glasgow.ac.uk X-Rspamd-Queue-Id: 4Dmjvx4hPpz3JmW X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gla.onmicrosoft.com header.s=selector2-gla-onmicrosoft-com header.b=LaVCf4lG; arc=pass (microsoft.com:s=arcselector9901:i=1); dmarc=none; spf=none (mx1.freebsd.org: domain of Norman.Gray@glasgow.ac.uk has no SPF policy when checking 130.209.16.75) smtp.mailfrom=Norman.Gray@glasgow.ac.uk X-Spamd-Result: default: False [-2.50 / 15.00]; MID_RHS_MATCH_FROM(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[gla.onmicrosoft.com:s=selector2-gla-onmicrosoft-com]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; RWL_MAILSPIKE_GOOD(0.00)[130.209.16.75:from]; R_MISSING_CHARSET(2.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[glasgow.ac.uk]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_MED(-0.20)[130.209.16.75:from]; DKIM_TRACE(0.00)[gla.onmicrosoft.com:+]; NEURAL_HAM_SHORT(-1.00)[-1.000]; R_SPF_NA(0.00)[no SPF record]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:786, ipnet:130.209.0.0/16, country:GB]; RCVD_COUNT_SEVEN(0.00)[7]; MAILMAN_DEST(0.00)[freebsd-questions]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Feb 2021 19:46:23 -0000 Greetings. Is there any comprehensive documentation of the format of pkg manifest = files? Answer: yes, there does appear to be (see at end), but it's much harder = to find than I think it should be. Re which, read on. The pkg-create(8) manpage mentions some relevant keywords for the file, = but doesn't say anything about the syntax. It illustrates the 'desc' keyword with a here-string after an '=3D' sign,= = but illustrates 'deps' with some JSON-like syntax, complete with quotes = around keywords. I see issue [1] from 2015, which is asking the same question. I could I = suppose add a +1 to this issue. Dumping a package manifest with `pkg info -R` I see something I can = probably imitate, but there are plenty of keywords in there that aren't = mentioned in pkg-create. Are these documenting the same file? Issues such as [2] mention a UCL syntax in passing, but libucl(3) = mentions only a library for parsing this syntax, not what the syntax is. = 'UCL' isn't mentioned in pkg-create(8) at all. Templates elsewhere online (eg [3]) illustrate a 'key: value' syntax, = which _appears_, from the dumped manifest, to be current. Also, has the syntax changed? I have a manifest file which I wrote = myself some while ago (11.x, I think?), which has a files { hash = filename ... } entry, which doesn't work with 12.x, and I now see only a = 'file' key mentioned in pkg-create(8). Looking at a dumped manifest, it = appears that this should now be files: { file: hash,...}. The Handbook doesn't mention package creation at all, nor does the = Developers' Handbook. In the Porter's Handbook [4] I do see a link to UCL [5] (hooray!), but = that seems to document four _different_ syntaxes, which is interesting = but not particularly helpful (since it's three more than I want to learn = about right now). This handbook somewhat surprisingly doesn't seem to = mention pkg-create at all, but does mention pkg-plist (Sect.3.2.2), = which pkg-create describes as 'legacy'. I'm getting a picture as follows: * the manifest is in a 'UCL' syntax, which is documented only on = github * since this has multiple syntaxes (presumably I can use any of the = UCL syntaxes in here?), the pkg-create(8) manpage only documents key = names * there are more manifest keywords available than are mentioned in = pkg-create(8) * the syntax for pkg-create manifests has changed significantly in = recent releases Is that right? I also see a FreeBSD bug [6] mentioning the file/files thing I mentioned = above. At _this_ point, pointed to from the bugparade, I find = , which is about 'pkg', not 'pkgng', and = which points to the Github page at as = the source, which does include an example. A suggestion: It would be *ahem* really useful if the manpage could lead = me to this information by a slightly more direct route. It would = probably be more efficient, in fact, if the sections on 'manifest file = details' and 'plist format' were simply deleted from the manpage, and = replaced by a pointer to GitHub. Best wishes, Norman [1] https://github.com/freebsd/pkg/issues/1331 [2] https://github.com/freebsd/pkg/issues/1933 [3] = https://github.com/dwcarder/oneoff-pkg-create/blob/master/manifest_templa= te.example [4] https://docs.freebsd.org/en/books/porters-handbook/#pkg-files [5] https://github.com/vstakhov/libucl [6] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D250834 -- = Norman Gray : http://www.astro.gla.ac.uk/users/norman/it/ Research IT Coordinator SUPA School of Physics and Astronomy, University of Glasgow, UK Charity number SC004401