Description
Link to page
http://mirror.ini.cmu.edu/0003-fedora-yosys-doc-offline-patch.patch
Build number
a66e94c ("Docs: Switch to furo-ys")
Issue
Hi,
I maintain the yosys package in Fedora, and I'm running into a bit of trouble building the documentation portion of the package.
As you may be aware, distro-packaging requires the assumption of everything being available for an offline build at compile time (i.e., fetching things from a live internet server during build via e.g. wget or curl is forbidden). Also, bundling other existing packages is (heavily) frowned upon.
Side note: since yosys is the primary "consumer" of abc, we were able to justify packaging the yosys fork of abc in Fedora instead of the "true" upstream one, so that's one bullet dodged, but now I'm running into trouble with the documentation portion of the package:
First, I had to patch out the various badge.svg
images which are fetched directly over the Internet during build time (this is the patch I'm applying for reference). So far, so good (the resulting pdf file may look a bit rough as a result, but the important content is still there).
However, with commit a66e94c5d
("Docs: Switch to furo-ys") I'm finally finding myself in a bit of a pickle.
Normally, python dependencies should be their own .rpm package, and funny enough, there's a python3-furo
RPM already in the Fedora repositories. Unfortunately, use of the furo_ys
fork presents a challenge for distro-packaging yosys:
-
since the docs are shipped as part of the package, they should be built from source; side-loading a pdf doc file built elsewhere violates at least the spirit, if not the letter as well, of the Fedora packaging guidelines
-
since building the docs now depends on
furo-ys
, that should come as its own RPM (and the "standard" furo actually does, but here we're using a fork, and this time I can't argue that the standard package should be replaced with furo-ys :( -
I could try to bundle furo-ys sources with the yosys source RPM, build it, install it and then use it during
make docs
portion of building yosys, but at this point things start to look rather contrived, and doing any more of this sort of thing would quickly become unsustainable
I'm wondering if there's another way that would ease downstream distro packaging without imposing too much additional hardship on maintaining the upstream documentation (e.g. limiting/eliminating "live" dependencies fetched over the network at build time, and also limiting/eliminating forked/bundled dependencies as much as possible) -- to the extent that downstream packages are considered useful by upstream maintainers.
Any ideas or advice much appreciated!
Thanks,
--Gabriel
Expected
No response