Hallo Jonatan,
Having looked at /usr/lib further I have noted that programmes such as conntrack-tools and collectd just use .so files and the solution with them is to have their own directory under /usr/lib.
So I could do the same with bacula and change the libdir in configure to be /usr/lib/bacula. I think that should solve the problem. Just have to remember to do the change when the next bacula update occurs.
Regards,
Adolf
On 05/09/2020 21:14, Adolf Belka wrote:
Hallo Jonatan,
I see that you have a rule to remove all .so shared libraries from /usr/lib
With the bacula addon, this will give a problem as bacula have a different approach to the naming of their shared libraries
/usr/lib/libbac-9.6.5.so /usr/lib/libbaccfg-9.6.5.so /usr/lib/libbaccfg.so -> libbaccfg-9.6.5.so /usr/lib/libbacfind-9.6.5.so /usr/lib/libbacfind.so -> libbacfind-9.6.5.so /usr/lib/libbac.so -> libbac-9.6.5.so
As you can see the .so is at the end of all the files so that rule would remove all shared libraries causing bacula to fail to load.
If this rule is implemented in make.sh then the only option I can think of for bacula would be to change the library location from /usr/lib to /lib unless someone else has any suggestions for how I could deal with it.
Regards,
Adolf
On 05/09/2020 10:40, Jonatan Schlag wrote:
There are some rules which files should be definitely not included in a rootfile. Applying these rules by hand is error prone and annoying. So I wrote these simple command, because computer can apply these rules faster and better than humans :-;
It removes all lines starting with '-' and comment out all lines which point to files which should not be included in the distribution. This list needs to be extended, but I think this is a good starting point to make the creating of rootfiles easier.
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org
make.sh | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/make.sh b/make.sh index 4a9dd3cb6..909d4a4de 100755 --- a/make.sh +++ b/make.sh @@ -1895,6 +1895,41 @@ downloadsrc) fi cd - >/dev/null 2>&1 ;; +format-rootfile) + if [ ! -f $2 ]; then + echo -n "'$2' is not a regular file" + beautify message FAIL + exit 1 + fi
+ ROOTFILE_TO_FORMAT="$2"
+ # Remove all .so files in /usr/lib + sed -i '/^+usr/lib/.*.so$/s/+/#/g' "$ROOTFILE_TO_FORMAT"
+ # Remove all .a files in /usr/lib + sed -i '/^+usr/lib/.*.a$/s/+/#/g' "$ROOTFILE_TO_FORMAT"
+ # Remove all .la files in /usr/lib + sed -i '/^+usr/lib/.*.la$/s/+/#/g' "$ROOTFILE_TO_FORMAT"
+ # Remove all .hpp files in /usr/include + sed -i '/^+usr/include/.*.hpp$/s/+/#/g' "$ROOTFILE_TO_FORMAT"
+ # Remove all .h files in /usr/include + sed -i '/^+usr/include/.*.h$/s/+/#/g' "$ROOTFILE_TO_FORMAT"
+ # Remove all .ipp files in /usr/include + sed -i '/^+usr/include/.*.ipp$/s/+/#/g' "$ROOTFILE_TO_FORMAT"
+ # Remove all .m4 files in /usr/share/aclocal + sed -i '/^+usr/share/aclocal/.*.h$/s/+/#/g' "$ROOTFILE_TO_FORMAT"
+ # Remove all lines starting with - + sed -i '/^-.*$/d' "$ROOTFILE_TO_FORMAT"
+;; toolchain) # Clear screen ${INTERACTIVE} && clear @@ -1990,7 +2025,7 @@ find-dependencies) exec "${BASEDIR}/tools/find-dependencies" "${BASEDIR}/build" "$@" ;; *) - echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain|update-contributors|find-dependencies}" + echo "Usage: $0 {build|changelog|clean|format-rootfile|gettoolchain|downloadsrc|shell|sync|toolchain|update-contributors|find-dependencies}" cat doc/make.sh-usage ;; esac