Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 586473 - Review Request: mg - Tiny Emacs-like editor
Review Request: mg - Tiny Emacs-like editor
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Martin Gieseking
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-04-27 13:14 EDT by Mark McKinstry
Modified: 2014-11-15 23:15 EST (History)
6 users (show)

See Also:
Fixed In Version: mg-20141007-1.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-10-27 18:33:39 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
martin.gieseking: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Mark McKinstry 2010-04-27 13:14:17 EDT
I am seeking a sponsor for this package.

Spec URL: http://mmckinst.nexcess.net/mg/mg.spec
SRPM URL: http://mmckinst.nexcess.net/mg/mg-20090107-1.fc12.src.rpm
Description: mg is a tiny, mostly public-domain Emacs-like editor included in the base 
OpenBSD system. It is compatible with Emacs because there shouldn't be any 
reason to learn more editor types than Emacs or vi.


$ rpmlint mg.spec
mg.spec:25: W: configure-without-libdir-spec
0 packages and 1 specfiles checked; 0 errors, 1 warnings.
$ rpmlint mg-20090107-1.fc12.src.rpm
mg.src:25: W: configure-without-libdir-spec
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

> ./mg.spec:25: W: configure-without-libdir-spec

This is fine. The configure script does not accept any parameters and will fail if you give it any.

I'm not sure if I got the licensing part correct.  Source files are licensed under different licenses: BSD 3 clause, BSD 2 clause, MirOS, ISC, and public domain. I chose the most restrictive license (BSD with advertising) and used that as the primary license while mentioning the rest.
Comment 1 Terje Røsten 2010-04-27 17:01:14 EDT
Cool, mg in Fedora :-)

Patch to build with correct build opts and creating a useful debuginfo package,
will also preserve timestamps om man page and be more robust against changing compress format.

--- mg.spec~    2010-04-26 16:38:40.000000000 +0200
+++ mg.spec     2010-04-27 22:49:06.000000000 +0200
@@ -23,11 +23,12 @@
 # configure takes no arguments and will fail if you give it any, therefore we
 # do not use the configure macro here
 ./configure
-make %{?_smp_mflags}
+make %{?_smp_mflags} CFLAGS="%{optflags}"
 
 %install
 rm -rf $RPM_BUILD_ROOT
-make install-strip DESTDIR=$RPM_BUILD_ROOT prefix=%{_prefix} mandir=%{_mandir}
+make install DESTDIR=$RPM_BUILD_ROOT prefix=%{_prefix} mandir=%{_mandir} \
+    INSTALL='install -p'
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -36,7 +37,7 @@
 %defattr(-,root,root,-)
 %doc README tutorial
 %{_bindir}/mg
-%{_mandir}/man1/mg.1.gz
+%{_mandir}/man1/mg.1*
 
 %changelog
 * Tue Apr 27 2010 Mark McKinstry <mmckinst@nexcess.net> - 20090107-1
Comment 2 Mark McKinstry 2010-04-28 01:35:35 EDT
Terje,

Thanks. I've included the patch. Here's the updated spec and SRPM:

Spec URL: http://mmckinst.nexcess.net/mg/mg.spec
SRPM URL: http://mmckinst.nexcess.net/mg/mg-20090107-2.fc12.src.rpm

I made a mistake in the licensing. In my first comment I referred to the BSD 3 clause as BSD with advertising. The 3 clause BSD license does not have the advertising clause in it. I've updated the spec file to reflect this so the license is now "BSD and (ISC and MirOS and Public Domain)"
Comment 3 Susi Lehtola 2010-04-29 11:08:33 EDT
The package looks quite good. However, I'd suggest adding LDFLAGS="%{optflags}" to the make phase, so that the RPM optimization flags are also used in linking (although currently it might not make any difference).

