Bug 492224 - Review Request: gnome-mud - MUD client for GNOME desktop
Summary: Review Request: gnome-mud - MUD client for GNOME desktop
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-03-25 23:23 UTC by Sean Middleditch
Modified: 2009-09-12 20:24 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-09-12 20:24:58 UTC
Type: ---
Embargoed:
mtasaka: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Sean Middleditch 2009-03-25 23:23:59 UTC
Spec URL: http://middleditch.us/sean/gnome-mud.spec
SRPM URL: http://middleditch.us/sean/gnome-mud-0.11.2-1.20090325svn834.tar.gz
Description:

I packaged up an SVN version of gnome-mud.  The spec file is a cleaned up Fedora-ized version of the spec that ships with gnome-mud.

gnome-mud is an actively developed and maintained MUD (text-based multi-player games using TELNET) client for the modern GNOME desktop.  The svn revision is not the best for shipping to users, but I'd like to make sure the packaging is solid so when the next stable release is out we're ready to go.  The upstream developers are not Fedora users but are very supportive of getting a proper Fedora package if I maintain it.

The website for gnome-mud is http://live.gnome.org/GnomeMud

Comment 1 Lucian Langa 2009-04-11 18:03:29 UTC
rpmlint must be run on every package. The output should be posted in the review
(https://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint)

rpmlint is not silent:
gnome-mud.spec: E: no-cleaning-of-buildroot %clean
gnome-mud.spec: E: specfile-error sh: ?dist: command not found
gnome-mud.spec: E: specfile-error sh: ?_smp_mflags: command not found
0 packages and 1 specfiles checked; 3 errors, 0 warnings.

Please do not package svn snapshot version just because you think it makes package solid, this argument makes no sense to me and please make sure your snapshot package actually builds. 

I would suggest you pack 0.11.2, cleanup spec file and we will take it from there.

Comment 2 Sean Middleditch 2009-04-14 02:19:58 UTC
Backed down to 0.11.2.  I didn't mean that the svn made packaging more solid, just that I wanted to be ready for 0.12 and all of its changes, but not a big deal.  This builds perfectly for me.  I fixed the rpmlint errors (typos in copying from the guidelines that surprising didn't cause build to failure, didn't even realize they weren't right, sorry).

New links below.  Just gave the upstream pristine 0.11.2 tarball link, included the actual SRPM, and renamed my copy of the spec file just to make it clear for everyone that it's not the same as the non-Fedora .spec included in the upstream tarball.

Spec URL: http://middleditch.us/sean/gnome-mud.f11.spec
SRPM URL: http://middleditch.us/sean/gnome-mud-0.11.2-1.src.rpm
TGZ URL: http://ftp.gnome.org/pub/GNOME/sources/gnome-mud/0.11/gnome-mud-0.11.2.tar.gz

rpmbuild output:
elanthis@localhost:~/Source/gnome-mud-11.2$ rpmlint gnome-mud.f11.spec
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

I double checked that rpmbuild -ba produces installable and usable binary packages and that rpmbuild --rebuild works properly on the resulting srpm.

Also, as a side question, is there any place that better documents the guidelines for packaging GNOME applications?  I copied the gconf and scrollkeeper bits from another package, but I don't know if what I copied is "best practice" or not.  The build/install tricks for those two always were kind of horrid, but figured I'd ask.  (I maintained the GNOME 2.0 desktop packages for Arch Linux years and years ago; I'm obviously rusty at this packaging business, not to mention Fedora packaging and RPM are totally new to me.)

Comment 3 Lucian Langa 2009-04-14 05:31:09 UTC
Thank you for the update.

Please follow guidelines at:
https://fedoraproject.org/wiki/Join_the_package_collection_maintainers



gconf & scrollkeeper
https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#GConf
https://fedoraproject.org/wiki/PackagingDrafts/ScriptletSnippets#Scrollkeeper

You are still missing disttag.

Comment 4 Sean Middleditch 2009-04-14 21:28:49 UTC
Added the disttag bit.  Update the scrollkeeper and gconf bits to what the scripletssippets page had.  I've followed the guidelines through the "Get a Sponsor" bit.  Tested the package build on Koji on all Primary architectures.

It builds on f11 just fine.  It fails on f10 though due to:
https://bugzilla.redhat.com/show_bug.cgi?id=485667
Not sure whether or not I need to worry about f10.

Updated spec file and SRPM:
Spec URL: http://middleditch.us/sean/gnome-mud.f11.spec
SRPM URL: http://middleditch.us/sean/gnome-mud-0.11.2-1.fc11.src.rpm

Comment 5 Sean Middleditch 2009-05-11 14:40:43 UTC
I suppose you might be busy with the F11 release, but any further hints on what else I need to do to move this along would be appreciated.  Thanks.  :)

Comment 6 Mamoru TASAKA 2009-05-22 08:29:06 UTC
Some notes:

* Spec file name
  - must be "gnome-mud.spec".

