Hi all,

I've been maintaining Fritzing, the electronic design software [0]
for some time now. Currently, the program is split into two packages:
"fritzing", providing the executable; and "fritzing-parts", a noarch
package providing data files, including the parts database.
The parts database is generated by running the freshly-built
executable with a specific set of command-line options. [1]

Currently, both packages are built from the same spec file,
and the "executable" package pulls in the parts package, requiring it
to be the exact version-release as in the spec. Lately, I was thinking
about splitting them into separate packages. This would better reflect
the upstream approach, where the program features an auto-updater
that can fetch the latest version of the parts set from git. [2]

However, there's one problem here: the parts database file. Since
there isn't any guarantee that the file will be compatible between
program versions, generating it during the parts package's build
seems a rather risky move. Hence, I got this idea: would it be
sensible to move this to a scriptlet?

Basically, the way I'd see it working would be like this:
1. User installs the "fritzing" package
2. This package pulls in "fritzing-parts" (without requiring
   any specific version)
3. The scriptlet to generate the parts database file
   is run locally on the user's machine

This seems to me like a fairly okay idea, though it would also need
to feature a mechanism where the database file is re-generated
each time any of the two packages is upgraded (or downgraded).

So my two questions here are:
1) Does this seem like a good idea in general?
2) How would one go about implementing this?
   I don't have any experience with scriptlets, unfortunately.

Any opinions and help will be appreciated.
Thanks in advance.

A.FI.

[0] https://fritzing.org/
[1] 
https://src.fedoraproject.org/rpms/fritzing/blob/5f47978fc9965cdc510031b5b2383b061522ad4b/f/fritzing.spec#_124
[2] 
https://github.com/fritzing/fritzing-app/blob/8f5f1373835050ce014299c78d91c24beea9b633/src/version/partschecker.cpp
_______________________________________________
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