Bug 690954 - Review Request: postler - An ultra simple desktop mail client
Summary: Review Request: postler - An ultra simple desktop mail client
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Christoph Wickert
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 693931 (view as bug list)
Depends On: 690953 693526
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-03-25 22:51 UTC by Thomas Moschny
Modified: 2011-05-09 04:03 UTC (History)
7 users (show)

Fixed In Version: postler-0.1.1-4.fc15
Clone Of:
Environment:
Last Closed: 2011-05-07 19:56:04 UTC
Type: ---
Embargoed:
christoph.wickert: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)

Description Thomas Moschny 2011-03-25 22:51:39 UTC
Spec URL: http://thm.fedorapeople.org/postler/postler.spec
SRPM URL: http://thm.fedorapeople.org/postler/postler-0.1.1-1.fc14.src.rpm

Description:
Postler aims to be easy, simple, clean, beautiful, and automagic. It
handles IMAP beautifully, and provides the user with smart, sensible
defaults.

Comment 1 Fabian Affolter 2011-03-26 16:17:05 UTC
Shouldn't libidentify included first?

Comment 2 Thomas Moschny 2011-03-28 08:44:41 UTC
(In reply to comment #1)
> Shouldn't libidentify included first?

Sorry, a typo on my side. It is libindicate, and I'm currently preparing a package. But it seems not strictly necessary for postler and can be enabled later. (And for various reasons it seems unlikely we can have libindicate in F14.)

Comment 3 Christoph Wickert 2011-03-28 20:05:32 UTC
As libindicate is part of Ayatana I doubt it'll be in Fedora. So no reason to wait for it.

Just as in bug 690953 I think the description should not include the word "sexy" and the language doesn't matter to the user either.

According to the packaging guidelines you should not build with the included waf copy but with the system's version if possible.

The two warnings form desktop-file-validate are bogus: According to the spec "Email" needs either "Office" or "Network" but not both and the latter is in place. The x-scheme-handler/mailto MIME type is required for GNOME3's default applications dialog, see bug 690298. There is no need to contact upstream about the desktop file warnings, I just spoke to him.

He and I have no idea about the problems with the debuginfo other than that the paths is wrong. find-debuginfo.sh is looking in postler-0.1.1/_build_/ while it is postler-0.1.1/_build_/default/postler

Comment 4 Christoph Wickert 2011-03-29 16:24:06 UTC
There is a problem with the icon I think: Postler includes internet-mail from elemantary-icon-theme and installs it to %{_datadir}/icons/hicolor/scalable/apps/internet-mail.svg. Themed icons/icons with a generic name should not be in hicolor because we could have another app providing internet-mail as well and we might run into a file conflict. I suggest to install it as postler.svg. It's no longer themable then, but this doesn't really matter because elementary and oxygen are the only packages to include an icon of the name "internet-mail" anyway.

Stay tuned for a full review.

Comment 5 Christoph Wickert 2011-04-03 00:21:33 UTC
Review for 4494cd46098d379815e9df41842df4cd  postler-0.1.1-1.fc14.src.rpm

OK - MUST: $ rpmlint /var/lib/mock/fedora-14-x86_64/result/postler-*
postler.src: W: spelling-error %description -l en_US automagic -> automatic, auto magic, auto-magic
postler.x86_64: W: spelling-error Summary(en_US) vala -> lava, val, ala
postler.x86_64: W: spelling-error %description -l en_US automagic -> automatic, auto magic, auto-magic
postler.x86_64: W: no-manual-page-for-binary postler
postler.x86_64: W: no-manual-page-for-binary postler-mbsync
3 packages and 0 specfiles checked; 0 errors, 5 warnings.

OK - MUST: named according to the Package Naming Guidelines
OK - MUST: spec file name matches the base package %{name}
OK - MUST: package meets the Packaging Guidelines
OK - MUST: Fedora approved license and meets the Licensing Guidelines: LGPLv2+
FIX - MUST: License field in spec file does not match the actual license
OK - MUST: license file included in %doc
OK - MUST: spec is in American English
OK - MUST: spec is legible
OK - MUST: sources match the upstream source by MD5 02e502c9f4a4b92e4ace32d9e268f06d
OK - MUST: successfully compiles and builds into binary rpms on x86_64
N/A - MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch.
OK - MUST: all build dependencies are listed in BuildRequires.
OK - MUST: handles locales properly with %find_lang
N/A - MUST: Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
OK - MUST: Package does not bundle copies of system libraries.
N/A - MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package
OK - MUST: owns all directories that it creates
OK - MUST: no duplicate files in the %files listing
OK - MUST: Permissions on files are set properly, includes %defattr(...)
OK - MUST: consistently uses macros
OK - MUST: package contains code, or permissable content
N/A - MUST: Large documentation files should go in a -doc subpackage
OK - MUST: Files included as %doc do not affect the runtime of the application
N/A - MUST: Header files must be in a -devel package
N/A - MUST: Static libraries must be in a -static package
N/A - MUST: library files that end in .so are in the -devel package.
N/A - MUST: devel packages must require the base package using a fully versioned dependency
OK - MUST: The package does not contain any .la libtool archives.
OK - MUST: Package contains a GUI application and includes a %{name}.desktop file, and that file is properly validated with desktop-file-validate
OK - MUST: package does not own files or directories already owned by other packages.
OK - Should: at the beginning of %install, the package runs rm -rf %{buildroot}
OK - MUST: all filenames valid UTF-8


SHOULD Items:
OK - SHOULD: Source package includes license text(s) as a separate file.
N/A - SHOULD: The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available.
OK - SHOULD: builds in mock.
OK - SHOULD: compiles and builds into binary rpms on all supported architectures.
WELL - SHOULD: functions as described.
OK - SHOULD: Scriptlets are sane.
N/A - SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency.
N/A - SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg
N/A - SHOULD: no file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin
N/A - SHOULD: package should contain man pages for binaries/scripts.


Other items:
OK - latest stable version
OK - SourceURL valid
OK - Compiler flags ok
OK - Debuginfo complete
OK - SHOULD: package has a %clean section, which contains rm -rf %{buildroot}
N/A - SHOULD: Packages containing pkgconfig(.pc) files should 'Requires: pkgconfig'.


Issues:
- License is LGPLv2+ and not LGPLv2 because there is a "or any later version" clause.
- The icon should have a different name as explained in comment #4.
- Require dexxter once it's in the repo.

- Does not build on rawhide:
Waf: Entering directory `/builddir/build/BUILD/postler-0.1.1/_build_'
[ 1/44] valac: postler/dexter.vala postler/dockmanager.vala postler/elementary-entry.vala postler/postler-accounts.vala postler/postler-accountsetup.vala postler/postler-app.vala postler/postler-attachments.vala postler/postler-bureau.vala postler/postler-cellrenderertoggle.vala postler/postler-client.vala postler/postler-composer.vala postler/postler-content.vala postler/postler-flowbox.vala postler/postler-folders.vala postler/postler-messages.vala postler/postler-reader.vala postler/postler-recipiententry.vala postler/postler-scrolled.vala postler/postler-service.vala postler/postler-shortcuts.vala postler/postler-state.vala postler/postler-viewer.vala -> _build_/default/postler/dexter.c _build_/default/postler/dockmanager.c _build_/default/postler/elementary-entry.c _build_/default/postler/postler-accounts.c _build_/default/postler/postler-accountsetup.c _build_/default/postler/postler-app.c _build_/default/postler/postler-attachments.c _build_/default/postler/postler-bureau.c _build_/default/postler/postler-cellrenderertoggle.c _build_/default/postler/postler-client.c _build_/default/postler/postler-composer.c _build_/default/postler/postler-content.c _build_/default/postler/postler-flowbox.c _build_/default/postler/postler-folders.c _build_/default/postler/postler-messages.c _build_/default/postler/postler-reader.c _build_/default/postler/postler-recipiententry.c _build_/default/postler/postler-scrolled.c _build_/default/postler/postler-service.c _build_/default/postler/postler-shortcuts.c _build_/default/postler/postler-state.c _build_/default/postler/postler-viewer.c
../postler/postler-accounts.vala:69.44-69.44: error: Value must be constant
Waf: Leaving directory `/builddir/build/BUILD/postler-0.1.1/_build_'
Build failed:  -> task failed (err #1):

Comment 6 Thomas Moschny 2011-04-04 19:35:58 UTC
Spec URL: http://thm.fedorapeople.org/postler/postler.spec
SRPM URL: http://thm.fedorapeople.org/postler/postler-0.1.1-2.fc14.src.rpm

%changelog
* Mon Apr  4 2011 Thomas Moschny <..> - 0.1.1-2
- Changes suggested in the review ticket:
  - Fix License and Summary tags.
  - Rename icon to avoid clashes with icon theme packages.
  - BR dexter (bz 690953).

Comment 7 Thomas Moschny 2011-04-04 19:37:54 UTC
(In reply to comment #5)
> [...]
> ../postler/postler-accounts.vala:69.44-69.44: error: Value must be constant
> Waf: Leaving directory `/builddir/build/BUILD/postler-0.1.1/_build_'
> Build failed:  -> task failed (err #1):

This is a known vala issue, covered here:
- for postler: https://bugs.launchpad.net/postler/+bug/723282
- for vala: https://bugzilla.gnome.org/show_bug.cgi?id=643010

Comment 8 Thomas Moschny 2011-04-04 19:43:10 UTC
(In reply to comment #3)
> The two warnings form desktop-file-validate are bogus: According to the spec
> "Email" needs either "Office" or "Network" but not both and the latter is in
> place. The x-scheme-handler/mailto MIME type is required for GNOME3's default
> applications dialog, see bug 690298. There is no need to contact upstream about
> the desktop file warnings, I just spoke to him.

Was that postler's or desktop-file-utils' upstream?

Comment 9 Christoph Wickert 2011-04-04 21:04:02 UTC
(In reply to comment #8)
> Was that postler's or desktop-file-utils' upstream?

Postler's. For desktop-file-utils there already is a bug report and a patch at https://bugs.freedesktop.org/show_bug.cgi?id=35844

I suggest to ignore both warnings.

(In reply to comment #7)
> (In reply to comment #5)
> > [...]
> > ../postler/postler-accounts.vala:69.44-69.44: error: Value must be constant
> > Waf: Leaving directory `/builddir/build/BUILD/postler-0.1.1/_build_'
> > Build failed:  -> task failed (err #1):
> 
> This is a known vala issue, covered here:

But this is a showstopper for us. :( The rest looks good, however I cannot approve the package now.

Comment 10 Christoph Wickert 2011-04-05 00:02:18 UTC
You will need a patch for renaming the icon because "internet-mail" also appears in the source code twice (in postler/postler-app.vala and postler/postler-accounts.vala).

Comment 11 Thomas Moschny 2011-04-05 21:32:12 UTC
(In reply to comment #10)
> You will need a patch for renaming the icon because "internet-mail" also
> appears in the source code twice (in postler/postler-app.vala and
> postler/postler-accounts.vala).

Thanks for the hint.

Spec URL: http://thm.fedorapeople.org/postler/postler.spec
SRPM URL: http://thm.fedorapeople.org/postler/postler-0.1.1-3.fc14.src.rpm

%changelog
* Tue Apr  5 2011 Thomas Moschny <..> - 0.1.1-3
- Use a patch for renaming the icon.

Comment 12 Christoph Wickert 2011-04-06 00:18:27 UTC
Ok, the vala issue are fixed and a scratch build was successfull, see
http://koji.fedoraproject.org/koji/taskinfo?taskID=2977217

Package APPROVED!

Comment 13 Christoph Wickert 2011-04-06 00:53:56 UTC
*** Bug 693931 has been marked as a duplicate of this bug. ***

Comment 14 Michel Lind 2011-04-06 10:43:11 UTC
I was waiting for a fix for the Vala issue (which I just backported from Git yesterday), before finishing my Postler packaging -- sorry for the duplicate request!

Thomas, let me know if you'd like a comaintainer for this. I have some differences in my specs:

- CFLAGS needs to be manually exported; when packaging I searched for any guidelines for packaging with waf (we still really need to write one!) Funnily all the people involved in that thread on the mailing list are here -- me, you (waf maintainer) and Christoph who started the thread.

- waf build probably needs the -v option (verbose) -- that's how I discovered
  the wrong compiler flags were being used, and %{?_smp_mflags}

- link against libdb-devel (BerkeleyDB 5) rather than db4

- use system waf rather than the bundled version

Also, I started using the virtual pkgconfig(...) rather than package names, as they match up with upstream's dependency checking better.

Comment 15 Thomas Moschny 2011-04-06 11:26:23 UTC
(In reply to comment #14)
> I was waiting for a fix for the Vala issue (which I just backported from Git
> yesterday), before finishing my Postler packaging -- sorry for the duplicate
> request!

Thanks for applying the Vala fix!

> Thomas, let me know if you'd like a comaintainer for this.

Sure.

> I have some differences in my specs:
> 
> - CFLAGS needs to be manually exported; when packaging I searched for any

Right, I will fix that while importing the package (maybe in the evening).

> guidelines for packaging with waf (we still really need to write one!) Funnily
> all the people involved in that thread on the mailing list are here -- me, you
> (waf maintainer) and Christoph who started the thread.

There has been a long thread on the devel mailing list some time ago with no real outcome. Also see below.

> - waf build probably needs the -v option (verbose) -- that's how I discovered

The -v switch didn't work on my F13 machine, and caused waf itself to crash.

>   the wrong compiler flags were being used, and %{?_smp_mflags}

Not really needed, as waf automatically builds in parallel, using as many threads as it finds cores. Maybe it's nevertheless a good idea to pass -j %{?_smp_mflags}, so koji has more control.

> - link against libdb-devel (BerkeleyDB 5) rather than db4

Why's that? 

> - use system waf rather than the bundled version

This is something we shouldn't do (in general, for any package, that is). I was still hoping someone else filed a request for an exception at the packaging committee. But now that I also own a package using waf, so maybe I have to do it myself.

Postler bundles waf 1.5.X, but in rawhide we are at 1.6. I didn't thoroughly test whether there are incompatibilities for postler, but in general, each package should use its bundled waf copy and not the system one. As waf is a development tool and not some sort of runtime library, the usual security argument against bundling doesn't really hold. The bundled copy is what upstream has released and tested their package with, and deviating from that is not worth the effort.

> Also, I started using the virtual pkgconfig(...) rather than package names, as they match up with upstream's dependency checking better.

Will consider this.

Comment 16 Thomas Moschny 2011-04-06 21:22:23 UTC
New Package SCM Request
=======================
Package Name: postler
Short Description: An ultra simple desktop mail client
Owners: thm
Branches: f14 f15

Comment 17 Jason Tibbitts 2011-04-07 14:54:48 UTC
Git done (by process-git-requests).

Comment 18 Fedora Update System 2011-04-22 12:48:41 UTC
postler-0.1.1-4.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/postler-0.1.1-4.fc15

Comment 19 Fedora Update System 2011-04-22 12:48:50 UTC
postler-0.1.1-4.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/postler-0.1.1-4.fc14

Comment 20 Fedora Update System 2011-04-22 21:18:01 UTC
postler-0.1.1-4.fc14 has been pushed to the Fedora 14 testing repository.

Comment 21 Fedora Update System 2011-05-07 19:55:58 UTC
postler-0.1.1-4.fc14 has been pushed to the Fedora 14 stable repository.

Comment 22 Fedora Update System 2011-05-09 04:03:41 UTC
postler-0.1.1-4.fc15 has been pushed to the Fedora 15 stable repository.


Note You need to log in before you can comment on or make changes to this bug.