Hi Michael, this approach would be similar to the root file checker already included in the "tools directory. Maybe this approach is now the better one because we can recheck this tool against existing correct root files, which should make it easy to find errors in the expressions. As such a tool should be well tested and I have to try out BDD (Behaviour Driven Development) I will try, to combine these and create a little software for this task. I will report back when I have results. Jonatan Am Donnerstag, den 10.09.2020, 12:45 +0100 schrieb Michael Tremer: > Hello Jonatan, > > We have already talked about this patch on the last telephone > conference, but I would still like to put forward this: > > Can we not change this patch, so that it only tells us what > could/should potentially be changed? So the command will simply say > things like “/usr/lib/libabc.so is a development file and should not > be included”. > > Wouldn’t that avoid the problem of any automatic errors and we still > have a helper that makes the whole process easier for developers? > > For that, the sed statements simply have to be changed to grep and > the output of that has to be dealt with. > > -Michael > > > On 5 Sep 2020, at 09:40, Jonatan Schlag <jonatan.schlag(a)ipfire.org> > > 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(a)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|toolchai > > n|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 > > -- > > 2.20.1 > >