# Re: RFS: presage

On Fri, Jun 4, 2010 at 5:51 AM, Matteo Vescovi
<matteo.vescovi@yahoo.co.uk> wrote:

> I am looking for a sponsor/reviewer for my package "presage".

Here is a review:

Since you are packaging a library, I presume you have read
libpkg-guide and its two bugs?

You should never install *.pyc files in the .deb, in Debian they are
always generated by the maintainer scripts.

libpresage1 contains a file that doesn't appear to change its
path/name when the ABI is changed (/etc/presage.xml). This is against
policy and the file needs to be moved elsewhere, probably to the -data
package.

Installation/compilation instructions do not belong in binary
packages, especially for non-Debian platforms. Please remove these
files from the doc package:

doc/INSTALL_Cygwin_dev_env.txt
doc/INSTALL_MinGW_MSYS_dev_env.txt

resources/la_coscienza_di_zeno.txt is under a non-free license. You
need to remove it from the orig.tar.gz.

Your menu files don't list an icon. you might want to build-dep on
imagemagick so you can convert the upstream PNG to an XPM.

It looks like the package includes an embedded code copy of scintilla.
Usually Debian prefers different packages to be packaged separately.
Is that needed? If it is, please notify the security team and give
more details so they can record this information in their
embedded-code-copies file. Same goes for tinyxml.

You might want to look at using debhelper 7 instead of cdbs:

https://penta.debconf.org/dc9_schedule/events/418.en.html
http://kitenet.net/~joey/blog/entry/cdbs_killer___40__design_phase__41__/

Your watch file isn't specific enough:

