From nobody Mon Oct 25 22:08:47 2021 X-Original-To: freebsd-ports@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id C2E9A181C969 for ; Mon, 25 Oct 2021 22:08:58 +0000 (UTC) (envelope-from dan@langille.org) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4HdTcl6s70z4X34 for ; Mon, 25 Oct 2021 22:08:55 +0000 (UTC) (envelope-from dan@langille.org) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 0AF195C031D for ; Mon, 25 Oct 2021 18:08:49 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Mon, 25 Oct 2021 18:08:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=langille.org; h= to:from:subject:message-id:date:mime-version:content-type :content-transfer-encoding; s=fm2; bh=DjlUfOm3c3yUkkls6QgWbVgnes KIGsBMFISNZYSw+dA=; b=j0gIBL4Isi0uU7bcG38uzsUMPHJdudS9lByThSIHHD Q0oRQQfmfeRX3IsT/AjA03KGzq8+UN18Q1PoUZ9H6A3yn1c5XCj2RtXt022WRZ1+ rnAaugpqQdyBb3RtL072291bloplwdWdiHhCm4zAkeISa6cYhp59hhAj9pzvCeIk /sA0C1/kTp+2RUccSTt6qoWCgVzmYeLpOMTfKk8zr9ZY82ggAfvbGCPKfCgWrUmj 8Z007ZK2GGLRSPeDsY6XtAc4dZf86uASv2ZH7Od6WiVDV7ZUZh00/wvaJxss/fll A9qHFzAvhGSta6s1UVQW8D7TxNsGkpfNRuqwXTOk1RhQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=DjlUfO m3c3yUkkls6QgWbVgnesKIGsBMFISNZYSw+dA=; b=l6qe68IfsAFjwATPJ5rwn2 qPY28+izk4uWxOtZrV/i7G80nw00I95Z8hqpi45M8QdOV24tk8sqZoDmrKkdga4n zePgT6PyLa9TgZGTQy8xE/NoAJFWb+Idvu0hw7+HQ/aGln/JfqCY7j93h1S/uN5b MEFMu9Zco7kTFf889LUGCW2t4Ilkjgdw9DpZMNn6R+ag37XHhns1/nKYFpIHym33 G4AAiLkkXULuHYK4uUhIR8JvNnrsfMTcjPbeuEcP1E+TStctGovC2rL0dg91yD3Q wNzpvqr4Lsivl7SeOa1tcINIU4J4h0Fpk0ZaT/v67QJ54V/oIuiOSUgwE/cK1kKg == X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrvdefhedgudeihecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhepvffhuffkffgfgggtgfesthekre dttdefjeenucfhrhhomhepffgrnhcunfgrnhhgihhllhgvuceouggrnheslhgrnhhgihhl lhgvrdhorhhgqeenucggtffrrghtthgvrhhnpedvvdekffduvedtudffleeuudelvdevhf eluefggeeileduhedtudehieevkeekffenucffohhmrghinhepfhhrvghshhhpohhrthhs rdhorhhgpdhgihhthhhusgdrtghomhdpfhhrvggvsghsugdrohhrghdplhgrnhhgihhllh gvrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho mhepuggrnheslhgrnhhgihhllhgvrdhorhhg X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Mon, 25 Oct 2021 18:08:48 -0400 (EDT) To: freebsd-ports From: Dan Langille Subject: broken UCL in pkg-message Message-ID: <37aebcaf-625a-72c8-3f10-a9f9c1c4cd0c@langille.org> Date: Mon, 25 Oct 2021 18:08:47 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:52.0) Gecko/20100101 PostboxApp/7.0.51 List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Rspamd-Queue-Id: 4HdTcl6s70z4X34 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=langille.org header.s=fm2 header.b=j0gIBL4I; dkim=pass header.d=messagingengine.com header.s=fm1 header.b=l6qe68If; dmarc=pass (policy=none) header.from=langille.org; spf=pass (mx1.freebsd.org: domain of dan@langille.org designates 66.111.4.29 as permitted sender) smtp.mailfrom=dan@langille.org X-Spamd-Result: default: False [-5.10 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[langille.org:s=fm2,messagingengine.com:s=fm1]; FREEFALL_USER(0.00)[dan]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:66.111.4.29]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-ports@freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000]; RCPT_COUNT_ONE(0.00)[1]; DWL_DNSWL_LOW(-1.00)[messagingengine.com:dkim]; RCVD_COUNT_THREE(0.00)[4]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[langille.org:+,messagingengine.com:+]; DMARC_POLICY_ALLOW(-0.50)[langille.org,none]; NEURAL_HAM_SHORT(-1.00)[-1.000]; RWL_MAILSPIKE_POSSIBLE(0.00)[66.111.4.29:from]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:11403, ipnet:66.111.4.0/24, country:US]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[66.111.4.29:from] X-ThisMailContainsUnwantedMimeParts: N Hello, I've been working on displaying the pkg-message information on FreshPorts. [1] Part of this involves parsing the file via ucl_tool (textproc/libucl) - along the way I have been finding broken pkg-message files and fixing them. I have created a task[2] for myself to add a sanity check to FreshPorts so committers get instant notification. [3] It might also be useful to have a pre-commit hook cover this. I could use help correctly the broken entries in the ports tree. I do not have time to fix them myself. I can provide starting points: * use this search term on your search engine: site:freshports.org "WARNING: The FreshPorts parser failed. ucl_tool failed. Please report this" * write a small shell script to find broken UCL I think the former is a short list, but will not find everything. The shell script is sort of like this: find /usr/ports -name pkg-message -exec another-script Where that other script does this:  /usr/local/bin/ucl_tool --in FILE --format json If [ $? <> 0] ;then  #this one needs fixing fi That should find most, but you also want to look for pkg-message.in I started this search through the cache: [aws-1-nginx01 dan ~] % sudo grep -rl 'The FreshPorts parser failed' ~freshports/cache/ports/* devel/kf5-solid devel/kyua games/shockolate net/endlessh net/py-wsdd The output has been modified to show just the category/port name. [1] - https://news.freshports.org/2021/10/14/pkg-message-ucl-type-gives-_pkgmessage_ucl-found-a-type-is-it-not-prepared-for-array/ [2] - https://github.com/FreshPorts/freshports/issues/345 [3] - https://docs.freebsd.org/en/books/porters-handbook/keeping-up/#freshports -- Dan Langille - dan@langille.org https://langille.org/-