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

Bug#818974: packaging



Hi Gianfranco,
  I've now used license-reconcile and a bit of copy and paste from
hedgewars to sort out the copyright file.  It's now only complains
about a single .png image - although I think this could be a bug in
license-reconcile as the copyright file looks OK to me.

I also think my upload_everything_to_gihub.sh script  failed to update
the debian directory.  Hence, I think you were looking at an old
version.

I've put the new version at:
  https://github.com/roderickmackenzie/gpvdm/releases/tag/gpvdm-4.43

Hope this improves things.

Many thanks,
Rod

On Wed, 2016-04-20 at 17:45 +0000, Gianfranco Costamagna wrote:
> Hi, quick answer:
> thanks for the fixes.
> 
> 
> some quick issues:
> copyright is missing the copyright text 
> (look e.g. hedgewars package to see a some licenses to copy-paste)
> 
> Depends: is for runtime dependencies, having a -dev here is just
> wrong.
> please let shlibs:Depends do its job, and probably if it fails it is
> because no libraries are currently using the libraries?
> 
> 
> 
> I see you have some dlopens, in that case you might want to runtime
> depends on the runtime libraries
> (and do source uploads at each soname bump)
> 
> SIGH.
> 
> gedit license:
> (snip)
> it under the terms of the GNU General Public License as published by
> the Free Software Foundation; either version 2 of the License, or
> (at your option) any later version.
> 
> (snip)
> 
> you seem to be GPL-2+ on your software.
> 
> still don't see changes, e.g. source/format and so on
> debian/files is useless.
> 
> it is all for now, I'll try again when you fix the above.
> 
> cheers,
> 
> G.
> 
> 
> Il Mercoledì 20 Aprile 2016 15:00, Roderick MacKenzie <r.c.i.mackenzi
> e@googlemail.com> ha scritto:
> 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: