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