* License tag
  - The license tag "GPL" is invalid on Fedora:
    https://fedoraproject.org/wiki/Packaging/LicensingGuidelines#GPL_and_LGPL
    For this package this should be "GPLv2+".

* BR (BuildRequires)
  - Please check if you really have to write explicit version
    dependency on BRs.
    Note that the least version currently supported by Fedora project is
    "Fedora 9". This means that if the package listed in your BR
    already has higher version on F-9 than is required in your spec file, 
    writing explicit version dependency is not likely to be needed.

  - Please remove redundant BuildRequires
    * This is GTK 2 package and "BR: gtk+-devel" is not needed
       ("gtk+-devel" is for GTK 1 package)

* description-line-too-long
  - Fedora requests that %description should not contain a line
    longer than 79 characters.

* Timestamps
  - Please consider to use
---------------------------------------------------------------------
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
---------------------------------------------------------------------
    to keep timestamps on installed files.
    This method usually works for Makefiles generated by recent
    autotools.

* Scriptlets
  - "desktop-file-validate" check must be at %install
    (i.e. after "make install" is done), not at %post
  - Please check GConf scriptlets
---------------------------------------------------------------------
%pre
....
	gconftool-2 --makefile-uninstall-rule \
	%{_sysconfdir}/gconf/schemas/%{name} .schemas >/dev/null || :
                                              ^^^^^^^
---------------------------------------------------------------------
      * There is a questionable space between "%name" and ".shemas"
  - You call scrollkeeper-update but no files are installed
    under %_datadir/omf/ (ref:
    https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Scrollkeeper
    )

* Directory ownership issue
  - The directory %{_datadir}/%{name} itself is not owned by any
    packages and this package must own this.
    https://fedoraproject.org/wiki/Packaging/Guidelines#File_and_Directory_Ownership
    https://fedoraproject.org/wiki/Packaging/UnownedDirectories

* Documents
  - Usually the file "INSTALL" is for people who want to build/install
    packages by themselves and not needed for people using rpm.

! By the way please make it sure that you change the release number
  of your spec file every time you modify your spec file
  and add some entry in %changelog (even during review request)

Comment 7 Mamoru TASAKA 2009-05-29 16:40:37 UTC
ping?

Comment 8 Sean Middleditch 2009-06-01 15:21:16 UTC
Still on it, I've been a bit swamped getting ready for a cross-country move.

Comment 9 Sean Middleditch 2009-06-05 15:49:11 UTC
* renamed.  note that upstream has a gnome-mud.spec in the tarball itself, which is not Fedora compatible (since every distro seems hell bent on creating artificial incompatibilities through the distro-specific packaging of otherwise identical binaries).

* fixed license tag.

* fixed gtk build-requires.  removed all versions on build-requires after checking up the f10 versions via koji.

* wrapped description

* the make install bit I had was copied right out of the wiki for fedora packaging.  updated to what you provided; might suggest updating the wiki to actually state best practice.  copying from existing core Fedora packages clearly isn't a good way to get an idea on best practice either.

* moved desktop-file-validate.  fixed schemas path name (whoops).  removed all references to scrollkeeper, since it seems that the docs in 0.11.2 are broken and not installed (worked in svn when I was packaging that).

* changed the %files section reference to the datadir to just %{_datadir}/%{name} per the wiki's suggestion for ensuring ownership of directory and all files underneath.

* removed INSTALL from docs

Did a scratch build on Koji and made sure it builds on all archs.  Installed and testing on my desktop to make sure it actually runs and works.

http://middleditch.us/sean/gnome-mud.spec
http://middleditch.us/sean/gnome-mud-0.11.2-2.fc11.src.rpm

Comment 10 Mamoru TASAKA 2009-06-05 17:43:27 UTC
Well, for -2:

* Source tarball
  - The tarball in the srpm differs from what I could download
    from the URL written as %SOURCE:
-----------------------------------------------------------
599008 2009-02-28 01:34 gnome-mud-0.11.2.tar.gz
564186 2009-06-05 23:22 gnome-mud-0.11.2-2.fc11.src/gnome-mud-0.11.2.tar.gz
-----------------------------------------------------------

* Some rpmlint issue
-----------------------------------------------------------
gnome-mud.i586: W: file-not-utf8 /usr/share/doc/gnome-mud-0.11.2/AUTHORS
-----------------------------------------------------------
  - Please convert this file to UTF-8.

Then:
-------------------------------------------------------------
NOTE: Before being sponsored:

This package will be accepted with another few work. 
But before I accept this package, someone (I am a candidate) 
must sponsor you.

Once you are sponsored, you have the right to review other 
submitters' review requests and approve the packages formally. 
For this reason, the person who want to be sponsored (like you) 
are required to "show that you have an understanding 
of the process and of the packaging guidelines" as is described
on :
http://fedoraproject.org/wiki/PackageMaintainers/HowToGetSponsored

