control: tags -1 Hi All,
Thanks for all the comments. Sorry for the delay in responding, I realized that it would be much better if the code built using autotools - rather than my random build system. So, I swapped out the build system for autotools, this took quite a while. The old build system also autogenerated some .c/.h files that I thought was not a nice thing to do, I think also the debian build system complained about this. So I rewrote the plugin system to avoid having to do this - this also required significant changes to the code – which also took time. Below I’ve indicated how I’ve addressed each comment, given on the thread above. I also got some comments from IRC, which I’ve put right at the bottom of the post. I have indicated comments with a “Q:” and my answers with an “A:” A new copy of the deb files can be downloaded from: https://github.com/roderickmackenzie/gpvdm/releases/tag/gpvdm-4.42 Happy to make more changes if needed, Rod Q: $ find -type f \( -iname '*.sh' -o -iname '*.bash' \) -exec bashate --ignore E002,E003 {} + E010: Do not on same line as for: 'for i in `find -type f` ; do md5sum $i; done >list.dat' - ./update.sh : L23 E001: Trailing Whitespace: 'mkdir ${rpmdir} ' - ./make_rpm.sh : L33 E001: Trailing Whitespace: 'cd ${rpmdir} ' - ./make_rpm.sh : L34 E010: Do not on same line as for: 'for i in `find|grep -v .git|grep -v .o$|grep -v ~$|grep -v materials|grep -v dll$|grep -v .so$`' - ./to_github.sh : L123 4 bashate error(s) found A:I’ve fixed this now and the command gives no errors. Q: # Check with upstream where the GIMP XCF source files are. $ find -type f \( -iname '*.png' -o -iname '*.gif' -o -iname '*.jpg' -o -iname '*.jpeg' \) -exec grep -iF gimp {} + Binary file ./images/image.jpg matches Binary file ./images/icon.png matches Binary file ./images/splash.png matches # Check with upstream where the Inkscape SVG source files are. $ find -type f \( -iname '*.png' -o -iname '*.gif' -o -iname '*.jpg' -o -iname '*.jpeg' \) -exec grep -iF inkscape {} + Binary file ./images/dir_file.png matches Binary file ./images/book.png matches Binary file ./images/play.png matches ... A: All inkscape svg files used by the code are now there in the ./images/ directory, and the build system generates the pngs from the svg files. Three png files did not play nice with rsvg, so I just ship the svg and png files together and don’t let the build system generate them. I don’t have the XCF files for the jpgs, I don’t think I ever saved them. Q: $ find -type f -iname '*.sh' -exec checkbashisms {} + could not find any possible bashisms in bash script ./clean_all.sh could not find any possible bashisms in bash script ./update.sh could not find any possible bashisms in bash script ./winpub.sh could not find any possible bashisms in bash script ./buildplugins.sh could not find any possible bashisms in bash script ./make_rpm.sh could not find any possible bashisms in bash script ./get_elec_plugins.sh A: Fixed, no errors are given anymore. Q: cme check dpkg ... Warning in 'control source Standards-Version' value '3.9.6': Current standards version is 3.9.7 File debian/copyright line 1 has a syntax error: DpkgSyntax error: Invalid line (missing ':' ?) : Copyright 2015 Roderick Charles Ian MacKenzie <r.c.i.macken...@googlemail.com> A: Fixed, no errors are given. Q: $ codespell --quiet-level=3 /inp.c:577: compatability ==> compatibility /dump_dynamic.c:399: efficency ==> efficiency /makefile:17: inital ==> initial /LICENSE:169: publically ==> publicly /make_rpm.sh:159: automaticly ==> automatically /make_rpm.sh:205: intergration ==> integration /gui/update.py:101: forbiden ==> forbidden /gui/update.py:145: avaliable ==> available /gui/copying.py:48: nTo ==> not | disable due to \n /gui/listen_for_files_on_network.py:70: recived ==> received /gui/cmp_class.py:234: extention ==> extension /gui/qe.py:234: Efficency ==> Efficiency /solvers/newton_norm/newton.c:1470: propper ==> proper /solvers/newton/newton.c:1572: propper ==> proper A: Fixed Q: $ find -type f -iname '*.c' -exec complexity {} + <lots> A: This seems to measure the complexity of the code. Q: $ cppcheck -j1 --quiet -f . [complex_solver.c:131]: (error) Common realloc mistake: 'x' nulled but not freed upon failure [complex_solver.c:132]: (error) Common realloc mistake: 'xz' nulled but not freed upon failure [complex_solver.c:133]: (error) Common realloc mistake: 'Ap' nulled but not freed upon failure [complex_solver.c:134]: (error) Common realloc mistake: 'Ai' nulled but not freed upon failure <lots> A: Fixed – now gives no output. Q: $ find -type f -iname '*.desktop' -exec desktop-file-validate {} \; /gui/gpvdm.desktop: error: line " Name=gpvdm" starts with a space. Comment, group and key-value lines should not start with a space. The validation will continue, with the leading spaces ignored. /gui/gpvdm.desktop: error: line " Icon=/usr/share/gpvdm/gui/image.jpg" starts with a space. Comment, group and key-value lines should not start with a space. The validation will continue, with the leading spaces ignored. /gui/gpvdm.desktop: error: line " Type=Application" starts with a space. Comment, group and key-value lines should not start with a space. The validation will continue, with the leading spaces ignored. /gui/gpvdm.desktop: error: line " MimeType=application/gpvdm" starts with a space. Comment, group and key-value lines should not start with a space The validation will continue, with the leading spaces ignored. /gui/gpvdm.desktop: error: line " Exec=gpvdm %F" starts with a space. Comment, group and key-value lines should not start with a space. The validation will continue, with the leading spaces ignored. /gui/gpvdm.desktop: error: line " Terminal=true" starts with a space. Comment, group and key-value lines should not start with a space. The validation will continue, with the leading spaces ignored. /gui/gpvdm.desktop: error: line " Categories=GTK;GNOME;Education;Science;" starts with a space. Comment, group and key-value lines should not start with a space. The validation will continue, with the leading spaces ignored. /gui/gpvdm.desktop: error: value "application/gpvdm" for string list key "MimeType" in group "Desktop Entry" does not have a semicolon (';') as trailing character /gui/gpvdm.desktop: hint: value "GTK;GNOME;Education;Science;" for key "Categories" in group "Desktop Entry" contains more than one main category; application might appear more than once in the application menu A: Fixed – this command now gives no output. Q: $ find \( -name .git -o -name .svn -o -name .bzr -o -name CVS -o -name .hg -o -name _darcs -o -name _FOSSIL_ -o -name .sgdrawer \) -prune -o -empty -print /plugins/pulse/build.inp /plugins/jv/build.inp /plugins/fxdomain/build.inp /solvers/umfpack/build.inp /solvers/newton_norm/build.inp /solvers/newton/build.inp /exp /build_fit_plugins.sh /main_args.c A: Fixed showing – this command now gives no output. The build.inp files were part of the old build system – which is now gone. Q: $ fdupes -q -r . | grep -vE '/(\.(git|svn|bzr|hg|sgdrawer)|_(darcs|FOSSIL_)|CVS)(/|$)' | cat -s A: I've Looked at this, and the duplications are configure files used the optical properties of materials, I can’t really remove them. Q: $ grep -Er '/(home|srv|opt)(\W|$)' . <lots> A: Fixed any occurrences in the .py/.c/.h files. The remainder are in inkscape files, which represent where I last saved the file.. There are a couple of hard paths set in configure.ac but this is for the windows build system that I use when making the windows exe, won’t affect linux systems. Q: $ flawfinder -Q -c . <lots> A: Users will be generating the input files them selves, so I think this should mitigate any security issues. Q: $ find -type f \( -iname '*.po' -o -iname '*.pot' \) -exec POFileChecker {} + <po-file-checker> <file name="./po/de.po" allow="0"> <error line="638" message="118">missing .</error> <error line="1210" message="249">missing : </error> <error line="1347" message="276">extra \n</error> </file> </po-file-checker> A: All fixed – command gives no output. Q: $ find -type f \( -iname '*.po' -o -iname '*.pot' \) -exec POFileSpell {} + <lots> A: The tool seems to be complaining about correctly spelt German words in the German .po file. Maybe it’s using an English dictionary – not sure. Q. # check if these can be switched to https:// $ grep -rF http: . <lots> A. I will look into getting an ssl cert. But ‘Let’s encrypt’ did not run on my web server last time I checked. Q: $ find -type f \( -iname '*.po' -o -iname '*.pot' -o -iname '*.mo' -o -iname '*.gmo' \) -exec i18nspector {} + W: ./lang/de_DE/LC_MESSAGES/gpvdm.mo: language-disparity de_DE (pathname) != de (Language header field) I: ./lang/de_DE/LC_MESSAGES/gpvdm.mo: no-package-name-in-project-id-version (empty string) P: ./lang/de_DE/LC_MESSAGES/gpvdm.mo: no-version-in-project-id-version (empty string) W: ./lang/de_DE/LC_MESSAGES/gpvdm.mo: no-report-msgid-bugs-to-header-field W: ./lang/de_DE/LC_MESSAGES/gpvdm.mo: invalid-last-translator (empty string) I: ./po/gpvdm.pot: boilerplate-in-initial-comments "Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER" I: ./po/gpvdm.pot: boilerplate-in-initial-comments 'This file is distributed under the same license as the PACKAGE package.' W: ./po/gpvdm.pot: boilerplate-in-project-id-version 'PACKAGE VERSION' W: ./po/gpvdm.pot: no-report-msgid-bugs-to-header-field I: ./po/de.mo: no-package-name-in-project-id-version (empty string) P: ./po/de.mo: no-version-in-project-id-version (empty string) W: ./po/de.mo: no-report-msgid-bugs-to-header-field W: ./po/de.mo: invalid-last-translator (empty string) I: ./po/de.po: boilerplate-in-initial-comments "Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER" I: ./po/de.po: boilerplate-in-initial-comments 'This file is distributed under the same license as the PACKAGE package.' I: ./po/de.po: boilerplate-in-initial-comments 'FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.' I: ./po/de.po: no-package-name-in-project-id-version (empty string) P: ./po/de.po: no-version-in-project-id-version (empty string) W: ./po/de.po: no-report-msgid-bugs-to-header-field W: ./po/de.po: invalid-last-translator (empty string) A: Fixed these errors. Now it’s only complaining bout the de_DE directory name. Not sure why. Q: $ find -type f \( -iname '*.c' -o -iname '*.cc' -o -iname '*.cxx' -o -iname '*.cpp' -o -iname '*.h' -o -iname '*.hh' -o -iname '*.hxx' -o -iname '*.hpp' \) -exec include-what-you-use {} \; <lots> A: I’ve gone through all of the output, to this command but quite a lot seem like false warnings. Q. $ license-reconcile FormatSpec: Cannot recognize format: Copyright 2015 Roderick Charles Ian MacKenzie <r.c.i.macken...@googlemail.com> at /usr/share/perl5/Debian/LicenseReconcile/App.pm line 222. CopyrightParsing: Parse error: invalid key/value stansa at line 1 of data ("Copyright 2015 Roderick Charles Ian MacKenzie <r.c.i.macken...@googlemail.com>"). A. I can’t figure out how to fix this. I want all my code to be under GPL v2, i.e. not GPL v2+, it seems to think some files are GPV v2+. I’m not sure why. Suggestions appreciated. Q: $ find -type f \( -iname '*.po' -o -iname '*.pot' \) -exec msgfmt --check --check-compatibility --check-accelerators --output-file=/dev/null {} \; <lots> A: Finished the German translation. Q: $ find -type f -iname '*.py' -exec pep8 --ignore W191 {} + <lots> A: This seems to be complaining about my python coding style – not sure I'm want to change this. Q: $ find -type f -iname '*.py' -exec pyflakes {} + <lots> A: Reduced from 1000+ to 59 remaining. Q: $ find -type f -iname '*.py' -exec pyflakes3 {} + <lots> A: There is no py3 code. Q: $ find -type f -iname '*.py' -exec pylint --msg-template='{path}:{line}:{column}: [{category}:{symbol}] {obj}: {msg}' --reports=n {} + A: This seems to be commenting on the prettiness of my python code, I'm not sure it is worth implementing this. Q: $ find -type f \( -iname '*.sh' -o -iname '*.bash' -o -iname '*.zsh' \) -exec shellcheck {} + <lots> A: Fixed – command gives no errors. $ find -type d \( -iname .bzr -o -iname .git -o -iname .hg -o -iname .svn -o -iname CVS -o -iname RCS -o -iname SCCS -o -iname _MTN -o -iname _darcs -o -iname .pc -o -iname .cabal-sandbox -o -iname .cdv -o -iname .metadata -o -iname CMakeFiles -o -iname _build -o -iname _sgbak -o -iname autom4te.cache -o -iname blib -o -iname cover_db -o -iname node_modules -o -iname '~.dep' -o -iname '~.dot' -o -iname '~.nib' -o -iname '~.plst' \) -prune -o -type f ! \( -iname '*.bak' -o -iname '*.swp' -o -iname '#.*' -o -iname '#*#' -o -iname 'core.*' -o -iname '*~' -o -iname '*.gif' -o -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' -o -iname '*.min.js' -o -iname '*.js.map' -o -iname '*.js.min' -o -iname '*.min.css' -o -iname '*.css.map' -o -iname '*css.min' \) -exec spellintian --picky {} + ... /gui/qe.py: Efficency -> Efficiency - fixed /inp.c: compatability -> compatibility - fixed /LICENSE: GNU Public Licence -> GNU General Public License – file deleted replaced with COPYING /lang/de_DE/LC_MESSAGES/gpvdm.mo: python -> Python – deleted file /make_rpm.sh: automaticly -> automatically - fixed /make_rpm.sh: python -> Python – fixed /po/gpvdm.pot: python -> Python - fixed /po/de.mo: python -> Python – file deleted /po/de.po: python -> Python – fixed A: I’ve fixed this, what remains seems to be from variable names and names of packages etc... Q: $ suspicious-source /sim.gpvdm /lang/de_DE/LC_MESSAGES/gpvdm.mo /man_pages/gpvdm_core.1.gz /man_pages/gpvdm.1.gz /device_lib/silicon.gpvdm /device_lib/a-silicon.gpvdm /device_lib/p3htpcbm.gpvdm /device_lib/cigs.gpvdm /device_lib/default.gpvdm /device_lib/oled.gpvdm /po/de.mo A: Fixed. Only .gpvdm files remaining – which are just gpvdm save files. Which are actually just zip files containing lots of text files. Now these comments came off IRC: Q debian/copyright: please use a copyright formatted using copyright-format 1.0 (google for it) A: I think the copyright file is now OK. Q: debian/control: clearly you miss a lot of build-depends, as said on IRC + I expect Depends to contain only/mainly auto-generated stuff, so try to keep only ${shlibs:Depends} and ${misc:Depends} and see what happens. Also, depending on -dev packages in Depends is worrisome, you should try to understand what you added there and what you actually need, in Depends should be only what the package really needs to work with. A: Done this, although it the build process dose not seem to pick up all of the python libs so I had to add a few by hand. Q: + please run wrap-and-sort(1) (from the devscripts package) to sort the deps and wrap them (easier to run diff on them) A: Done. Q:+ outdated Standards-Version A: Done. Q: * gpvdm.lintian: + can't figure how this file would work. to be picked up automatically by dh_lintian(1) it needs to have another file name + yet, when you override a lintian tag always put a commit there too + that's really a tag you shouldn't override, as it is probably right. A: I've removed the need for openssl from the code and deleted the override tag. Q: * gpvdm.manpages: you seems to be upstream of this package? then why not teach your build system to install the manpages? ;) but it's otherwise fine. A: I've done this with the new autotools build system and deleted the gpvdm.manpages file in the debian directory. Q: gpvdm source: missing-debian-source-format - really, without this nobody is going to sponsor you nowadays (for good reasons, without that file this is a package format 1.0, which is ugly) A: Added this. Q: + P: gpvdm source: no-homepage-field - you are upstream, and you linked as the homepage, why not put it here too?. A: Fixed. Q: gpvdm source: direct-changes-in-diff-but-no-patch-system elec_plugins.h and 1 more - see, that's what happens with source format 1.0, I can't even be bothered to go check what diff is that. A: Was due to old build system autogenerating the files, files are not needed with new autoconf build system. Q: gpvdm source: out-of-date-standards-version 3.9.6 (current is 3.9.7)- as above A: Fixed. Q: I: gpvdm source: debian-watch-file-is-missing - well, even if you know when you'll make a new release, this is useful for anyway, as there are a lot more people doing QA that check the output of these things. A: Fixed. On Thu, Mar 31, 2016 at 5:03 PM, Gianfranco Costamagna <costamagnagianfra...@yahoo.it> wrote: > control: owner -1 ! > control: tags -1 moreinfo > > Hi, please remove moreinfo when done, and I'll have a look/sponsor the > package. > > thanks for your work! > > > > Gianfranco