Fritzing: moving file generation from build phase to scriptlets

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

 



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@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[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