Note that you are now mixing styles, which is not allowed. [Actually, this is Terje's fault :)] Just switch from %{optflags} to $RPM_OPT_FLAGS. Or, change $RPM_BUILD_ROOT to %{buildroot}, whichever you prefer.


In Fedora packages are not sponsored - packagers are. Have you made any other submissions? Have you made any informal reviews of other packages?

As a reminder, to get packager rights you need to demonstrate your knowledge of the Fedora guidelines, most importantly
 http://fedoraproject.org/wiki/Packaging/Guidelines
 http://fedoraproject.org/wiki/Packaging/ReviewGuidelines
Additionally to the Packaging Guidelines, there are a bunch of language / application specific guidelines that are linked to in the Packaging Guidelines.

Here are some tricks of the trade:
http://fedoraproject.org/wiki/Packaging_tricks
http://fedoraproject.org/wiki/Packaging/ScriptletSnippets
http://fedoraproject.org/wiki/Common_Rpmlint_issues
Comment 4 Mark McKinstry 2010-05-08 14:48:12 EDT
Jussi,

LDFLAGS has been added. I have also switched to one style for the RPM macros. 

Spec URL: http://mmckinst.nexcess.net/mg/mg.spec
SRPM URL: http://mmckinst.nexcess.net/mg/mg-20090107-3.fc12.src.rpm

I have an old submission at #532402 but that package is unusual and doesn't fit nicely in the Fedora system, I might end up withdrawing it. I just submitted another review request for another editor, vile, at #590305 . 

My eventual goal is to maintain mytop for the EPEL branches - see #426990 but when I made the request I didn't realize I had to be a package maintainer first, hence me submitting new packages to prove I'm able to maintain mytop :).
Comment 5 Susi Lehtola 2010-05-08 15:19:33 EDT
OK.

By the way, please prepend the numbers with "bug", e.g. bug #590305 so bugzilla will make hyperlinks.

Have you made any informal reviews yet? At least I require two of them (minimum) from my sponsorees-to-be, since being sponsored - becoming a packager gives you the power to make formal reviews.
Comment 6 Mark McKinstry 2010-06-11 21:35:50 EDT
Jussi,

I'm working on getting some reviews under my belt:

Review #1 at bug #598688

More to come.
Comment 7 Susi Lehtola 2010-06-19 02:39:26 EDT
OK. You have one more pre-review to do.

Please only pre-review packages not marked with FE-NEEDSPONSOR, as anyone sponsoring you will have to do a full review to check your review.
Comment 8 Mark McKinstry 2010-08-17 22:01:41 EDT
Review #2 at bug #619237
Comment 9 Mark McKinstry 2010-09-14 20:18:29 EDT
ping?

I've been helping out with some other packages too:

bug #630822 python-ansi2html
bug #633104 monkeysphere
bug #624294 gforth-ffl
Comment 10 Martin Gieseking 2010-10-04 03:16:32 EDT
Jussi, are you going to sponsor Mark? If you don't have the time at the moment, I could do it.
Comment 11 Susi Lehtola 2010-10-04 03:38:39 EDT
Martin: please do it. I've been so busy with other things that I haven't even had the time to maintain my own packages as well as I would have wanted...
Comment 12 Martin Gieseking 2010-10-04 04:55:17 EDT
OK, thank you for the feedback, Jussi.

Mark, I will sponsor you. Since you already submitted a couple of packages, and did some informal reviews as well, you're ready to get approved. So there's currently no further action required on your side. I'm going to have a look at your packages later today, and will add you to the packager group afterwards.
Comment 13 Martin Gieseking 2010-10-04 12:43:26 EDT
Hi Mark,

here's the formal review of mg. The package looks almost fine. Just three minor things:

- The license field should contain the license of the binary package. In mixed
  licensing scenarios like here, you have to try to extract something like the 
  least common multiple of the involved licenses. Since "Public Domain"
  isn't a real license, you can usually omit it if it's involved in a mixed
  licensing scenario. I would condense everything to "BSD and ISC and MirOS".
  I'm not sure if this expression can be simplified further.

- Makefile.in defines variable "libdir" which is currently unused. However, in 
  order to prevent unwanted surprises in future versions, I suggest to assign 
  a proper value, e.g. by adding libdir='%{_libdir}' to the first "make" 
  statement.

- add blank lines between the %changelog entries


$ rpmlint /var/lib/mock/fedora-13-x86_64/result/*.rpm
mg.src:25: W: configure-without-libdir-spec
3 packages and 0 specfiles checked; 0 errors, 1 warnings.

The warning can be ignored since "configure" isn't generated by autoconf but a manually written shell script that doesn't work with %configure. "libdir" should be assigned in the make statement.

---------------------------------
key:

[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}.
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license.
    - mixed licensing scenario
    - licenses involved: BSD, ISC, MirOS
    
[X] MUST: The License field in the package spec file must match the actual license.
    - drop "Public Domain" and the parentheses:
      BSD and ISC and MirOS

[.] MUST: The file containing the text of the license(s) for the package must be included in %doc.
    - tarball doesn't contain license texts
    - file README contains some copyright information (README present in %doc)

[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source.
    $ md5sum mg-20090107.tar.gz*
    f25a139da44c3a2f760ffec531bd996e  mg-20090107.tar.gz
    f25a139da44c3a2f760ffec531bd996e  mg-20090107.tar.gz.1

[+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
    Koji scratch build:
    http://koji.fedoraproject.org/koji/taskinfo?taskID=2511059

[.] MUST: If the package does not successfully compile, build or work on an architecture, ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: The spec file MUST handle locales properly. 
    - no locales present

[.] MUST: Packages storing shared library files (not just symlinks) must call ldconfig in %post and %postun.
[+] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates. 
[+] MUST: A Fedora package must not list a file more than once in %files.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Each package must consistently use macros.
[+] MUST: The package must contain code, or permissable content.
[.] MUST: Large documentation files must go in a -doc subpackage.
[+] MUST: Files in %doc must not affect the runtime of the application.
[.] MUST: Header files must be in a -devel package.
[.] MUST: Static libraries must be in a -static package.
[.] MUST: If a package contains library files with a suffix ...
[.] MUST: devel packages must require the base package.
[+] MUST: Packages must NOT contain any .la libtool archives.
[.] MUST: Packages containing GUI applications must include a %{name}.desktop file.
[+] MUST: Packages must not own files or directories already owned by other packages.
[+] MUST: All filenames in rpm packages must be valid UTF-8.

[X] SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it.
[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: The package should compile and build into binary rpms on all supported architectures.
[+] SHOULD: The reviewer should test that the package functions as described. 
    - seems to work as expected, but I'm not an Emacs guy, though. :)

[.] SHOULD: If scriptlets are used, those scriptlets must be sane.
[.] SHOULD: subpackages other than devel should require the base package.
[.] SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg.
[.] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin ...
[+] SHOULD: your package should contain man pages for binaries/scripts.
Comment 14 Mark McKinstry 2010-10-05 18:06:52 EDT
Martin,

Thanks for the review.

> I would condense everything to "BSD and ISC and MirOS".

Done.

> adding libdir='%{_libdir}' to the first "make"  statement

Done.

> add blank lines between the %changelog entries

Done. I'll fix that on all future SPECS too.

SPEC: http://mmckinst.nexcess.net/mg/mg.spec
SRPM: http://mmckinst.nexcess.net/mg/mg-20090107-4.fc13.src.rpm
Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2515600
Comment 15 Martin Gieseking 2010-10-06 13:40:55 EDT
Mark, the package is ready now. As a minor improvement, I recommend to use macro %{version} in Source0 to simplify updating the package to future versions.

The next step is to request a Git repository with the distro branches you're planning to maintain. For further details see http://fedoraproject.org/wiki/CVS_admin_requests

----------------
Package APPROVED
----------------
Comment 16 Mark McKinstry 2010-10-06 17:19:36 EDT
Thank you for the review and sponsorship Martin. I'll use the version macro in the Source0 line too, I always try to use macros wherever possible but somehow missed it on this one.
Comment 17 Mark McKinstry 2010-10-06 17:22:44 EDT
New Package SCM Request
=======================
Package Name: mg
Short Description: Tiny Emacs-like editor
Owners: mmckinst
Branches: f12 f13 f14 el4 el5 el6
InitialCC: mmckinst
Comment 18 Kevin Fenzi 2010-10-06 19:19:54 EDT
Git done (by process-git-requests).
Comment 19 Fedora Update System 2010-10-06 22:29:14 EDT
mg-20090107-5.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/mg-20090107-5.fc14
Comment 20 Fedora Update System 2010-10-06 22:49:28 EDT
mg-20090107-5.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/mg-20090107-5.fc13
Comment 21 Fedora Update System 2010-10-06 22:49:36 EDT
mg-20090107-5.fc12 has been submitted as an update for Fedora 12.
https://admin.fedoraproject.org/updates/mg-20090107-5.fc12
Comment 22 Fedora Update System 2010-10-07 15:49:43 EDT
mg-20090107-5.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update mg'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/mg-20090107-5.fc14
Comment 23 Fedora Update System 2010-10-07 17:55:17 EDT
mg-20090107-5.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/mg-20090107-5.el5
Comment 24 Fedora Update System 2010-10-07 17:55:25 EDT
mg-20090107-5.el4 has been submitted as an update for Fedora EPEL 4.
https://admin.fedoraproject.org/updates/mg-20090107-5.el4
Comment 25 Fedora Update System 2010-10-27 18:33:31 EDT
mg-20090107-5.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 26 Fedora Update System 2010-10-27 18:42:15 EDT
mg-20090107-5.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 27 Fedora Update System 2010-10-28 02:02:54 EDT
mg-20090107-5.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 28 Fedora Update System 2010-10-28 12:51:04 EDT
mg-20090107-5.el4 has been pushed to the Fedora EPEL 4 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 29 Fedora Update System 2010-10-28 12:52:03 EDT
mg-20090107-5.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 30 Mark McKinstry 2014-09-09 21:15:26 EDT
Package Change Request
======================
Package Name: mg
New Branches: epel7
Owners: mmckinst
Comment 31 Gwyn Ciesla 2014-09-10 06:15:01 EDT
Git done (by process-git-requests).
Comment 32 Fedora Update System 2014-09-12 18:10:01 EDT
mg-20140414-2.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/mg-20140414-2.el7
Comment 33 Fedora Update System 2014-10-28 07:06:33 EDT
mg-20140414-2.el7 has been pushed to the Fedora EPEL 7 stable repository.
Comment 34 Fedora Update System 2014-10-30 20:08:01 EDT
mg-20141007-1.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/mg-20141007-1.el7
Comment 35 Fedora Update System 2014-11-15 23:15:35 EST
mg-20141007-1.el7 has been pushed to the Fedora EPEL 7 stable repository.

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