Week 7
Meeting 11
(July 23rd, 2021)
This week I implemented CMake packaging configuration for FOSSology. There were two meetings in this week and this report covers both of them.
Attendees
Week 7 Progress
- Initial CMake packaging configuration implemented.
- Packages can be built according to the FOSSology previous packaging structure.
- Copyright, ecc and keyword now builds faster.
- To test the current progress, follow the instructions here
Discussions
-
Where I can find packaging info for FOSSology?
- All the scripts and companion files are located inside
debian
folder. - The most important files are
control
, which contains the dependency and description of each package, andrules
file, which contains the make commands for creating the packages.
- All the scripts and companion files are located inside
-
What are
${shlibs:Depends}
and${misc:Depends}
?- They are dependencies required for creating Debian packages. CMake should be adding them by default so we can safely ignore them.
-
Will the new packages have the same structure as the old ones? (Michael)
-
Yes for compatibility purposes Gaurav has suggested exactly follow the same structure as the old one.
-
-
Copyright build is slow because the same object files are being compiled three times, can you improve that? (Gaurav)
-
I can try compiling the common object files beforehand and then adding the executables. But how to know the common object files?
-
Gaurav showed me where in the Makefiles I can find the common object files.
-
-
There are problems with copying the symbolic link and packaging them. So I have to find some alternatives to resolve that.
-
With component installing, package description can no longer be set.
-
The
fossology-common
package contains file fromfossology-db
package. And thefossology-db
package is empty.- Gaurav said this was unexpected and should not happen. This seems to be a very old bug with packaging.
Conclusion and Further Plans
- Work more on the packaging.
- Improve compilation of copyright and monk agents
- Try to solve the packaging bug and add a pull request for that.
- Move on to implementing testing configurations.