On Fri, Jul 25, 2025 at 8:51 AM Zbigniew Jędrzejewski-Szmek
<zbys...@in.waw.pl> wrote:
>
> On Fri, Jul 25, 2025 at 08:44:58AM +0000, Zbigniew Jędrzejewski-Szmek wrote:
> > On Thu, Jul 24, 2025 at 11:25:26PM +0100, Aoife Moloney via devel-announce 
> > wrote:
> > > Hare is a systems programming language designed to be simple, stable,
> > > and robust. Hare uses a static type system, manual memory management,
> > > and a minimal runtime. It is well-suited to writing operating systems,
> > > system tools, compilers, networking software, and other low-level,
> > > high performance tasks.
> >
> > It's cool to see new languages and tools being developed.
> >
> > The Change page text contains a few surprising statements though:
> >
> > > Leaving `binutils` and GCC aside, bootstrapping a Hare tool chain
> > > only takes a few minutes.
> > I guess this doesn't really apply to Fedora users, because everyti
> > will packaged. Or are people expected to bootstrap something
> > regularly?
> >
> > > Unlike other language tool chains, Hare modules are meant to be the
> > > responsibility of system package managers like DNF. Packaging Hare
> > > modules and applications should result in little friction.
> > Can you expand a bit on this? Is the workflow for updates of software
> > written in Hare going to be somehow different than e.g. for C
> > applications? What does "responsibility of system package managers"
> > mean?
>
> One more question, after reading the proposed Packaging Guidelines changes:
> do hare apps, linked statically or not, properly embed package notes?

The (work in progress) guidelines I put together default to dynamic
linking that relies on a C compiler (GCC by default in my package
configuration). For dynamic linking, the build driver honors LDFLAGS
from the environment, so a package following the guidelines should
properly embed package notes:

> $ readelf --display-section=.note.package /usr/bin/hare | awk '/Packaging 
> Metadata:/ {print $3}' | jq
> {
>  "type": "rpm",
>  "name": "hare",
>  "version": "0.25.2-1.fc43",
>   "architecture": "x86_64",
>  "osCpe": "cpe:/o:fedoraproject:fedora:42"
> }

This program doesn't technically follow the guidelines, since it comes
from the hare package itself. It shows at least that the single-pass
bootstrap captures the desired notes.

> $ readelf --display-section=.note.package /usr/libexec/hare/hare-update | awk 
> '/Packaging Metadata:/ {print $3}' | jq
> {
>   "type": "rpm",
>   "name": "hare-update",
>   "version": "0.25.2.0-1.fc43",
>   "architecture": "x86_64",
>   "osCpe": "cpe:/o:fedoraproject:fedora:42"
> }

This one follows the guidelines that actually contain a complete RPM
spec to rebuild it.

It might be possible to package a Hare program that is statically
linked and properly embeds all expected ELF sections, but I haven't
tested this case.

> Zbyszek
> --
> _______________________________________________
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct: 
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: 
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
> Do not reply to spam, report it: 
> https://pagure.io/fedora-infrastructure/new_issue
-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to