On Fri, Jun 13, 2025 at 9:33 PM Jason L Tibbitts III <j...@tib.bs> wrote:
>
> >>>>> Dominik 'Rathann' Mierzejewski via devel 
> >>>>> <devel@lists.fedoraproject.org> writes:
>
> > What do colon (:) and at (@) signs mean? What is "parent" or "mod"?
> > What are "profiles" in Maven options? None of this is explained, so
> > it's difficult to start using this if someone has no experience with
> > Maven.
>
> I've always felt that if things need to get that complicated, you're
> better off just being explicit and just using the non-declarative way of
> doing things.  So much is hidden in the new system and, I guess, what
> you would do explicitly gets compressed into some line noise
> BuildOption: lines.  Maybe it makes much more sense if you already
> know Maven; I have a feeling that each of those build options just
> encodes something which packagers already have to pass some other way.
>
> If we compress too much and hide things behind super-magical options, we
> will lose existing specs as examples to follow for those who don't have
> maximum knowledge.  But having thousands of identical packages with
> piles of identical boilerplate is also not really desirable, so the
> difficulty comes in finding the balance, and making sure the "old" way
> of doing things stays supported and well-documented.

I agree.

It is not my intention to replace the traditional, imperative form of
Java spec files. It will be still possible to maintain Java packages
using the old imperative style. And many of the existing packages,
especially the most complex ones, will stay in the old imperative
style.

The declarative form by design only supports a limited feature set,
the most commonly used ones. Rarely used features (less than 10
packages using them) were deliberately not implemented, most of them
can be replaced with patches. Notably the new declarative syntax
supports only packages built with Maven, and I have no plans to add
support for less frequently used build systems, such as Ant - for
those the old style of spec files will continue to be the only option.

Moreover, there will be a tool able to convert all declarative spec
files to imperative form. It will be necessary to backport Fedora
packages to work on older RHELs which have RPM < 4.20.

--
Mikolaj

>
>  - J<
> --
> _______________________________________________
> 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