Usually there are two ways to show this.
A. submit other review requests with enough quality.
B. Do a "pre-review" of other person's review request
   (at the time you are not sponsored, you cannot do
   a formal review)

When you have submitted a new review request or have pre-reviewed other 
person's review request, please write the bug number on this bug report 
so that I can check your comments or review request.

Fedora package collection review requests which are waiting for someone to
review can be checked on my wiki page:
http://fedoraproject.org/wiki/User:Mtasaka#B._Review_request_tickets
(Check "No one is reviewing")

Review guidelines are described mainly on:
http://fedoraproject.org/wiki/Packaging/ReviewGuidelines
http://fedoraproject.org/wiki/Packaging/Guidelines
http://fedoraproject.org/wiki/Packaging/ScriptletSnippets
------------------------------------------------------------

Comment 11 Sean Middleditch 2009-06-09 17:42:38 UTC
Weird.  The tarball I uploaded was a make dist from the 0.11.2 SVN checkout.  Guess upstream did something funny when they rolled the release.  Will test with upstream's tarball.

I am unsure how I am supposed to fix AUTHORS, since it is part of the upstream source.  Am I supposed to use the RPM patch mechanism for this?  (Guess I better read up on how that works now either way.)

Comment 12 Mamoru TASAKA 2009-06-09 18:04:56 UTC
(In reply to comment #11)
> Weird.  The tarball I uploaded was a make dist from the 0.11.2 SVN checkout. 
- Well, you are saying that you are using svn repository based tarball,
  not the tarball formally relased and put on the URL written as "%Source"
  in your spec file?
  If you are using svn repo based tarball, please follow

  https://fedoraproject.org/wiki/Packaging/SourceURL#Using_Revision_Control
  https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Snapshot_packages

> I am unsure how I am supposed to fix AUTHORS, since it is part of the upstream
> source.  Am I supposed to use the RPM patch mechanism for this?  (Guess I
> better read up on how that works now either way.)  
- Just using iconv is enough.

Comment 13 Sean Middleditch 2009-06-10 15:12:13 UTC
No, my intention was to package 0.11.2.  I just wasn't aware that running a make dist from the 0.11.2 branch was producing something different than what upstream put on their FTP servers; their SVN branch just isn't what was used to make that tarball.  Not a biggie, I will just replace with upstream's official release and retest.

For the AUTHORS file then, I would call iconv in the spec file... at which point?  During install?

Comment 14 Mamoru TASAKA 2009-06-10 17:25:07 UTC
(In reply to comment #13)
> For the AUTHORS file then, I would call iconv in the spec file... at which
> point?  During install?  

At %prep is the best.

Comment 15 Sean Middleditch 2009-06-19 03:48:13 UTC
Alright, I added a bit to force AUTHORS into valid UTF8.

I also made sure the tarball is directly from upstream and that building still works.  I also made the GConf schema file %config(noreplace) as rpmlint complained about that as well now.

Updated files:

http://middleditch.us/sean/gnome-mud.spec
http://middleditch.us/sean/gnome-mud-0.11.2-3.fc11.src.rpm

Comment 16 Mamoru TASAKA 2009-06-22 17:54:36 UTC
Sorry for delay.

- Well, you don't have to mark GConf schemas file as %config(noreplace).
  We usually regard these files as non-configuration files. Without
  marking that rpmlint may complain, however for this case please just
  ignore it.

- Then I will wait for your another review request or your pre-review
  of other person's review request.

Comment 17 Mamoru TASAKA 2009-07-01 14:15:47 UTC
ping?

Comment 18 Mamoru TASAKA 2009-07-11 16:29:11 UTC
ping again?

Comment 19 Sean Middleditch 2009-07-18 19:45:40 UTC
I'm sorry.  I am probably just going to package up libtelnet and clc instead of reviewing another package.  This isn't going to happen for another week or two because of my crappy summer schedule.  Again, sorry for the delay.

Comment 20 Mamoru TASAKA 2009-08-04 17:06:07 UTC
ping again?

Comment 21 Sean Middleditch 2009-08-05 21:23:15 UTC
packaged libtelnet, bug 515832.  will package up clc once I get another release out the door.  hopefully those are done well enough to validate my competency for gnome-mud as well.  :)

Comment 22 Mamoru TASAKA 2009-09-01 15:38:49 UTC
Now libtelnet (bug 515832) is approved:

-----------------------------------------------------------
   This package (gnome-mud) is APPROVED by mtasaka
-----------------------------------------------------------

Now please create Fedora account (see my comments on bug 515832)

Comment 23 Mamoru TASAKA 2009-09-05 19:33:35 UTC
(Removing NEEDSPONSOR)

Comment 24 Sean Middleditch 2009-09-06 09:46:51 UTC
New Package CVS Request
=======================
Package Name: gnome-mud
Short Description: MUD client for GNOME desktop
Owners: elanthis
Branches: F12

Comment 25 Kevin Fenzi 2009-09-06 22:08:28 UTC
cvs done.


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