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

Re: RFS: sunpinyin - Simplified Chinese Input Method from SUN



Liang Guo wrote:
> On 星期三 30 6月 2010 21:57:27 Thomas Goirand wrote:
>> Hi Liang Guo,
> Hi, Thomas, 
> (add CC to debian-mentors and pkg-ime-devel)
> 
> Thanks for your review. 
>> Here's what I can say when I review your package.
>>
>> * debian/copyright:
>>
>> Please add a copyright notice for the LGPL-2.1.
> Which part of LGPL-2.1 should I add ? the end part of LGPL.LICENSE is the same 
> as that of OPENSOLARIS.LICENSE.

Here's an example copyright extract for a package with LGPL-2.

<----------sample start----------->
Files: debian/*
Copyright: (C) 2001-2010, Thomas Goirand <zigo@debian.org>
License: LGPL-2

        This library is free software; you can redistribute it and/or
        modify it under the terms of the GNU Lesser General Public
        License as published by the Free Software Foundation; either
        version 2 of the License, or (at your option) any later version.

        This library is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
        Lesser General Public License for more details.

        You should have received a copy of the GNU Lesser General Public
        License along with this library; if not, write to the Free Software
        Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02110-1301 USA

On Debian systems, the complete text of the GNU Lesser General Public
License (LGPL) may be found in /usr/share/common-licenses/LGPL.
<----------sample end----------->

The above is not a full copyright file, but just a copyright notice,
wrapped on 80cols (looks ugly in the list in text format wrapped on
74cols). It's is enough since it's also in
/usr/share/common-licenses/LGPL. As for the OPENSOLARIS.LICENSE file is
not in /usr/share/common-licenses/, you should copy it completely in
debian/copyright. Pointing to the Open Solaris license URL would be cool
too, and you don't need to include it twice in your binary package (once
in debian/copyright is enough).

According to the answers of the questions I asked in #debian-mentors,
the CDDL is ok in Debian, but is incompatible with the GPL. That's fine
since your package is in dual license with LGPL 2.1.

>> * debian/control:
>>
>> You did a confusion between Maintainer: and Uploaders: field. If you write:
>>
>> Maintainer: Liang Guo <bluestonechina@gmail.com>
>>
>> you assume the maintainer-ship responsability for the package in Debian.
>> If you are doing an RFS, then it should be you in this field. Besides
>> this, you are more than welcome to use UTF-8 and write your name in
>> Simplified Chinese this file, I believe.
>>
>> Uploaders:, if I sponsor the package, would be me, and you don't want to
>> fill this field. As I didn't sponsor a package yet, I'll have to find
>> out how to manage this field! :)
> Maintainer is the owner of this package. for sunpinyin is a input method 
> package,  I hope this packageCollaborative maintenanced by IME Packaging Team, 
> so I set IME Packaging Team as the Maintainer, and me as the Uploaders. I 
> reference developers-reference[1] to set these fields. 

Did you ask the IME Packaging Team if they agree to maintain sunpinyin
in Debian? If so, why don't they take the responsibility of uploading,
and why do you need sponsoring?

> For sponsor a package, this  FAQ[2] may help. Develpers-reference have related 
> topics[3] too. 
> 
>> You wrote build-depends on debhelper  (>= 7.0.50~) and quilt (>=
>> 0.46-7~), do you need specificities on specific versions currently in
>> Debian? If yes, which one?
> 
> I use dh_make to generate debian/*, ande debian/control comes with build-
> depends on debhelper, if build-depends on debhelper removed, lintian reports 
> package-uses-debhelper-but-lacks-build-depends, and it will fail to build in 
> my pbuilder environment.

With an up-to-date Lenny, I couldn't compile because it says:
dpkg-checkbuilddeps: Unmet build dependencies: quilt (>= 0.46.7~)

However, after "apt-get -t lenny-backports install quilt", I could still
not build your package, even though:
zigo@host$ dpkg -l | grep quilt
ii  quilt 0.46-8~bpo50+1

Replacing the dependency by 0.46.7~ by 0.46-8~bpo50+1 made it work, and
should be ok.

Also, I have attached all the lintian errors that I found on my Lenny
system. Fix these. Then try your package on a SID test system (a test
virtual machine if you like, using qemu, vmware or whatever you like).
Running SID, compil and test using the new python 2.6 that has just been
transition. Run lintian -Ii on the .change of your package under SID as
well.

>> * debian/docs:
>>
>> You are including LGPL.LICENSE in the list of files install, even though
>> in your debian/copyright, you mention the path to the LGPL-2.1. In other
>> words:
>> - Remove LGPL.LICENSE from debian/docs
>> - Add the copyright notice for the LGPL (that's a kind of short version
>> of the big file in /usr/share/common-licenses/LGPL-2.1) in your
>> debian/copyright.
>> - I don't think packaging COPYING in your binaries is useful. Remove it
>> also from debian/docs. 
> OK, I'll remove LGPL.LICENSE and COPYING from debian/docs. Shoud 
> OPENSOLARIS.LICENSE be removed too ?

See attached lintian errors.

>> * README.Debian
>>
>> Do you think you could package the files here:
>>
>> wget http://googlecode.debian.net/p/open-gram/dict.utf8.tar.bz2
>> wget http://googlecode.debian.net/p/open-gram/lm_sc.t3g.arpa.tar.bz2
>>
>> into specific Debian packages on which you would depend?
>>
>> What are the licenses of lm_sc.t3g.arpa.tar.bz2 and dict.utf8.tar.bz2?
>> Would the library continue to work without these files?
> lm_sc.t3g.arpa.tar.bz2 and dict.utf8.tar.bz2 is licensed under Creative 
> Commons 3.0 BY-SA, CC-by-SA 3.0 is DFSG-compatible[6], I want to package it 
> latter, so I write debian/README.Debian as a transient proposal. 

Please do package them and depend on them yes.

Thomas

zigo@GPLHost:buzzig>_ ~/sources/debian_sponsoring/sunpinyin$ lintian -Ii sunpinyin_2.0.2~git20100627-1_amd64.changes
I: sunpinyin source: binary-control-field-duplicates-source field "section" in package libsunpinyin3
N:
N:    In debian/control, this field for a binary package duplicates the value
N:    inherited from the source package paragraph. This doesn't hurt anything,
N:    but you may want to take advantage of the inheritance and set the value
N:    in only one place. It prevents missing duplicate places that need to be
N:    fixed if the value ever changes.
N:
N:    Severity: wishlist, Certainty: certain
N:
I: sunpinyin source: duplicate-short-description libsunpinyin-dev libsunpinyin3 sunpinyin-utils
N:
N:    The listed binary packages all share the same short description (the
N:    first line of the Description control field). The package names may
N:    provide enough additional information to distinguish between the
N:    packages, but it's common to also add a word or two to the short
N:    description to clarify the difference.
N:
N:    Severity: wishlist, Certainty: possible
N:
W: libsunpinyin-dev: extra-license-file usr/share/doc/libsunpinyin-dev/COPYING
N:
N:    All license information should be collected in the debian/copyright
N:    file. This usually makes it unnecessary for the package to install this
N:    information in other places as well.
N:
N:    Refer to Debian Policy Manual section 12.5 (Copyright information) for
N:    details.
N:
N:    Severity: normal, Certainty: possible
N:
W: libsunpinyin-dev: extra-license-file usr/share/doc/libsunpinyin-dev/LGPL.LICENSE.gz
W: libsunpinyin-dev: extra-license-file usr/share/doc/libsunpinyin-dev/OPENSOLARIS.LICENSE.gz
W: libsunpinyin-dev: zero-byte-file-in-doc-directory usr/share/doc/libsunpinyin-dev/changelog.gz
N:
N:    The documentation directory for this package contains an empty file.
N:    This is often due to installing an upstream NEWS or README file without
N:    realizing it's empty and hence not useful.
N:
N:    Files in the examples subdirectory are excluded from this check, but
N:    there are some cases where empty files are legitimate parts of the
N:    documentation without being examples. In those cases, please add an
N:    override.
N:
N:    Severity: normal, Certainty: possible
N:
W: libsunpinyin3: zero-byte-file-in-doc-directory usr/share/doc/libsunpinyin3/changelog.gz
I: libsunpinyin3: package-contains-empty-directory usr/lib/sunpinyin/data/
N:
N:    This package installs an empty directory. This might be intentional but
N:    it's normally a mistake. If it is intentional, add a lintian override.
N:
N:    If a package ships with or installs empty directories, you can remove
N:    them in debian/rules by calling:
N:
N:     $ find path/to/base/dir -type d -empty -delete
N:
N:    Severity: wishlist, Certainty: possible
N:
I: libsunpinyin3: no-symbols-control-file usr/lib/libsunpinyin.so.3.0
N:
N:    Although the package includes a shared library, the package does not
N:    have a symbols control file.
N:
N:    dpkg can use symbols files in order to generate more accurate library
N:    dependencies for applications, based on the symbols from the library
N:    that are actually used by the application.
N:
N:    Refer to the dpkg-gensymbols(1) manual page and
N:    http://wiki.debian.org/UsingSymbolsFiles for details.
N:
N:    Severity: wishlist, Certainty: certain
N:
W: sunpinyin-utils: possible-unindented-list-in-extended-description
N:
N:    The package "Description:" contains an unindented line which starts with
N:    a dash (-) or asterisk (*). If this was meant to be a list of items
N:    these lines need to be indented (dselect would word-wrap these lines
N:    otherwise).
N:
N:    Refer to Debian Policy Manual section 5.6.13 (Description) for details.
N:
N:    Severity: normal, Certainty: possible
N:
I: sunpinyin-utils: capitalization-error-in-description python Python
N:
N:    Lintian found a possible capitalization error in the package
N:    description. Lintian has a list of common capitalization errors,
N:    primarily of upstream projects, that it looks for. It does not have a
N:    dictionary like a spelling checker does.
N:
N:    This is a particularly picky check of capitalization in package
N:    descriptions, since they're very visible to end users, but it will have
N:    false positives for project names used in a context where they should be
N:    lowercase, such as package names or executable names.
N:
N:    Severity: minor, Certainty: wild-guess
N:
E: sunpinyin-utils: python-script-but-no-python-dep ./usr/share/sunpinyin/python/imdict.py
N:
N:    Packages with Python scripts must depend on the package python. Those
N:    that have scripts executed with a versioned python package need a
N:    dependency on the equivalent version of python.
N:
N:    For example, if a script in the package uses #!/usr/bin/python, the
N:    package needs a dependency on "python". If a script uses
N:    #!/usr/bin/python2.5, the package need a dependency on "python2.5".
N:
N:    In some cases a weaker relationship, such as Suggests or Recommends,
N:    will be more appropriate.
N:
N:    Severity: important, Certainty: certain
N:
E: sunpinyin-utils: python-script-but-no-python-dep ./usr/share/sunpinyin/python/importer/import_fcitx_userdict.py
E: sunpinyin-utils: python-script-but-no-python-dep ./usr/share/sunpinyin/python/importer/import_fit_userdict.py
E: sunpinyin-utils: python-script-but-no-python-dep ./usr/share/sunpinyin/python/importer/import_google_userdict.py
E: sunpinyin-utils: python-script-but-no-python-dep ./usr/share/sunpinyin/python/importer/import_qim_userdict.py
E: sunpinyin-utils: python-script-but-no-python-dep ./usr/share/sunpinyin/python/importer/import_qq_userdict.py
E: sunpinyin-utils: python-script-but-no-python-dep ./usr/share/sunpinyin/python/importer/import_sogou_userdict.py
E: sunpinyin-utils: python-script-but-no-python-dep ./usr/share/sunpinyin/python/importer/import_ziguang_userdict.py
E: sunpinyin-utils: python-script-but-no-python-dep ./usr/share/sunpinyin/python/mmseg.py
E: sunpinyin-utils: python-script-but-no-python-dep ./usr/share/sunpinyin/python/pinyin_data.py
E: sunpinyin-utils: python-script-but-no-python-dep ./usr/share/sunpinyin/python/trie.py
I: sunpinyin-utils: spelling-error-in-binary ./usr/lib/sunpinyin/bin/slmbuild usefull useful
N:
N:    Lintian found a spelling error in the given binary. Lintian has a list
N:    of common misspellings that it looks for. It does not have a dictionary
N:    like a spelling checker does.
N:
N:    If the string containing the spelling error is translated with the help
N:    of gettext or a similar tool, please fix the error in the translations
N:    as well as the English text to avoid making the translations fuzzy. With
N:    gettext, for example, this means you should also fix the spelling
N:    mistake in the corresponding msgids in the *.po files.
N:
N:    You can often find the word in the source code by running:
N:
N:     grep -rw <word> <source-tree>
N:
N:    Severity: minor, Certainty: wild-guess
N:
W: sunpinyin-utils: zero-byte-file-in-doc-directory usr/share/doc/sunpinyin-utils/changelog.gz

Reply to: