Hello,
Recently, I started packaging janus-gateway. I've run into a wall when dealing with the documentation and demos, though.
They require jquery, bootstrap (js library only) bootswatch (themed bootstrap) in order to be able to function properly.
The docs and demos are available here respectively:
https://janus.conf.meetecho.com/docs/ https://janus.conf.meetecho.com/demos.html
In order to make them available in Fedora, I was told to follow:
https://docs.fedoraproject.org/en-US/packaging-guidelines/JavaScript/ https://docs.fedoraproject.org/en-US/packaging-guidelines/Web_Assets/
So, do I have to package and build bootswatch, bootstrap and jquery (v1.9 it seems) and all their dependencies; then patch the documentation so it consumes them in order to provide them (the documentation and demos sub-packages)?
If so, can I omit these two for now so I can publish the package ASAP; while I continue to work on the documentation and demos sub-packages?
Thank you.
You are on the right track, unfortunately. In general, correctly packaging web assets in Fedora is tedious at best, and in some cases nearly impossible.
Packaging documentation and demos is always nice when it’s tractable, but there is no requirement to include them in a Fedora package, and I would definitely proceed without them if I were you. I personally wouldn’t bother jumping through the necessary hoops to include them later, either.
– Ben Beasley (FAS music)
P.S.:
In most but not all cases, it’s possible to use Doxygen to produce a PDF instead of HTML documentation. The result is probably acceptable for packaging (modulo some nagging questions about whether we should worry about possible embedded fonts, and, if we should worry, what we can even do about them). If this approach is something you want to attempt, I can provide examples or a PR upon request.
On 10/19/22 19:20, Renich Bon Ćirić wrote:
Hello,
Recently, I started packaging janus-gateway. I've run into a wall when dealing with the documentation and demos, though.
They require jquery, bootstrap (js library only) bootswatch (themed bootstrap) in order to be able to function properly.
The docs and demos are available here respectively:
https://janus.conf.meetecho.com/docs/ https://janus.conf.meetecho.com/demos.html
In order to make them available in Fedora, I was told to follow:
https://docs.fedoraproject.org/en-US/packaging-guidelines/JavaScript/ https://docs.fedoraproject.org/en-US/packaging-guidelines/Web_Assets/
So, do I have to package and build bootswatch, bootstrap and jquery (v1.9 it seems) and all their dependencies; then patch the documentation so it consumes them in order to provide them (the documentation and demos sub-packages)?
If so, can I omit these two for now so I can publish the package ASAP; while I continue to work on the documentation and demos sub-packages?
Thank you.
packaging mailing list -- packaging@lists.fedoraproject.org To unsubscribe send an email to packaging-leave@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/packaging@lists.fedoraproject.... Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
On Thu, 2022-10-20 at 08:42 -0400, Ben Beasley wrote:
You are on the right track, unfortunately. In general, correctly packaging web assets in Fedora is tedious at best, and in some cases nearly impossible.
Packaging documentation and demos is always nice when it’s tractable, but there is no requirement to include them in a Fedora package, and I would definitely proceed without them if I were you. I personally wouldn’t bother jumping through the necessary hoops to include them later, either.
Yeah, well. Lorenzo (upstream developer) was pretty bummed when I told him I was considering not including the demos and documentation.
I've decided to do the work and package the web resources.
The only thing that bothers me is that, so far, one of them requires grunt; which is a dead package and I'll have to maintain it. I don't have a particular taste for javascript or node-related packages. Didn't want to end up maintaining that one... but here I am...
Well, will have to read about how to resurrect dead packages. Thank you for the confirmation.
P.S.:
In most but not all cases, it’s possible to use Doxygen to produce a PDF instead of HTML documentation. The result is probably acceptable for packaging (modulo some nagging questions about whether we should worry about possible embedded fonts, and, if we should worry, what we can even do about them). If this approach is something you want to attempt, I can provide examples or a PR upon request.
Thanks. Upstream suggested this but I think it's better to offer the doxygen documentation as is so that upstream doesn't need to start worrying about PDF files now. Thanks for the offer, though. :D
Hi Renich,
I think you can use Provides: bundled(libraryname) for all unique JavaScript libraries your package uses. Of course you have to use shared js-jquery package.
I have found bunch of packages using bundled(js-bootstrap) already. So I think it would be good to make it separate maintained package and fill bugs to all users of bundled libraries to start using a shared package.
# dnf repoquery --whatprovides 'bundled(js-bootstrap)' dogtag-pki-server-0:11.1.0-1.fc36.noarch domoticz-0:2022.1-1.fc36.x86_64 netbox-0:2.11.10-2.fc36.noarch nrdp-0:1.5.2-10.fc36.noarch php-phpunit-php-code-coverage6-0:6.1.4-4.fc36.noarch php-phpunit-php-code-coverage7-0:7.0.15-2.fc36.noarch php-phpunit-php-code-coverage9-0:9.2.15-1.fc36.noarch php-phpunit-php-code-coverage9-0:9.2.18-1.fc36.noarch phpdoc-0:2.9.1-6.fc36.noarch roundcubemail-0:1.5.2-2.fc36.noarch roundcubemail-0:1.5.3-1.fc36.noarch
I haven't found any reference to bootswatch. I think you can use bundled(js-bootswatch), maybe use nodejs- prefix instead (or also?). If you are in hurry, just make it bundled for now, but at least note a link to an upstream repository in spec comment. A proper review of separate package can be made later. Just make sure to explicitly provide all bundled libraries the project uses.
Especially if only a documentation uses them, I don't think that should be a blocker to the whole package. Many packages documentation (including my own) bundles some parts, which should be ideally shared in separate packages. It would be nice to do that properly, but I would not consider that a blocker for a new package review.
Cheers, Petr
On 10/20/22 01:20, Renich Bon Ćirić wrote:
Hello,
Recently, I started packaging janus-gateway. I've run into a wall when dealing with the documentation and demos, though.
They require jquery, bootstrap (js library only) bootswatch (themed bootstrap) in order to be able to function properly.
The docs and demos are available here respectively:
https://janus.conf.meetecho.com/docs/ https://janus.conf.meetecho.com/demos.html
In order to make them available in Fedora, I was told to follow:
https://docs.fedoraproject.org/en-US/packaging-guidelines/JavaScript/ https://docs.fedoraproject.org/en-US/packaging-guidelines/Web_Assets/
So, do I have to package and build bootswatch, bootstrap and jquery (v1.9 it seems) and all their dependencies; then patch the documentation so it consumes them in order to provide them (the documentation and demos sub-packages)?
If so, can I omit these two for now so I can publish the package ASAP; while I continue to work on the documentation and demos sub-packages?
Thank you.
packaging mailing list -- packaging@lists.fedoraproject.org To unsubscribe send an email to packaging-leave@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/packaging@lists.fedoraproject.... Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
On Mon, 2022-11-07 at 10:20 +0100, Petr Menšík wrote:
Hi Renich,
I think you can use Provides: bundled(libraryname) for all unique JavaScript libraries your package uses. Of course you have to use shared js-jquery package.
Hey! Just saw your email. Been kind of busy with other stuff.
Yeah, thank you for the advice. It does simplify things.
In the case of bootstrap, which is fairly common, I think it could be done; to package it properly and depend on it.
But in the case of the bootswatch theme, it wouldn't be practical... unless one packages them all. :D
I got your point. I'll see what I can do in order to use bundled() and finish this soon.
packaging@lists.fedoraproject.org