[Bug 1205096] New: Reduce build-time dependencies for nextcloud-desktop by switching inkscape for rsvg-convert
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 Bug ID: 1205096 Summary: Reduce build-time dependencies for nextcloud-desktop by switching inkscape for rsvg-convert Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Other Assignee: screening-team-bugs@suse.de Reporter: badshah400@gmail.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- Created attachment 862670 --> https://bugzilla.suse.com/attachment.cgi?id=862670&action=edit Diff showing reduction in the number of build deps when switching from inkscape to rsvg-convert for build Either of these programs (used to generate png's out of svg's and nothing more) may be used for the build, at least since commit <https://github.com/nextcloud/desktop/commit/727de34879b8ef800945e11951cc1a7bee811f03>. However, using inkscape (a GTK based GUI app) at build time pulls in GTK and friends, among other cruft that may be significantly lessened by using rsvg-convert instead. From my analysis, attached is the diff that shows the decrease in number of build deps when switching from inkscape to rsvg-convert. Debian has also switched to using rsvg-convert instead of inkscape for the same reason (since version 3.5.4):
nextcloud-desktop (3.5.4-1) unstable; urgency=medium
* New upstream release. * Update patch hunks. * Use librsvg2-bin instead of inkscape as build dependency as it is much smaller. * Update lintian-overrides.
I made an sr to implement this change, but maintainer declined it for unexplained reasons. So this bug is an attempt to find a way forward: https://build.opensuse.org/request/show/1032731 -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c1 Atri Bhattacharya <badshah400@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ecsos@schirra.net --- Comment #1 from Atri Bhattacharya <badshah400@gmail.com> --- CC'ing maintainer. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c2 Eric Schirra <ecsos@schirra.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #2 from Eric Schirra <ecsos@schirra.net> --- This is not a bug. And I want it to stay that way. Nextcloud-client is not only for Gnome but for all interfaces. Besides, other distributions also use inkscape. And as for build time, I have quite a few packages that take significantly longer to build. The build time for the client is minimal and negligible. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c3 Atri Bhattacharya <badshah400@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|INVALID |--- --- Comment #3 from Atri Bhattacharya <badshah400@gmail.com> --- (In reply to Eric Schirra from comment #2)
This is not a bug. And I want it to stay that way. Nextcloud-client is not only for Gnome but for all interfaces. Besides, other distributions also use inkscape. And as for build time, I have quite a few packages that take significantly longer to build. The build time for the client is minimal and negligible.
Please stop this rude behaviour of closing bug requests without understanding what they even mean. Using rsvg-convert has nothing to do with GNOME. The point is that nextcloud-desktop would not need any GTK libs to build with if you did not insist on using inkscape. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c4 Eric Schirra <ecsos@schirra.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |INVALID --- Comment #4 from Eric Schirra <ecsos@schirra.net> --- STOP this constant reopening of bugs. This is not a bug! I UNDERSTAND. BUT I DON'T WANT IT! Was that understandable enough now. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c5 Atri Bhattacharya <badshah400@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED CC| |dleuenberger@suse.com Resolution|INVALID |--- --- Comment #5 from Atri Bhattacharya <badshah400@gmail.com> --- I would like to escalate this bug with openSUSE Tumbleweed project manager, since it is obvious the package manager will not listen to (my) reasona. To be clear, I am willing to submit a nextcloud downstream fork package to Factory (with fixes from here and bug 1205087, conflicting with current nextcloud-desktop package in openSUSE:Factory) which I shall maintain myself to get around issues with the current maintainer of obs://network/nextcloud-desktop if it comes to that. Please advise if that is indeed how I should proceed. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c6 --- Comment #6 from Atri Bhattacharya <badshah400@gmail.com> --- (In reply to Atri Bhattacharya from comment #5)
To be clear, I am willing to submit a nextcloud downstream fork package
I obviously meant nextcloud-desktop fork package. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c7 Eric Schirra <ecsos@schirra.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |INVALID --- Comment #7 from Eric Schirra <ecsos@schirra.net> --- You seem like a little child who doesn't get his way. Act like you can't help yourself. Again. I do not want it in the CMakeLists.txt: Set SVG_CONVERTER_DIR to the path of either the inkscape or rsvg-convert executable. So either or. The way you want it. Other distributions also use inkscape. (among others Fedora, Mageia, Openmandriva...) And talking about Forg in this context is a bit strange. You can always make changes in your homerepo as you like. No one is stopping you from doing so. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c8 --- Comment #8 from Atri Bhattacharya <badshah400@gmail.com> --- (In reply to Eric Schirra from comment #7)
You seem like a little child who doesn't get his way. Act like you can't help yourself. Again. I do not want it in the CMakeLists.txt: Set SVG_CONVERTER_DIR to the path of either the inkscape or rsvg-convert executable. So either or. The way you want it.
No, the way that is BETTER, for already explained reasons.
Other distributions also use inkscape. (among others Fedora, Mageia, Openmandriva...) And talking about Forg in this context is a bit strange. You can always make changes in your homerepo as you like. No one is stopping you from doing so.
Sure, I could also easily compile them on my own machine too. That benefits no one but myself alone. I intend to submit my fork to Factory. I believe that eventually having a technically superior nextcloud-desktop package in Factory will benefit other users (which is the whole reason I build and submit packages to TW in the first place). -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c9 --- Comment #9 from Eric Schirra <ecsos@schirra.net> --- What is technically better about it? Nothing. It has absolutely nothing to do with that. As I see it so far, only Debian uses rsvg, all others use Inkscape. And in the changelog at debian it says: Use librsvg2-bin instead of inkscape as build dependency as it is much smaller. So. They only use it because it is smaller. That is so not relevant for this package. And what are you talking about your own machine? You have a repo where you build the packages. You can include it anywhere. Just like the other repos. Is it possible that you don't really understand about repos and dependencies? So be it. Please stop discussing here in Bugzilla. This is the wrong place for it. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c10 --- Comment #10 from Atri Bhattacharya <badshah400@gmail.com> --- (In reply to Eric Schirra from comment #9)
What is technically better about it? Nothing. It has absolutely nothing to do with that. As I see it so far, only Debian uses rsvg, all others use Inkscape. And in the changelog at debian it says: Use librsvg2-bin instead of inkscape as build dependency as it is much smaller. So. They only use it because it is smaller. That is so not relevant for this package. And what are you talking about your own machine? You have a repo where you build the packages. You can include it anywhere. Just like the other repos. Is it possible that you don't really understand about repos and dependencies? So be it. Please stop discussing here in Bugzilla. This is the wrong place for it.
You can stop embarrassing yourself. I have posed the question to the Tumbleweed maintainer, not to you, so no need to bother. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c11 --- Comment #11 from Eric Schirra <ecsos@schirra.net> --- Ah also still try to be insulting. The only one who is embarrassed here is you. Like a little defiant child. And when you can't get any further, you run to mommy. Simply ridiculous. I would be ashamed. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c12 --- Comment #12 from Atri Bhattacharya <badshah400@gmail.com> --- (In reply to Eric Schirra from comment #11)
Ah also still try to be insulting. The only one who is embarrassed here is you.
To be honest, I am actually. I should have checked the package maintainer and decided right away it was not worth my several hours time to track down a bug in your package that you had no idea about, think about how to fix it, actually branch and work on it. I should have realised that you would then change my fix just enough to ruin it, take full credit for it, and then rudely dismiss everything else because you "do not want it". Many hours of my life that I am not getting back thanks to your generosity. Oh well, one re-learns what one should already know about hindsight. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c13 --- Comment #13 from Dominique Leuenberger <dleuenberger@suse.com> --- Hi Eric and Atri, First, before we get technical: please both take care of your tone. This is supposed to be a friendly community where we have fun together - and this is gerenally also what we do. There should be no need for insults ever. Now, to the more interesting, technical aspects (I might not get everything right, apologies for that) * rsvg over inkscape => From what I understand, this is a pure 'build time related' change, right? There seems to be no technical merit or disadvantage using one or the other to the actual USERs of the package. => from a packaging PoV, 'smaller build chains' are generally seen as being better; whereas 'smaller' does not forcibly have to equate to 'less packages or MB in the buildroot', but rather as 'be able to build as soon as possible', taking into account of the dep chains build time as well (i.e building behind libreoffice is substantially more expensive than building behind vim as a stupid example; LO alone builds for a couple hours) Now, looking at inkscape vs rsvg-convert, this won't be a very easy anser to give: rsvg-convert is behind rust and, weridly enough, two llvm versions (14 and 15) rust is rather expensive to build - and the two llvm versions obviously too inkscape does not depend on rust, llvm15 is in the dep chain (but only llvm15); inkscape otoh depends on boost, cmake, poppler, systemd, and a larger X-stack Poppler in this chain is known to be 'painful' in some cases and can slow down package upgrades quite a bit every now and then. Considering rsvg-convert is supported by upstream directly and does not require any patches, personally I'd rather go with that than inkscape - but mainly fro a gut-feel that rsvg-convert is written exactly for the usecase of convertng svg's, unlike inkscape which is in its core an end-user application with a GUI, that happens to convert svgs to graphic formats as well. To summarize: technically, for the END USER, there us no difference; pacakging wise, it's replacing one BuildRequires for another, no additional patches are needed, as upstream introduced rsvg-support a bit over a year ago -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c14 --- Comment #14 from Atri Bhattacharya <badshah400@gmail.com> --- (In reply to Dominique Leuenberger from comment #13)
* rsvg over inkscape
Now, looking at inkscape vs rsvg-convert, this won't be a very easy anser to give:
It is, from the point of view of a packager who needs to test their builds locally, and could do without downloading a ~100 MB+ worth of unnecessary cruft when downloading one single-digit MB sized package will suffice. Ditto for each obs-worker building the package. It isn't just build chains that is in question here (although yes that too). Anyway, my question to you is really more focused on whether it is allowed to submit forks of packages that are already in Factory to get around disagreements with the original package maintainer of the magnitude seen here (obviously with the appropriate conflicts etc. baked in). I mean, I have (IMO) several improvements to the package that I am now simply unwilling to submit via obs://network/nextcloud-desktop or any other route that goes via the original maintainer. I could either just let my changes die and rot or submit as a new package. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c15 --- Comment #15 from Eric Schirra <ecsos@schirra.net> --- (In reply to Dominique Leuenberger from comment #13)
Hi Eric and Atri,
First, before we get technical: please both take care of your tone. This is supposed to be a friendly community where we have fun together - and this is gerenally also what we do. There should be no need for insults ever.
Now, to the more interesting, technical aspects (I might not get everything right, apologies for that)
* rsvg over inkscape
=> From what I understand, this is a pure 'build time related' change, right? There seems to be no technical merit or disadvantage using one or the other to the actual USERs of the package. => from a packaging PoV, 'smaller build chains' are generally seen as being better; whereas 'smaller' does not forcibly have to equate to 'less packages or MB in the buildroot', but rather as 'be able to build as soon as possible', taking into account of the dep chains build time as well (i.e building behind libreoffice is substantially more expensive than building behind vim as a stupid example; LO alone builds for a couple hours)
Now, looking at inkscape vs rsvg-convert, this won't be a very easy anser to give:
rsvg-convert is behind rust and, weridly enough, two llvm versions (14 and 15) rust is rather expensive to build - and the two llvm versions obviously too
inkscape does not depend on rust, llvm15 is in the dep chain (but only llvm15); inkscape otoh depends on boost, cmake, poppler, systemd, and a larger X-stack Poppler in this chain is known to be 'painful' in some cases and can slow down package upgrades quite a bit every now and then.
Considering rsvg-convert is supported by upstream directly and does not require any patches, personally I'd rather go with that than inkscape - but mainly fro a gut-feel that rsvg-convert is written exactly for the usecase of convertng svg's, unlike inkscape which is in its core an end-user application with a GUI, that happens to convert svgs to graphic formats as well.
To summarize: technically, for the END USER, there us no difference; pacakging wise, it's replacing one BuildRequires for another, no additional patches are needed, as upstream introduced rsvg-support a bit over a year ago
Hi Dominique, I see no reason or real reason to use rsvg instead of inkscape. All distributions (Fedora, Maria, mandriva, arch...) use inkscape. Only Debian uses rsvg. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c16 --- Comment #16 from Eric Schirra <ecsos@schirra.net> --- (In reply to Atri Bhattacharya from comment #14)
(In reply to Dominique Leuenberger from comment #13)
* rsvg over inkscape
Now, looking at inkscape vs rsvg-convert, this won't be a very easy anser to give:
It is, from the point of view of a packager who needs to test their builds locally, and could do without downloading a ~100 MB+ worth of unnecessary cruft when downloading one single-digit MB sized package will suffice. Ditto for each obs-worker building the package.
It isn't just build chains that is in question here (although yes that too).
Anyway, my question to you is really more focused on whether it is allowed to submit forks of packages that are already in Factory to get around disagreements with the original package maintainer of the magnitude seen here (obviously with the appropriate conflicts etc. baked in).
I mean, I have (IMO) several improvements to the package that I am now simply unwilling to submit via obs://network/nextcloud-desktop or any other route that goes via the original maintainer. I could either just let my changes die and rot or submit as a new package.
@Dominique. And here we would like to point out once again that his requests for changes have been implemented in a slightly modified form. And in such a way that all their wishes have been fulfilled. But he simply does not want to admit it. He also does not respond to my explanations. Sorry, but he behaves like a small child who doesn't get exactly what he wants. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1205096 https://bugzilla.suse.com/show_bug.cgi?id=1205096#c17 --- Comment #17 from Atri Bhattacharya <badshah400@gmail.com> --- There goes the name calling again, ha ha. Anywho, my current changes go well over and beyond anything I had submitted. yes it is built with minimal dependencies, and disables libcloudproviders support (for now, but I have more plans for it) but, for starters, it is also more modular, allows people to just install the cmdline util if they do not want the whole monty, and much more. None of these changes will be acceptable to original maintainer who has already stated "Why would you want to split that up? I am not a friend of these separations" (LOL) [1]. [1] https://build.opensuse.org/request/show/1032731 -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com