<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 29, 2023 at 3:13 PM Marcel Telka <<a href="mailto:marcel@telka.sk">marcel@telka.sk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, Sep 29, 2023 at 02:13:42PM +0200, Aurélien Larcher wrote:<br>
> On Fri, Sep 29, 2023 at 10:15 AM Marcel Telka <<a href="mailto:marcel@telka.sk" target="_blank">marcel@telka.sk</a>> wrote:<br>
> <br>
> > Hi,<br>
> ><br>
> > I noticed there are PACKAGE_NAMES macros set for few components in the<br>
> > oi-userland git repo. Namely here:<br>
> ><br>
> > components/meta-packages/history/Makefile<br>
> > components/openindiana/gfx-drm/Makefile<br>
> > components/openindiana/pkg/Makefile<br>
> > components/openindiana/slim_source/Makefile<br>
> ><br>
> > They were added in October 2018 by following commits:<br>
> ><br>
> > c7b5e23fc94<br>
> > 2e3897664af<br>
> > ac1196a7cb0<br>
> > a4bb6ce259f<br>
> ><br>
> > I'm curious what is the purpose of these macros. As far as I know there<br>
> > is no known consumer for them. They looks like some attempt to list<br>
> > packages generated by a component before we had support for pkg5 files<br>
> > (introduced in 2020).<br>
> ><br>
> > If PACKAGE_NAMES are unused then I plan to simply remove them once I<br>
> > touch those Makefiles.<br>
> ><br>
> <br>
> If I remember correctily they were introduced to produce package names used<br>
> in dependency resolution in the external python scripts, for components<br>
> that generate packages internally and then copy them rather than the usual<br>
> procedure.<br>
<br>
Okay, thanks. I translate the above as: yes, PACKAGE_NAMES was a<br>
predecessor of pkg5.<br>
<br>
> The goal was to trigger rebuild of dependencies based on this information<br>
> and avoid publication of broken repositories e.g. when ABI is broken and<br>
> the update is split in several PRs due to our flawed CI.<br>
<br>
If I'm not mistaken the same could be done using the (modern) pkg5 files.<br></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default">If you see the packages listed in the pkg5 files then it is fine indeed.</div><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default"><br></div><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default">We had some work in progress back then with Adam but some parts were never integrated.</div><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default"><br></div><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default">However the pkg5 part did work to the extent that the dependency graph was built.</div><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default"><br></div></div><div><div style="font-family:arial,helvetica,sans-serif;font-size:small" class="gmail_default">Thanks for looking into it.<br></div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> Without these definitions print-package-names would produce an incomplete<br>
> list of packages provided by the component and the graph will have dangling<br>
> dependencies.<br>
<br>
I just tried `gmake publish` and then `gmake print-package-names` in<br>
openindiana/pkg and this is the result:<br>
<br>
Makefile:45: warning: overriding recipe for target 'update'<br>
/data/builds/ul-workspace/make-rules/<a href="http://component.mk:49" rel="noreferrer" target="_blank">component.mk:49</a>: warning: ignoring old recipe for target 'update'<br>
package-names= (origin: undefined, flavor: undefined)<br>
<br>
So PACKAGE_NAMES is useless there these days.<br>
<br>
Also, `gmake update-metadata` in openindiana/pkg does strange things, so<br>
apparently there is something else broken. Anyway, if `gmake<br>
update-metadata` is able to work for openindiana/illumos-gate without<br>
PACKAGE_NAMES, then we should be able to make it working for other<br>
components too wihout PACKAGE_NAMES.<br>
<br>
> However I am not sure if the bass/component.py script still relies on these<br>
> definitions (there is also a build-plan branch that attempts to automate<br>
> rebuild of dependencies).<br>
<br>
I'm unable to find PACKAGE_NAMES in bass/component.py so it apparently<br>
does not rely on it. And looking at the history it never did.<br>
<br>
Quick look at your build-plan branch shows there is no PACKAGE_NAMES<br>
mentioned there.<br>
<br>
<br>
So the result so far is: PACKAGE_NAMES is unused nad useless and we<br>
should simply remove it.<br>
<br>
<br>
Thanks Aurélien for information.<br>
<br>
-- <br>
+-------------------------------------------+<br>
| Marcel Telka e-mail: <a href="mailto:marcel@telka.sk" target="_blank">marcel@telka.sk</a> |<br>
| homepage: <a href="http://telka.sk/" rel="noreferrer" target="_blank">http://telka.sk/</a> |<br>
+-------------------------------------------+<br>
<br>
_______________________________________________<br>
oi-dev mailing list<br>
<a href="mailto:oi-dev@openindiana.org" target="_blank">oi-dev@openindiana.org</a><br>
<a href="https://openindiana.org/mailman/listinfo/oi-dev" rel="noreferrer" target="_blank">https://openindiana.org/mailman/listinfo/oi-dev</a><br>
</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><font style="font-family:courier new,monospace" size="1">---<br>Praise the Caffeine embeddings<br></font></div></div></div></div></div>