pabs@chianamo:~/tmp/presage-0.8.2$uscan presage: Newer version (extra-data-arpa-1.0) available on remote site: http://qa.debian.org/watch/sf.php/presage/presage-extra-data-arpa-1.0.tar.gz (local version is 0.8.2) Insert standard whine about package descriptions being duplicates of each other. Please make the binary package descriptions describe the binary packages, not the upstream project. Your Standards-Version is out of date, please read debian-policy upgrading.txt and update it. Your Vcs-Browser URL should point to trunk too. Do you really need to distribute the static library and .la file? In Debian we seem to be moving towards not shipping those. debian/README.Debian is not needed, splitting out libs/etc is standard practice in Debian. Is this warning something to be concerned about? configure: CMU-Cambridge SLM tools not found. ARPA ngram language model will not be built. The package fails to build, it looks like a race condition since it builds with debuild -j1: make[3]: Entering directory /tmp/buildd/presage-0.8.2/bindings' Making all in python make[4]: Entering directory /tmp/buildd/presage-0.8.2/bindings/python' /usr/bin/swig -c++ -python -I../../src/lib -o presage_wrap.cpp -outdir . ./../presage.i make[4]: *** No rule to make target presage_wrap.h', needed by all'. Stop. make[4]: *** Waiting for unfinished jobs.... make[4]: Leaving directory /tmp/buildd/presage-0.8.2/bindings/python' gcc warnings: gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -g -Wall -O2 -fPIC -I../../src/lib -I/usr/include/python2.5 -c presage_wrap.cpp -o build/temp.linux-x86_64-2.5/presage_wrap.o cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ g++ -DHAVE_CONFIG_H -I. -I../../.. -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I./scintilla/include -I./scintilla/src -DNDEBUG -DGTK -DSCI_LEXER -DG_THREADS_IMPL_NONE -g -O2 -g -Wall -O2 -c scintilla/src/Editor.cxx -fPIC -DPIC -o .libs/libscintilla_la-Editor.o scintilla/src/Editor.cxx: In member function 'void Editor::LayoutLine(int, Surface*, ViewStyle&, LineLayout*, int)': scintilla/src/Editor.cxx:2049: warning: array subscript has type 'char' scintilla/src/Editor.cxx:2052: warning: array subscript has type 'char' scintilla/src/Editor.cxx:2055: warning: array subscript has type 'char' scintilla/src/Editor.cxx: In member function 'virtual void Editor::NotifyStyleToNeeded(int)': scintilla/src/Editor.cxx:4090: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifyChar(int)': scintilla/src/Editor.cxx:4101: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifySavePoint(bool)': scintilla/src/Editor.cxx:4108: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifyModifyAttempt()': scintilla/src/Editor.cxx:4118: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'virtual void Editor::NotifyDoubleClick(Point, bool, bool, bool)': scintilla/src/Editor.cxx:4124: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifyHotSpotDoubleClicked(int, bool, bool, bool)': scintilla/src/Editor.cxx:4134: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifyHotSpotClicked(int, bool, bool, bool)': scintilla/src/Editor.cxx:4143: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifyUpdateUI()': scintilla/src/Editor.cxx:4152: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifyPainted()': scintilla/src/Editor.cxx:4158: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifyIndicatorClick(bool, int, bool, bool, bool)': scintilla/src/Editor.cxx:4166: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'bool Editor::NotifyMarginClick(Point, bool, bool, bool)': scintilla/src/Editor.cxx:4184: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifyNeedShown(int, int)': scintilla/src/Editor.cxx:4198: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifyDwelling(Point, bool)': scintilla/src/Editor.cxx:4206: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifyZoom()': scintilla/src/Editor.cxx:4215: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'virtual void Editor::NotifyModified(Document*, DocModification, void*)': scintilla/src/Editor.cxx:4388: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/Editor.cxx: In member function 'void Editor::NotifyMacroRecord(unsigned int, uptr_t, sptr_t)': scintilla/src/Editor.cxx:4523: warning: missing braces around initializer for 'Sci_NotifyHeader' g++ -DHAVE_CONFIG_H -I. -I../../.. -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I./scintilla/include -I./scintilla/src -DNDEBUG -DGTK -DSCI_LEXER -DG_THREADS_IMPL_NONE -g -O2 -g -Wall -O2 -c scintilla/src/ScintillaBase.cxx -fPIC -DPIC -o .libs/libscintilla_la-ScintillaBase.o scintilla/src/ScintillaBase.cxx: In member function 'void ScintillaBase::AutoCompleteCancel()': scintilla/src/ScintillaBase.cxx:296: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/ScintillaBase.cxx: In member function 'void ScintillaBase::AutoCompleteCharacterDeleted()': scintilla/src/ScintillaBase.cxx:337: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/ScintillaBase.cxx: In member function 'void ScintillaBase::AutoCompleteCompleted()': scintilla/src/ScintillaBase.cxx:357: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/src/ScintillaBase.cxx: In member function 'void ScintillaBase::CallTipClick()': scintilla/src/ScintillaBase.cxx:445: warning: missing braces around initializer for 'Sci_NotifyHeader' g++ -DHAVE_CONFIG_H -I. -I../../.. -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I./scintilla/include -I./scintilla/src -DNDEBUG -DGTK -DSCI_LEXER -DG_THREADS_IMPL_NONE -g -O2 -g -Wall -O2 -c scintilla/gtk/ScintillaGTK.cxx -fPIC -DPIC -o .libs/libscintilla_la-ScintillaGTK.o scintilla/gtk/ScintillaGTK.cxx: In member function 'void ScintillaGTK::NotifyKey(int, int)': scintilla/gtk/ScintillaGTK.cxx:1042: warning: missing braces around initializer for 'Sci_NotifyHeader' scintilla/gtk/ScintillaGTK.cxx: In member function 'void ScintillaGTK::NotifyURIDropped(const char*)': scintilla/gtk/ScintillaGTK.cxx:1051: warning: missing braces around initializer for 'Sci_NotifyHeader' g++ -DHAVE_CONFIG_H -I. -I../../.. -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I../../../src/lib -I./scintilla/include -g -O2 -g -Wall -O2 -c -o gprompter-gprompter.o test -f 'gprompter.cpp' || echo './'gprompter.cpp gprompter.cpp: In function 'void on_char_added(SCNotification*, ScintillaObject*, Presage*)': gprompter.cpp:175: warning: format '%d' expects type 'int', but argument 2 has type 'uptr_t' gprompter.cpp:183: warning: format '%d' expects type 'int', but argument 2 has type 'uptr_t' gprompter.cpp:184: warning: format '%c' expects type 'int', but argument 2 has type 'uptr_t' gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -g -Wall -O2 -fPIC -I./src/lib -I/usr/include/python2.5 -c bindings/python/presage_wrap.cpp -o /tmp/buildd/presage-0.8.2/./build/temp.linux-x86_64-2.5/bindings/python/presage_wrap.o cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -g -Wall -O2 -fPIC -I./src/lib -I/usr/include/python2.6 -c bindings/python/presage_wrap.cpp -o /tmp/buildd/presage-0.8.2/./build/temp.linux-x86_64-2.6/bindings/python/presage_wrap.o cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ doxygen warnings: doxygen Warning: Tag USE_WINDOWS_ENCODING' at line 66 of file Doxyfile has become obsolete. To avoid this warning please update your configuration file using "doxygen -u" Warning: Tag DETAILS_AT_TOP' at line 158 of file Doxyfile has become obsolete. To avoid this warning please update your configuration file using "doxygen -u" Warning: Tag MAX_DOT_GRAPH_WIDTH' at line 1199 of file Doxyfile has become obsolete. To avoid this warning please update your configuration file using "doxygen -u" Warning: Tag MAX_DOT_GRAPH_HEIGHT' at line 1207 of file Doxyfile has become obsolete. To avoid this warning please update your configuration file using "doxygen -u" Generating call graph for function PredictorRegistry::updat/tmp/buildd/presage-0.8.2/src/lib/core/profileManager.h:47: Warning: Unsupported xml/html tag <sysconfdir> found /tmp/buildd/presage-0.8.2/src/lib/predictors/recencyPredictor.h:46: Warning: Found unknown command \frac' /tmp/buildd/presage-0.8.2/src/lib/predictors/recencyPredictor.h:46: Warning: Found unknown command \lambda' /tmp/buildd/presage-0.8.2/src/lib/predictors/recencyPredictor.h:50: Warning: Found unknown command \lambda' e dpkg-shlibdeps warnings: dpkg-shlibdeps: warning: dependency on libdl.so.2 could be avoided if "debian/libpresage1/usr/lib/libpresage.so.1.1.1" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libz.so.1 could be avoided if "debian/presage-gprompter/usr/bin/gprompter" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libfontconfig.so.1 could be avoided if "debian/presage-gprompter/usr/bin/gprompter" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libatk-1.0.so.0 could be avoided if "debian/presage-gprompter/usr/bin/gprompter" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on librt.so.1 could be avoided if "debian/presage-gprompter/usr/bin/gprompter" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libgio-2.0.so.0 could be avoided if "debian/presage-gprompter/usr/bin/gprompter" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libcairo.so.2 could be avoided if "debian/presage-gprompter/usr/bin/gprompter" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libgthread-2.0.so.0 could be avoided if "debian/presage-gprompter/usr/bin/gprompter" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libpangocairo-1.0.so.0 could be avoided if "debian/presage-gprompter/usr/bin/gprompter" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libfreetype.so.6 could be avoided if "debian/presage-gprompter/usr/bin/gprompter" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libpangoft2-1.0.so.0 could be avoided if "debian/presage-gprompter/usr/bin/gprompter" were not uselessly linked against it (they use none of its symbols). dpkg-gencontrol warning: dpkg-gencontrol: warning: package python-presage: unused substitution variable${python:Versions}

lintian complaints:

W: presage source: ancient-standards-version 3.7.3 (current is 3.8.4)
I: presage: hyphen-used-as-minus-sign usr/share/man/man1/text2ngram.1.gz:7
I: libpresage1: spelling-error-in-binary ./usr/lib/libpresage.so.1.1.1
Commiting Committing
X: libpresage1: shlib-calls-exit usr/lib/libpresage.so.1.1.1
I: libpresage1: no-symbols-control-file usr/lib/libpresage.so.1.1.1