[Bug 182306] Review Request: dogtail - GUI test tool and automation framework
bugzilla at redhat.com
bugzilla at redhat.com
Mon Mar 6 07:14:23 UTC 2006
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.
Summary: Review Request: dogtail - GUI test tool and automation framework
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=182306
------- Additional Comments From toshio at tiki-lounge.com 2006-03-06 02:14 EST -------
Looks like someone on the pyspi bug is willing to sponsor you. Here's a full
review for dogtail to work on while you get through the paperwork.
rpmlint
W: dogtail no-version-in-last-changelog
Add the version information after each Changelog entry:
* Fri Feb 17 2006 Zack Cerza <zcerza at redhat.com> - 0.5.0-2
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/i18n.py 0644
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/rawinput.py 0644
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/logging.py 0644
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/utils.py 0644
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/path.py 0644
The files in question are not intended to be executables but they have
#!/usr/bin/python lines so rpmlint is complaining. Removing the #! line
upstream is probably the best thing to do.
E: dogtail standard-dir-owned-by-package /usr/bin
E: dogtail standard-dir-owned-by-package /usr/lib
These are blockers. See comments under Needswork.
E: dogtail hardcoded-library-path in /usr/lib/
This is a blocker. See comments under Needswork.
E:dogtail script-without-shellbang
/usr/share/doc/dogtail-0.5.0/examples/dogtail/apps/wrappers/evolution.py
evolution.py has the executable bit set when it shouldn't.
Actually, though, the examples/dogtail directory should be deleted upstream.
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/config.py 0644
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/tree.py 0644
Safe to ignore. These have test cases that can be run.
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/abiword-test.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-composing-html.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-configuring-exchange.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-configuring-imap-smtp.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-first-time-wizard.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-sending-email.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-survives-email-CAN-2005-0806.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-switching-components.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/filechooser-stress-test.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/firefox-test-browsing-local-html-file.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/frysk-click-processes.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/gcalctool-test-fibonacci.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/gedit-test-utf8-procedural-api.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/gedit-test-utf8-tree-api.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/gnome-panel-test-starting-every-app.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/google-search.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/i18n-test.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/nautilus-test-icon-view-collage.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/no-help-at-all.py /usr/bin/env
W: dogtail doc-file-dependency /usr/share/doc/dogtail-0.5.0/examples/recorder.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/rhythmbox-test.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/test-events.py /usr/bin/env
There has been talk of removing execute permissions on anything in %{_docdir}.
I don't believe this has been made a hard requirement yet but you can see
it causes rpm to auto-require dependencies that the package without %doc
does not. If you remove the execute permissions on examples this goes away:
%install
find examples -type f -exec chmod 0644 \{\} \;
W: dogtail dangerous-command-in-%post rm
There doesn't seem to be a good reason for this. Remove it.
W: dogtail strange-permission dogtail.spec 0600
You can prevent this by changing the spec to 0644 but it isn't strictly
necessary.
Needswork:
* Source0: should be a complete URL:
http://people.redhat.com/zcerza/dogtail/releases/%{name}-%{version}.tar.gz
* The upstream source has a problem. There are two versions of
dogtail-0.5.0.tar.gz One version is in dogtail/releases/. The other is in
dogtail/releases/rpm_inst/. Since you are upstream, it would probably be
best if you create a dogtail 0.5.1 that includes whichever is the preferred
version.
* The included tarball has two copies of the dogtail/ directory. One at the
toplevel and a second one that I think is in error in dogtail/examples. If
your spinning a new upstream release based off this source you probably want
to address this as well.
* Should BuildRequires: python even though it's already in the build
environment
* I see an explicit ChangeLog saying you needed to add at-spi-devel in order to
build. Can you explain that? I've built the package with at-spi-devel
installed and uninstalled/BuildRequires taken out and diff -ur does not show
any differences. Unless there's something I'm missing, you should take this
out.
* The example files and scripts should be created non-executable.
* At least on FC4, brp-python-bytecompile does not include documentation.
Unless you know of a place where this fails, the definition of
__os_install_post should be removed.
* Macros should be used in place of directory names. The python package is
compiled using directory macros like %{_libdir}, %{_bindir}, etc. When you
use python's distutils via the setup.py script, python will substitute these
paths. If the path definitions ever change, your hardcoded definitions would
have to be manually changed whereas %{_bindir}, etc will continue to work.
- For the python files in /usr/lib, it's an even better idea to use python's
arch independent libdir. A macro to ca[ture this is:
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from
distutils.sysconfig import get_python_lib; print get_python_lib()")}
Then you can use %{python_sitelib}/dogtail/ in your %files section.
This protects you in case python's site independent directory changes in
the future (moves to /usr/share/python3.0, for instance)
* The .desktop file must be installed via desktop-file-utils:
http://www.fedoraproject.org/wiki/Packaging/Guidelines#desktop
to add fedora as the vendor and X-Fedora as a category.
* This package owns system directories which is a big no-no.
Instead of /usr/bin/ use %{_bindir}/*
Instead of /usr/lib/ use the %{python_sitelib}/dogtail/ syntax noted earlier.
Instead of /usr/share/applications/ use %{_datadir}/applications/*
/usr/share/icons/hicolor/.... I'm not sure what to do about. The hicolor
hierarchy isn't directly owned by anything we depend on but it seems to be
expected by a good many gnome/gtk+ programs. I'll ask fedora-extras for
ideas.
* Please see:
http://www.fedoraproject.org/wiki/ScriptletSnippets#head-d37d740d062d3aa6013aab44a79de88a6c1fe533
for an example of using gtk-update-icon-cache. In particular, the touch of
the hicolor directory, the use of || : to prevent errors (for instance,
if a %_netsharedpath is being used on the installer's system), and calling
gtk-update-icon-cache from a %postun as well as %post.
Cosmetic:
* The BuildArchitectures: tag is usually written as BuildArch:. rpmbuild 4.4.1
appears to recognize both syntaxes, though.
* Fedora Extras usually puts Requires/BuildRequires on separate lines for
readability.
* Group should probably be Development/Tools
Highlights of passed checklist items:
* Name follows naming guidelines
* spec name matches package name
* OSI License (GPL)
* Copy of the GPL included
* Builds on an FC4 x86_64 box (noarch package)
* Permissions are okay
* Has a proper %%clean
* No %doc files are necessary for the operation of the program.
* Builds in mock
Fix these things up and I'll test out whether it works okay.
--
Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.
More information about the fedora-extras-list
mailing list