[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#818974: packaging



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.mackenzie@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.mackenzie@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.mackenzie@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
<costamagnagianfranco@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


Reply to: