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

Bug#783308: RFS: mediagoblin/0.7.1+dfsg1-1 [ITP]



On Sun, Apr 26, 2015 at 1:40 AM, Simon Fondrie-Teitler wrote:

> mediagoblin - web application for sharing photos, video and other media

As I am potentially interested in mediagoblin as a possible front-end
and or replacement for various debconf.org services, I've done a
minimal first-pass review. I'm not involved in DebConf so that is of
course dependent on the DebConf teams.

The information in debian/copyright appears to be incorrect, most
upstream files are AGPL not GPL.

I would suggest packaging all the embedded code copies separately,
including the one you added via a patch (which itself has an embedded
code copy).

I would suggest using the new Files-Excluded option in
debian/copyright and repacksuffix option in debian/watch, so that
anyone can automatically convert the upstream tarball into the DFSG
orig.tar.gz. You could also try to get those files removed from the
upstream VCS.

http://manpages.debian.org/man0/uscan

It would be great if the steps for setting up a mediagoblin instance
documented in README.Debian could be converted into a script
distributed upstream; the Debian package could then prompt the
sysadmin via debconf for the relevant details (suggesting appropriate
defaults in the text) and then run the script.

I'd suggest that debian/gmg.1 be generated at dh_auto_build time or
from the upstream build system.

I'd use cgit for Vcs-Browser and https for both Vcs-* URLs.

If it is possible to make MediaGoblin a Python 3 only package, I would
suggest doing that.

I note that upstream uses Transifex and Gitorious. The former is now
proprietary and the latter is being shut down. Upstream may want to
switch to something else for both.

You may want to add an upstream metadata file:

https://wiki.debian.org/UpstreamMetadata

Automated checks:

(I haven't built it or run lintian yet)
https://anonscm.debian.org/cgit/collab-maint/check-all-the-things.git

$ bashate --ignore E002
...
26 bashate error(s) found

$ find -type f -iname '*.sh' -exec checkbashisms {} +
could not find any possible bashisms in bash script
./devtools/update_translations.sh
could not find any possible bashisms in bash script ./experimental-bootstrap.sh

$ cme check dpkg
...
Warning in 'control source Vcs-Browser' value
'http://anonscm.debian.org/gitweb/?p=collab-maint/mediagoblin.git':
URL to debian system is not the recommended one (this can be fixed
with 'cme fix' command)
checking data
Warning in 'patches:"0001-add-skeleton-manually-since-mediagoblin-depends-on-i.patch"
Synopsis' value <undef>: Empty synopsis (this can be fixed with 'cme
fix' command)
...

$ codespell --quiet-level=3
./mediagoblin.ini:12: appropiate  ==> appropriate
./paste.ini:75: accessable  ==> accessible
./docs/source/index.rst:76: foreward  ==> foreword, forward
./docs/source/api/media_interaction.rst:26: similiar  ==> similar
./docs/source/api/oauth.rst:21: compatable  ==> compatible
./docs/source/api/media.rst:44: similiar  ==> similar
./docs/source/api/media.rst:142: similiar  ==> similar
./docs/source/siteadmin/deploying.rst:159: prefered  ==> preferred
./docs/source/siteadmin/deploying.rst:162: priviledges  ==> privileges
./docs/source/siteadmin/relnotes.rst:141: existant  ==> existent
./docs/source/siteadmin/relnotes.rst:548: Miscelaneous  ==> Miscellaneous
./docs/source/pluginwriter/database.rst:27: appropiate  ==> appropriate
./docs/source/pluginwriter/hooks.rst:31: commited  ==> committed
./docs/source/pluginwriter/api.rst:233: tranform  ==> transform
./debian/paste.ini:72: accessable  ==> accessible

$ find -empty
./extlib/pdf.js
./extlib/sandyseventiesspeedboat
./docs/source/_static/placeholder
./mediagoblin/tests/auth_configs/__init__.py
./mediagoblin/tests/fake_carrot_conf_empty.ini
./mediagoblin/tools/extlib/__init__.py
./mediagoblin/tools/__init__.py
./mediagoblin/init/celery/dummy_settings_module.py
./mediagoblin/oauth/tools/__init__.py
./debian/mediagoblin.lintian-overrides

$ fdupes -q -r .
./mediagoblin/templates/mediagoblin/listings/collection.html
./mediagoblin/templates/mediagoblin/listings/tag.html

./mediagoblin/templates/mediagoblin/bits/above_content.html
./mediagoblin/templates/mediagoblin/bits/body_start.html

./mediagoblin/media_types/stl/migrations.py
./mediagoblin/media_types/pdf/migrations.py
./mediagoblin/media_types/image/migrations.py
./mediagoblin/media_types/audio/migrations.py
./mediagoblin/media_types/ascii/migrations.py

./mediagoblin/tests/test_submission/evil.png
./mediagoblin/tests/test_submission/evil
./mediagoblin/tests/test_submission/evil.jpg

./mediagoblin/user_pages/__init__.py
./mediagoblin/tests/testplugins/__init__.py
./mediagoblin/tests/fake_celery_module.py
./mediagoblin/edit/__init__.py
./mediagoblin/submit/__init__.py
./mediagoblin/federation/__init__.py

./mediagoblin/plugins/__init__.py
./mediagoblin/oauth/__init__.py
./mediagoblin/moderation/__init__.py
./mediagoblin/db/__init__.py

./licenses/AGPLv3.txt
./mediagoblin/plugins/archivalook/COPYING.txt
./mediagoblin/themes/airy/AGPLv3.txt

./licenses/CC0_1.0.txt
./mediagoblin/themes/airy/CC0_1.0.txt

./api-docs/source/themes/mg/static/mg.css
./docs/source/themes/mg/static/mg.css

./api-docs/source/themes/mg/static/logo_docs.png
./docs/source/themes/mg/static/logo_docs.png

./api-docs/source/themes/mg/theme.conf
./docs/source/themes/mg/theme.conf

./api-docs/source/themes/mg/layout.html
./docs/source/themes/mg/layout.html

$ find -type f \( -iname '*.ttf' -o -iname '*.otf' -o -iname '*.sfd'
-o -iname '*.pfa' -o -iname '*.pfb' -o -iname '*.bdf' -o -iname '*.pk'
-o -iname '*.ttc' -o -iname '*.pcf' \) -exec fontlint {} \;
<lots of output>

$ find -type f \( -iname '*.po' -o -iname '*.pot' \) -exec POFileChecker {} +
<lots of output>

$ find -type f \( -iname '*.po' -o -iname '*.pot' \) -exec POFileSpell {} +
<lots of output>

$ find -type f \( -iname '*.po' -o -iname '*.pot' -o -iname '*.mo' -o
-iname '*.gmo' \) -exec i18nspector {} +
<lots of output>

$ find -type f \( -iname '*.po' -o -iname '*.pot' \) -exec msgfmt
--check --check-compatibility --check-accelerators
--output-file=/dev/null {} \;
<lots of output>

$ pep8 --ignore W191 .
<lots of output>

$ pyflakes .
<lots of output>

$ find -type f -iname '*.sh' -exec shellcheck {} +
<lots of output>

$ grep -riE 'fixme|todo|hack|xxx' .
<lots of output>

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


Reply to: