Fonts packaging macros rework early peek

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

To all that may concern (mainly, packagers of things that include font
files).

I’m currently reworking the font automation I created for Fedora 10
years ago. You can get an early peek at the result here:

https://copr.fedorainfracloud.org/coprs/nim/fontpackages-2/

The main objectives of the rework are:
 * make it easier to use
 * generate appstream files automatically, and validate the result
    * you can of course handcraft your own appstream file, or use the
one shipped by your upstream, if that thing actually exists
 * remove more boilerplate code in the specs
 * move to a more declarative syntax
    * it is slightly more verbose but  you don't need to remember magic
macro flags, just to cut and paste a block of variables and fill in
their values
 * remove historical implementation quirks
 * enforce Fedora naming guidelines some more at the macro level, since
reading those is too much work for some packagers
 * completely cut the relationship between font subpackages and the srpm
they’re generated from, so any Fedora package that includes fonts can
use those without side effects on the rest of the spec
 * move to generic macro naming, that can be templated away by rpm in
the future

So, it's a technical implementation rework, without any change in the
packaging principles that exist in current guidelines.

At this stage I'm pretty sure the way macros will be used in specs is
stabilized, so you can take a look at the specs in copr and comment if
there are things you'd like to be done differently.

The declaration order is not too intuitive, mostly because it differs
from Fedora habits, but each change was driven by rpmbuild, copr or mock
requirements, so don't order things back unless you want to discover the
hard way why it needs to be like that.

Finally, I do realise the proposal, if accepted, will mean rewriting
part of existing font specs at one point, which no one wants to do, but:
1. it's less work than writing appstream files and the associated spec
code manually (do *you* validate your appstream files correctly today in
your specs?),
2. it mostly involves removing spec lines → less lines for packagers to
maintain in the future
2. I did this work for my own font packages, and there are lots of them,
so believe me I tried to make it as simple as possible, starting for
myself
4. I don't think some spec churn every 10 years is too much to ask

The remaining todo is mainly to clean up the layout of the macro package
itself, write templates, and do some guidelining (and bug fixing, if
needed).

If you want to rebuild any of the packages or specs on you system you
need the redhat-rpm-config and rpm version in copr, as the font macros
depend on their changes. Those changes are currently being integrated in
rawhide for other reasons, and a backport to stable is also on the
agenda.

You’ll see in the copr some badly needed updates to some important
Fedora font packages (dejavu, stix, droid, etc). I officially suck at
updates. I'm reworking things to help me suck less. Also, I took the
opportunity to package some font families that should have been packaged
quite a long time ago (not necessarily by myself). All this will hit
rawhide and reviews once the macro work is done.

Regards,

-- 
Nicolas Mailhot
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux