As discussed in #2350:
Yes, the current situation is really bad. Is there any reason not to have the files for building the debian package on the master branch, so that each PR could modify them separately?
The setup was as recommended by gbp buildpackage (at the time when I did it). But I fully agree it causes many problems (also the debian/copyright).
Following issues need to be resolved:
@kodebach wrote in #2372:
It should be possible to use CPack components to produce multiple packages. Might be worth investigating for #2353.
Yes, if @pinotree does not react and we need to reimplement the packages, this sounds like a viable option. This feature did not exist several years ago but seems to be now fully supported also with Debian packages (see https://cmake.org/cmake/help/v3.6/module/CPackDeb.html). The advantage would be, that we also get packages for Windows and Mac OS X. (See also #435, @beku said, he used components to build OS X frameworks and app bundles.)
@sanssecours What do you think?
And one more thing: If we build the packages from within CMake, we can also use the dependencies as documented within plugins, see #1016 for the proposal.
What do you think?
Sounds like using CPack would improve the current situation, so I am definitely a proponent of switching the packaging build system.
I may have solved the problem of the debian/copyright file possibly being under GPL
I ran scancode against the Elektra repository, I then filtered out anything that was BSD-3 licensed (called bsd-new by scancode). I checked the remaining ~30 files and came up with the following summary:
*: bsd-new
cmake/Modules/DownloadProject.cmake: mit
cmake/Modules/DownloadProject.CMakeLists.cmake.in: mit
cmake/Modules/DownloadProjectLicense.txt: mit
cmake/Modules/FindGLib.cmake: mit
scripts/realpath: mit
src/plugins/ni/nickel-1.1.0/*: zlib
src/plugins/ni/nickel-1.1.0/src/hash.c: public-domain, public-domain-disclaimer
src/tools/rest-frontend/public/assets/fonts/font-awesome/*: ofl-1.1
src/tools/rest-frontend/public/assets/fonts/lato/*: ofl-1.1
src/tools/rest-frontend/public/assets/fonts/libre-franklin/*: ofl-1.1
src/tools/rest-frontend/resources/assets/skin/base/fonts/font-awesome/font-awesome.less: mit, ofl-1.1
src/tools/rest-frontend/resources/assets/skin/base/util/space.less: mit
src/tools/web/client/public/Roboto-Light.ttf: apache-2.0
src/tools/web/client/public/Roboto-Regular.ttf: apache-2.0
Compared to the debian/copyright file, this found some additional licenses (e.g. FindGLib.cmake). The only license missing is the one for asciinema, because we actually don't have a copyright or license file. We should definitely add this as src/tools/rest-frontend/public/vendor/asciinema/LICENSE.
Thank you very much! So we are one step closer to CPack. It would also be great if we can build RPMs (#2519).
Maybe someone new will join us to do automatic releases. I already talked with him and he liked the idea of working on this but there is no fixed date when he will start working.
Maybe we let even scancode run on the build-server so that the license file is checked to be up-to-date?
Maybe we let even scancode run on the build-server so that the license file is checked to be up-to-date?
That is a big "maybe"... It takes quite some time to run and the output is a huge JSON (other formats are available) file that needs some post-processing. If it works at all we definitely need to add some exceptions rules, because e.g. for cmake/Modules/FindLua.cmake it detects lgpl-2.0-plus and wxwindows-exception-3.1, but actually it is BSD licensed.
It would also be great if we can build RPMs
Should be possible with CPack
Maybe someone new will join us to do automatic releases
I have experimented a bit with adding components and component groups based on plugins and libraries and got as far as producing separate .tar.gz binary packages for the different plugins and libraries. So let me know, if this persons starts their work, so that I can send them what I have got...
cmake/Modules/FindLua.cmake
It seems like we did not do what we should have done ("To distribute this file outside of CMake, substitute the full License text for the above reference.") Maybe this already would fix the problem.
Should be possible with CPack
:+1:
I have experimented a bit with adding components and component groups based on plugins and libraries and got as far as producing separate .tar.gz binary packages for the different plugins and libraries. So let me know, if this persons starts their work, so that I can send them what I have got...
I think the easiest way is that you create a PR.
Maybe this already would fix the problem.
Yes, it probably would
I think the easiest way is that you create a PR.
I'll do that but I will have to do some cleanup first... I added a lot of debug messages to understand our CMake setup
I extracted the license issues from here and added them to #2528.
I'll do that but I will have to do some cleanup first... I added a lot of debug messages to understand our CMake setup
If you can summarize what you found out in our docu, it may help newcomers :+1:
Can we add your summary above in our LICENSE.md?
Can we add your summary above in our LICENSE.md?
Sure :thumbsup:
It seems like GitHub does not recognize LICENSE.md when I add the lines...
Possibly adding a LICENSE (without extension) file which only contains our BSD license solves the problem. Alternatively a good solution would be to keep LICENSE.md with only the BSD license and add a second file THIRD-PARTY-LICENSES.md which contains all the third party licenses. We should probably also mention files that are under the same BSD license we use, but have a different copyright holder.
Thank you, good idea. I added the file THIRD-PARTY-LICENSES (without extension as it is best to be interpreted as text).
I mark this issue stale as it did not have any activity for one year. I'll close it in two weeks if no further activity occurs. If you want it to be alive again, ping the issue by writing a message here or create a new issue with the remainder of this issue.
Thank you for your contributions :sparkling_heart:
I closed this issue now because it has been inactive for more than one year. If I closed it by mistake, please do not hesitate to reopen it or create a new issue with the remainder of this issue.
Thank you for your contributions :sparkling_heart:
Most helpful comment
Sure :thumbsup: