Closed aimylios closed 6 years ago
I've already submitted a pull request (PR https://github.com/KiCad/fedora-packaging/pull/5) to create separate packages for the nightlies. This will separate out the symbols, docs, etc.
It will include the documentation, so your PR#6 is not needed. My PR#5 already includes that.
I've also started a conversation with @lkundrak via private email, but that discussion could move here instead. Right now I'm working on getting set up to clone the Fedora kicad project, so I can propose a spec file for the official Fedora kicad 5 builds.
What are the rules about camelcasing package names? Personally I think it should be all small letters, but maybe this policy is different for rpm based distros? I am thinking about kicad-packages3D
vs kicad-packages3d
.
I personally think it would be best to get the new packaging scheme with more packages as soon as possible. The task with enabling all the python scripting requires a wxpython compat package (built against gtk2) which should be able to coexist on the system with the normal one. The issue here is the wxversion python module which is not versioned on wxpython classic. You probably know the story.
Are there any issues with OCE at the moment? I think we can just add the depend and enable it?
@stevefalco: Thanks! I have added a comment to your PR #5, because I think it is not ready for merge yet. It seems to include some changes from my branches that are unrelated to the packaging itself, and I also think there should be some consensus on the strategy before merging anything like this. Do I understand you correctly that you vote for adopting the packaging scheme I am currently using in my personal Copr builds (see above)? What do you think about the demos or an additional meta-package for the libraries?
@nickoe:
Good point. The Fedora Package Naming Guidelines strongly recommend to keep package names lower case only (although uppercase letters are not strictly forbidden). It should indeed be kicad-packages3d
instead of kicad-packages3D
.
Some of the other compile time options can be safely enabled on Fedora:
OCE-devel
as a build dependency, and I also added OCE-visualization
as a runtime dependency (although I am not absolutely sure about that, because uninstalling OCE would mess up my local setup, and all of these OCE packages seem to depend on each other).@aimylios But does the pcbnew gui look good both when started from kicad and standalone? Usually the GUI elements in the toolbar are not placed correctly when started from kicad. https://bugzilla.redhat.com/show_bug.cgi?id=1519989
Aabout ngspice, why a workaround? I assume you just made your own package. I think you need to push for upstream to also build it as a lib.
Yes, looks good, I have never observed such problems. But I did leave KICAD_SCRIPTING_WXPYTHON set to OFF, whereas your bug report explicitly mentions building against wxPython (which I do not even have installed). If you want, I can submit a PR this evening to enable this in the nightlies and then we will see if any users start complaining.
The following screenshots have been taken with my personal release build:
Application: kicad
Version: 5.0.0-rc1, release build
Libraries:
wxWidgets 3.0.2
libcurl/7.55.1 OpenSSL/1.1.0g zlib/1.2.11 libidn2/2.0.4 libpsl/0.18.0 (+libidn2/2.0.3) libssh2/1.8.0 nghttp2/1.25.0
Platform: Linux 4.15.4-300.fc27.x86_64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
Boost: 1.64.0
Curl: 7.55.1
Compiler: GCC 7.3.1 with C++ ABI 1011
Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_WXPYTHON=OFF
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_SPICE=OFF
Pcbnew in standalone mode:
Pcbnew started from KiCad:
About ngspice: The maintainer is currently not willing to include the ngspice shared libraries. See the README.md in my woraround repository for details. My package only ships the shared libraries and pulls in ngspice from the main Fedora repo as a dependency. This is much less invasive than completely substituting the upstream package.
Regarding camel-case, I don't know what the standard might be, but it seems to follow upstream. At least I see examples like:
NetworkManager-wifi.x86_64 R-tkWidgets.noarch libXScrnSaver-devel.x86_64
and so on. But if you want it all lower-case, that is easy to do.
I would just really like to use the same package names as used by the fedora maintainer to cause less confusion for everyone. I am ok with merging the changes to split the package as is, but I would prefer not to rush that before getting a response from the upstream maintainer. I do consider the nightlies unstable and the users of those should be ready to accept disruptions.
That is fine. I sent an email to @lkundrak and hopefully we can get him involved as the Fedora maintainer. He said he is travelling, so it might be a little while until he replies.
The Packaging Guidelines just recommend to use lower case. But as we are introducing a completely new package I would suggest to follow this recommendation and call it kicad-packages3d. All other packages are already lower case only. "Package names should be in lower case and use dashes in preference to underscores. You can take some cues from the name of the upstream tarball, the project name from which this software came, and the name which has been used for this package by other distributions/packagers in the past. You can also request guidance from the upstream developers. Do not just blindly follow those examples, however, as package names should strive to be consistent within Fedora more than consistent between distributions."
I remember having problems to find some packages because the old application installer (I think it was PackageKit) was case-sensitive. I then had to use Koji web search to find out the "correct" name. dnfdragora, in contrast, doesn't care at all about upper/lower case. So this might be less of a problem nowadays.
@stevefalco, you could clone the Fedora KiCad repository and put it on GitHub. We could then have a look at your proposal for the stable SPEC together. Maybe that helps to accelerate the process, and as soon as the stable maintainer approves it it can be implemented in the nightlies. It will most probably take several weeks if not months until stable 5.0.0 is released, and we shouldn't wait that long.
On 03/01/2018 05:36 PM, aimylios wrote:
The Packaging Guidelines https://fedoraproject.org/wiki/Packaging:Naming#General_Naming just recommend to use lower case. But as we are introducing a completely new package I would suggest to follow this recommendation and call it kicad-packages3d. All other packages are already lower case only. /"Package names should be in lower case and use dashes in preference to underscores. You can take some cues from the name of the upstream tarball, the project name from which this software came, and the name which has been used for this package by other distributions/packagers in the past. You can also request guidance from the upstream developers. Do not just blindly follow those examples, however, as package names should strive to be consistent within Fedora more than consistent between distributions."/
I remember having problems to find some packages because the old application installer (I think it was PackageKit) was case-sensitive. I then had to use Koji web search to find out the "correct" name. dnfdragora, in contrast, doesn't care at all about upper/lower case. So this might be less of a problem nowadays.
@stevefalco https://github.com/stevefalco, you could clone the Fedora KiCad repository and put it on GitHub. We could then have a look at your proposal for the stable SPEC together. Maybe that helps to accelerate the process, and as soon as the stable maintainer approves it it can be implemented in the nightlies. It will most probably take several weeks if not months until stable 5.0.0 is released, and we shouldn't wait that long.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/KiCad/fedora-packaging/issues/7#issuecomment-369755334, or mute the thread https://github.com/notifications/unsubscribe-auth/ACBafIlB457frXXccIOZO7ZISU1FqF9Kks5taHfmgaJpZM4SXfuK.
I created a clone of the official Fedora KiCad repo locally, then tied it into github here: https://github.com/stevefalco/kicad-from-fedoraproject
I pushed three of the branches from my local machine to github: f26, f27, and f28, where f28 is the master, a/k/a rawhide branch. I think that should be sufficient, but if you want other branches pushed, please let me know.
While the spec file and patches are there, none of the actual tar-balls are present, because they are in the Fedora look-aside cache rather than in git. But then again, I don't think we need them.
Steve
All of the changes I wanted to suggest for the nightly builds have been submitted as part of PR #13.
I've now gone ahead and put together a proposal for a "stable" SPEC file based on the KiCad 4.0.7 upstream package. You can find it here: https://github.com/aimylios/fedora-kicad-packaging-upstream/blob/aimylios/proposal-v5/kicad.spec
I've tried to keep as much of the old file as possible to minimise the diff. I did run a build test to make sure it contains no stupid mistakes, but didn't bother to install or actually use it. Its only purpose is to support this discussion. Anyone who wants to use parts of it should review it very carefully.
The packages are separated in a similar way to what has been announced for Debian with two differences:
Personally, I don't really see the need to have a meta-package for the libraries. Users should be able to decide what to install by themselves or (if in doubt) install everything.
I tend to prefer a separate package for the demos (just because I don't use them). The only reason for me not to implement this is that too many packages might cause more confusion to new users than it helps me to save ~9 MB of disk space. :-)
Please let me know what you think!
It sounds fine but I won't be able to review it for a while. We had a major snow storm and power and internet is out.
I'll look at it when we get those services back. Might be a few days...
Steve
On Thu, Mar 8, 2018, 5:51 PM aimylios notifications@github.com wrote:
All of the changes I wanted to suggest for the nightly builds have been submitted as part of PR #13 https://github.com/KiCad/fedora-packaging/pull/13.
I've now gone ahead and put together a proposal for a "stable" SPEC file based on the KiCad 4.0.7 upstream package. You can find it here:
https://github.com/aimylios/fedora-kicad-packaging-upstream/blob/aimylios/proposal-v5/kicad.spec
I've tried to keep as much of the old file as possible to minimise the diff. I did run a build test to make sure it contains no stupid mistakes, but didn't bother to install or actually use it. Its only purpose is to support this discussion. Anyone who wants to use parts of it should review it very carefully.
The packages are separated in a similar way to what has been announced for Debian https://lists.launchpad.net/kicad-developers/msg34000.html with two differences:
- no meta-package kicad-libraries
- no package kicad-demos (the demos are shipped as part of the kicad package)
Personally, I don't really see the need to have a meta-package for the libraries. Users should be able to decide what to install by themselves or (if in doubt) install everything.
I tend to prefer a separate package for the demos (just because I don't use them). The only reason for me not to implement this is that too many packages might cause more confusion to new users than it helps me to save ~9 MB of disk space. :-)
Please let me know what you think!
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/KiCad/fedora-packaging/issues/7#issuecomment-371652493, or mute the thread https://github.com/notifications/unsubscribe-auth/ACBafP6vBOJAZi1oddsTNf3BtH-utEcEks5tcbYAgaJpZM4SXfuK .
I think it is better to also install the demos, they are useful when people bugreport.
By the way, the cvpcb part of the package description. Remove it. Cvpcb is not considered a standalone app anymore. It can only be opened from within Eeschema.
@nickoe
If I understand you correctly, you want the demos to be available on all installations? This is how it is currently implemented in my proposal, they are part of the main kicad package and will always be installed to /usr/share/kicad/demos/
.
I tried to restrict the changes to the upstream SPEC file to a minimum, so that it is easier to look at the diff and understand what is required to go from 4.0.7 to 5.0.0. But I've now added a comment to remind me of the outdated description and submitted a new description as part of PR #13 for the nightly builds.
@aimylios Yes, I was replying to your comment in https://github.com/KiCad/fedora-packaging/issues/7#issuecomment-371652493 where I think it is better to keep the demos in the normal kicad package unconditionally.
I received an email from @lkundrak (the Fedora maintainer). He cannot connect to github right now. I don't want to put words in his mouth, but my sense is that he would support the idea of having the various distros all use similar packaging layouts, and to have upstream kicad help make sensible packaging recommendations.
I think he would also like kicad to produce official tarballs rather than getting them by distro-specific scripts. Right now Fedora uses the github "archive URL" feature to extract libraries, but official tarballs would be preferred.
I also think he's interested in the idea that the libraries might be broken out into separate source RPMs - basically similar to the separate spec files that @aimylios is already using for private dev builds.
That would let different versions be mixed and matched, but some checks would have to be in place to prevent using new libraries with old binaries that don't support all the features the new libraries might need, like shaped pads.
Again, I hope I'm representing his position correctly, and I further hope that he will be able to join this conversation soon.
I have been in contact with @lkundrak, who has added me to the Fedora "packager group" so I can better participate in the Fedora KiCad packaging effort.
I have a fork here:
https://src.fedoraproject.org/fork/stevenfalco/rpms/kicad/tree/master
I have outlined three options, depending on how finely-grained we want the Fedora packaging to be.
RPM for kicad - all the executables, i18n, libraries, models, templates (4.8 GB) RPM for kicad-doc - all of the documentation (116 MB)
RPM for kicad-core - all the executables, i18n, libraries, templates (342 MB) RPM for kicad-doc - all of the documentation (116 MB) RPM for 3D models - all of the 3D models (4.5 GB) Meta RPM to pull in all of the above (4.9 GB)
RPM for kicad-core - all the executables, i18n (105 MB) RPM for kicad-doc - all of the documentation (116 MB) RPM for symbols - all of the schematic symbols (21 MB) RPM for footprints - all of the PCB footprints (84 MB) RPM for templates - all of the basic examples and templates (16 MB) RPM for 3D models - all of the 3D models (4.5 GB) Meta RPM to pull in all of the above (4.9 GB)
For my first pull request, I have implemented option 1 (in my "for_pull_1" branch), and I have also implemented option 2 (in my "try_option_2" branch). I haven't implemented option 3 yet.
So far, there has been no decision on which option to implement. My personal preference is for option 1, because it is simpler for new users. There is a scratch koji build of option 1 here:
https://koji.fedoraproject.org/koji/taskinfo?taskID=27357968
Option 2 would be my next choice, because some people may not want to install the large 3D models. There is a scratch koji build of option 2 here:
https://koji.fedoraproject.org/koji/taskinfo?taskID=27446558
Option 3 would be my last choice, because it runs the risk of new users not having any libraries installed, which might frustrate them before they can even get started.
@stevefalco, thanks for your efforts to bring KiCad 5 to the official Fedora repositories! The 3D models definitely need to be moved to a separate package, so your "option 2" should be considered the minimum solution (although I don't see the need for a meta-package, kicad + kicad-doc + kicad-packages3d is self-explanatory and should not confuse anyone).
Personally, I still prefer a solution similar to what was done in Debian (see here) with separate packages for symbols and footprints as well (similar to your "option 3"). Moving the libraries to a separate SPEC would even be better, as the binaries are rebuilt quite often (e.g. with every boost update), and it does not make any sense to redownload several GB of libraries every couple of weeks when only the binaries have changed.
I looked at the commits in your fork of the packaging repository and would like to see some changes before this gets merged upstream:
I'd like to get my current commits merged before queuing up more changes. With 20 or so commits waiting, it has taken us a while to get to this point. @lkundrak has reviewed the changes and I've addressed the individual comments he made. I agree that there is more that could be done, and I am sure we will continue to fine-tune the package.
To your individual points:
regenerate the freerouting and nostrip patches: I'm not sure what the original reasons for the patches were, and since they still apply cleanly, it is safest to leave them in place. For example, I'm not an expert as to why the Java tool should not be accessed via its JAR file. We will need to have a discussion, and understand the reasons for the patches before removing them.
update architectures and requirements: freerouting is not a requirement, which is why I removed it. However, someone could always install it on their own. If upstream removes the dialog, then we can remove the patch. Until that happens, I think we have to leave the patch in place, to stay compliant with the Fedora requirements. At least that is the way I read the comments in the patch.
update languages: My intent was to add any new languages to the " obsoletes" section, since future packages will need to know the languages that should be obsoleted. I removed non-existent languages from the "provides" section, since they are not provided. But I am not an expert on translations. Looking at /usr/share/doc/kicad/help, the supported languages have apparently changed, so perhaps a discussion is needed to clarify how the "obsoletes" and "provides" should be updated to account for those changes.
correct description: rpm handles line breaks well so I'm not sure I understand the concern. Personally, I find that lists are much easier to read than putting everything in a paragraph, but I suppose we can discuss it further with @lkundrak to see if he has a style preference.
apply changes from first review: In this case I have to defer to my reviewer, since I am the new kid on the block and I trying to learn how to build a proper official package. I did test it, and found that the license is inherited, which is why I agreed to remove it. But if the license terms are actually incorrect, then that clearly needs to be fixed in the next patch set.
I don't feel that it is appropriate for me to get in the middle of some of your recommendations - after all, they are your work, not mine, and I think you are more experienced with some of this stuff than I am. So, I'd like to suggest that you get an account in FAS so you can create your own fork and propose patches directly. That way you can get credit for your work, and there will be no risk that I misunderstand your position on things. Would that be ok with you?
No worries. Please take everything I say with a grain of salt and feel free to ignore it. To be honest, I do not intend to use the upstream package, as I am very happy with my personal release and nightly builds. There is still some time left until the final release of 5.0, which can be used to make further changes after your version of RC2 has been uploaded.
The main purpose of this bug report is to find a better way to package the KiCad libraries. I would like to see this resolved before the release, as it might not be a good idea to change the packaging scheme in between releases. The nightly builds should then adopt this scheme to make it easier for users to switch back and forth.
I agree. People who use the official Fedora packages won't want to do frequent updates - they just want to get their schematic and PCB work done. KiCad developers have different needs. :-)
As you can see from the %build, %install, etc, I've been trying to make the Fedora official packages align as closely as possible with the nightlies, since that minimizes the work for everyone.
I'll keep doing that. Thanks for your comments!
Can we leave KICAD_SCRIPTING_WXPYTHON enabled? , that was the reason why I created this packaging in the first place :D
By the way, amazing to see activity here related to fedora packaging, good work :D
There is a problem with KICAD_SCRIPTING_WXPYTHON - as Fedora has switched from python 2 to python 3, one of the libraries needed for KICAD_SCRIPTING_WXPYTHON is not currently available. You can read more about this issue here:
https://copr.fedorainfracloud.org/coprs/aimylios/kicad-nightly/
As you will see, @aimylios has made a private build of the missing library, and he has included KICAD_SCRIPTING_WXPYTHON in his build at the link shown above.
Therefore, you might want to use his Copr builds. Note that he has also added support for ngspice there - again a needed library is missing from official Fedora.
Hopefully, KiCad will eventually move everything to python 3, at which point we can support KICAD_SCRIPTING_WXPYTHON in the official Fedora builds.
What is the issue with ngspice? I would like to see it enabled in the kicad copr nightlies.
Fedora doesn't provide libngspice. As @aimylios said on his copr page, he built his own library so he could enable ngspice. KiCad could certainly build nightlies with ngspice, either by using the lib he created, or KiCad could fork the lib to avoid depending on the one @aimylios provides.
Again, please look at:
https://copr.fedorainfracloud.org/coprs/aimylios/kicad-nightly/
where he spells out the reasons in more detail.
Note that ngspice would be easy for the nightlies to support, but wxpython would not be easy. That is because of conflicts with the official Fedora. I.e., to use wxpython in KiCad, one has to remove some other things from Fedora, which most people would not find acceptable.
@mangelajo
Can we leave KICAD_SCRIPTING_WXPYTHON enabled? , that was the reason why I created this packaging in the first place :D
Unfortunately, we can't enable KICAD_SCRIPTING_WXPYTHON because the official wxPython package is built against GTK3. KiCad needs to be built against GTK2, and for some obscure reason the combination of KiCad with GTK2 and wxPython with GTK3 makes the KiCad GUI unusable. Other distributions (e.g., Arch) suffer from the same problem. As @stevefalco already mentioned, I have prepared a custom package of wxPython built against GTK2 that I ship as part of my personal kicad-nightly copr. This is a dirty workaround and not suitable for upstream. In the meantime, I have found a less intrusive way to achieve the same thing, but this would require to change the way how KiCad calls wxPython, which will probably cause issues on other platforms. The only real solution is to port KiCad to GTK3.
@nickoe
What is the issue with ngspice? I would like to see it enabled in the kicad copr nightlies.
Me too, but the maintainer of the Fedora ngspice package refuses to include the shared library (e.g., see RHB 1440904 and 1492481). Version 28 of ngspice has recently been released. I'll try to find out whether it resolves his concerns, maybe we can fix this problem before the KiCad 5.0 release.
@aimylios oh, right, I'm remembering that. It'd be great if we can publish your copr in the website (if it's not already published) :) thanks for working on it.
@mangelajo Until now, it was not "officially" published anywhere. To change this, I just advertised it on the kicad.info forum: https://forum.kicad.info/t/kicad-5-and-nightly-builds-for-fedora-linux/11144 It might be a bit too "advanced" for the average KiCad user. Also, I won't promise to maintain it until the end of days. The KiCad website may thus not be the best place to publish it. @nickoe, any thoughts?
By the way, I noticed that the description of the official KiCad nightly copr still says: This is a nightly built repository for KiCad with wxPython and wxGTK3(gtk2 based) and python scripting enabled. This should be corrected to not confuse new users.
@aimylios I have updated the description on the copr package.
I don't understand your postualate in your forum post about:
There is currently no easy way to install the KiCad 5 release candidates on Fedora. I therefore decided to set up my own KiCad 5 Copr repository. If you want to give it a try, you can find it here: https://copr.fedorainfracloud.org/coprs/aimylios/kicad-release/
Users can use the KiCad copr. If you think something is missing, please make some proposals for changes via pull requests. Did we miss something from pull request https://github.com/KiCad/fedora-packaging/pull/5 . @stevefalco marked it as closed, so I assumed that you got all the changes you wanted at that time merged.
As I mentioned earlier, I would like to see the same package names used as we discussed earlier that aligns with the debian package, but where the demos are included with the core. And also a libraries meta pacakge. I hope the upstream fedora package will be the same such that it is easy for users to migrate to the stable packges when we finally release.
@nickoe I don't agree. Nightlies are not release candidates. The whole idea of an RC is to have a specific codebase that is used and tested by many users on various platforms. This makes it easier to identify and reproduce bugs and fix them before the final release. E.g., in the Fedora world, RCs are often packaged for Rawhide (whereas nightly builds are not). It is true, though, that the KiCad developers seem to have a different interpretation. Neither RC1 nor RC2 have been announced on the website, and there is no place where you can download pre-built binaries. In my opinion, this is a shame. There are many users out there who are afraid to install something called "nightly build", but would be happy to try out a "release candidate". I try to fill this gap with my kicad-release copr (which is different to the nightlies in that it is not a debug build, is modular and only gets updated with a new tag RC1/RC2/etc.).
I am happy to propose further changes to the nightlies, but I'd prefer to wait until upstream has decided on a new packaging scheme and then adopt it. As far as I understand, @stevefalco is currently working on that and we will see which of his ideas get accepted by the maintainer. As pointed out before, a solution similar to Debian would be my preference as well.
Maybe this forum post was not a good idea at all. So far it has only caused confusion and attracted people asking about the official nightlies...
Indeed I am working with the official Fedora packaging. I've received a second set of comments, and I'm reworking my patch set to comply.
As @aimylios says, RC builds are different from nightlies, and what Fedora publishes is yet again different. For example, one comment I received relates to python2-devel. That may not fly as a build requirement, since it is soon to become obsolete. So, I may have to remove all that stuff to get the package accepted.
@aimylios and @stevefalco Any updates to this?
1) I don't think anything is changing regarding ngspice. I downloaded the ngspice-28-2 rpm, and there are no libs in it. Also, I didn't see a separate libngspice rpm.
2) I am in the process of separating out the 3D models as per the request in https://bugzilla.redhat.com/show_bug.cgi?id=1548851. It would be great to converge the spec files. They are fairly close, but I did have to turn off all scripting, because @lkundrak was not comfortable with the python 2 libs. I hope KiCad can move to python 3, so we can add the scripting back in.
3) I'm not aware of any other spec issues. My Fedora builds are crashing when I try to open the 3D view in pcbnew. I need to try with the nightlies to see if it is something unique to my builds or something more generic.
ngspice has already been updated to version 28 in Fedora 28, but the issue that code model files are different when building the shared library remains. The underlying problem has been resolved upstream (see commit fe8126) and this fix will be part of ngspice 29. @nickoe, I see you have commented bug 1440904 today. I will add a proposal to cherrypick the bugfix and add it to version 28.
The only thing I would like to backport from upstream is to remove the dblatex dependency. I have already prepared a patch to do that and will submit a PR later today. As soon as upstream moves the 3D models into a separate package, the nightly builds should follow. I will prepare a PR for this as well, so that @nickoe can merge it as soon as @stevefalco has made his changes. After that, we can close this issue. A more fine grained package structure will have to wait until upstream is open to accept it. The nightlies should not deviate too much.
I'm not aware of anything else that would merit its own issue. @stevefalco: I did not check your Rawhide build, but the 3D viewer does not cause any problems with the packages from my kicad-release copr.
Now that the 3D models have their own RPM kicad-packages3d (see PR #18), I consider this issue to be resolved.
The KiCad suite consists of multiple building blocks:
Fedora currently puts all of this into just two RPMs (e.g., see 4.0.7-3.fc28):
The nightly builds at the @kicad/kicad Copr even provide only a single package for everything (except documentation, which is not included at all).
Considering the enormous size of the libraries (especially the 3D models) a better packaging strategy needs to be found. There is already a proposal on how Debian (and Ubuntu, I think) want to handle this. As some refactoring of this repo is currently going on, I decided to open this issue as a platform to discuss the pros and cons of the different approaches for the nightlies.
Personally, I would like to see the nightly builds not to deviate too much from upstream. This will make it easier for users to switch back and forth. As a first step, I suggest to reintegrate the documentation and thereby close the gap to the stable packages (see PR #6). After that, the quality of the nightlies should be improved (clean up SPEC even more, add OCE, add python scripting). A new packaging scheme would only be the last step for me.
In my personal release builds (source, Copr) I have separated the libraries from the main application and ended up with a collection of six RPMs: kicad, kicad-doc, kicad-footprints, kicad-packages3D, kicad-symbols, kicad-templates But one could go even further and put the demos into a separate package. Or add a meta-package kicad-libraries that just pulls in templates, symbols, footprints and 3D models as a dependency.
The next question would then be whether this shall be handled with a single SPEC file or not. Separate SPECs would make it possible to do selective updates, e.g. ship new footprints without touching applications and other libraries. Admittedly, for the nightlies this is probably not really relevant, as they will provide an up-to-date version of everything every day.
@lkundrak: What are your plans for the stable builds of KiCad 5?
@nickoe, @stevefalco: What do you think?