Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 490397
Summary: | Review Request: gmime22 - Library for creating and parsing MIME messages | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Bernard Johnson <bjohnson> |
Component: | Package Review | Assignee: | Alex Lancaster <alex> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | alex, alexl, fedora-package-review, moneta.mace, notting |
Target Milestone: | --- | Flags: | alex:
fedora-review+
kevin: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2009-03-20 02:52:13 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 476243 | ||
Bug Blocks: | 476250, 490316 |
Description
Bernard Johnson
2009-03-16 03:53:06 UTC
There are at least two packages that don't yet rebuild using gmime 2.4: pan: (bug #476250) and dbmail (bug #490316) Also Cc'ing the gmime maintainer as https://fedoraproject.org/wiki/BrianPepple/DraftCompatPackages suggests that the maintainer of the primary package shouldn't be against the idea. Here are the main issues: 1. missing "Requires: pkgconfig" 2. probably should get some feedback from current gmime maintainer (although not a 100% requirement, it would be better to get feedback) Rest of full review: +:ok, =:needs attention, -:needs fixing, N/A:not applicable MUST Items: [+] MUST: rpmlint must be run on every package. # rpmlint compat-gmime-* compat-gmime-devel.i586: E: only-non-binary-in-usr-lib 2 packages and 0 specfiles checked; 1 errors, 0 warnings. Given that this exists in the original gmime 2.2.x package, I think this can be ignored for the moment as noted by comment #0 [+] 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 and meet the Licensing Guidelines. [+] MUST: The License field in the package spec file must match the actual license. [+] MUST: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package must be included 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, as provided in the spec URL. md5sum gmime-2.2.23.tar.bz2 rpmbuild/SOURCES/gmime-2.2.23.tar.bz2 9f254eb989e0506243da6fde7f164998 gmime-2.2.23.tar.bz2 9f254eb989e0506243da6fde7f164998 rpmbuild/SOURCES/gmime-2.2.23.tar.bz2 [+] MUST: The package must successfully compile and build into binary rpms on at least one supported architecture. koji scratch build http://koji.fedoraproject.org/koji/taskinfo?taskID=1242971 [] 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. [+] MUST: All build dependencies must be listed in BuildRequires [N/A] MUST: The spec file MUST handle locales properly. This is done by using the %find_lang macro. [+] MUST: Every binary RPM package which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun. [N/A] MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review [+] MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory. [+] MUST: A package must not contain any duplicate files in the %files listing. [+] MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line. [+] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). [+] MUST: Each package must consistently use macros, as described in the macros section of Packaging Guidelines. [+] MUST: The package must contain code, or permissible content. This is described in detail in the code vs. content section of Packaging Guidelines. [N/A] MUST: Large documentation files should go in a doc subpackage. [+] MUST: If a package includes something as %doc, it must not affect the runtime of the application. [+] MUST: Header files must be in a -devel package. [N/A] MUST: Static libraries must be in a -static package. [=] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' (for directory ownership and usability). Appears to be missing "Requires: pkgconfig", see: http://fedoraproject.org/wiki/Packaging/Guidelines#PkgconfigFiles [+] MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package. [+] MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release} [+] MUST: Packages must NOT contain any .la libtool archives, these should be removed in the spec. [N/A] MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section. [+] MUST: Packages must not own files or directories already owned by other packages. [+] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot} (or $RPM_BUILD_ROOT). [+] MUST: All filenames in rpm packages must be valid UTF-8. SHOULD Items: [+] 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. [N/A] SHOULD: The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available. [+] SHOULD: The reviewer should test that the package builds in mock. See koji build above [+] SHOULD: The package should compile and build into binary rpms on all supported architectures. Koji build above [] SHOULD: The reviewer should test that the package functions as described. [+] SHOULD: If scriptlets are used, those scriptlets must be sane. [+] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency. [+] SHOULD: The placement of pkgconfig(.pc) files depends on their usecase, and this is usually for development purposes, so should be placed in a -devel pkg. A reasonable exception is that the main pkg itself is a devel tool not installed in a user runtime, e.g. gcc or gdb. [N/A] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself. [+] SHOULD: Packages should try to preserve timestamps of original installed files. Additional MUST that was missing: [x] 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. (In reply to comment #2) > Here are the main issues: > > 1. missing "Requires: pkgconfig" > 2. probably should get some feedback from current gmime maintainer (although > not a 100% requirement, it would be better to get feedback) 1. fixed 2. Am I misreading packagedb? Are you not the owner of the current gmime package? (In reply to comment #3) > Additional MUST that was missing: > > [x] 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. I believe you mean "+" ?? Unless you found that one arch didn't build? Spec URL: http://fedorapeople.org/~bjohnson/compat-gmime.spec SRPM URL: http://fedorapeople.org/~bjohnson/compat-gmime-2.2.23-4.fc11.src.rpm * Mon Mar 16 2009 Bernard Johnson <bjohnson> - 2.2.23-4 - add Requires: pkgconfig to -devel package (In reply to comment #4) > (In reply to comment #2) > > Here are the main issues: > > > > 1. missing "Requires: pkgconfig" > > 2. probably should get some feedback from current gmime maintainer (although > > not a 100% requirement, it would be better to get feedback) > > 1. fixed > 2. Am I misreading packagedb? Are you not the owner of the current gmime > package? I am not the current name. My FAS username is "alexlan". "alexl" is Alexander Larsson. > (In reply to comment #3) > > Additional MUST that was missing: > > > > [x] 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. > > I believe you mean "+" ?? Unless you found that one arch didn't build? Yes, sorry, that should have been "+". > Spec URL: http://fedorapeople.org/~bjohnson/compat-gmime.spec > SRPM URL: http://fedorapeople.org/~bjohnson/compat-gmime-2.2.23-4.fc11.src.rpm > > * Mon Mar 16 2009 Bernard Johnson <bjohnson> - 2.2.23-4 > - add Requires: pkgconfig to -devel package Thanks, I'll review that in a second. Addressed review items: [+] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' (for directory ownership and usability). Since there have been no objections on this bug or on bug #476243 and given the need to fix the broken deps in rawhide, I'm going ahead and marking this as: APPROVED. I would recommend that we keep open bugs (or open new ones) for both dbmail and pan and plan to phase this compat-gmime package during the F-12 rawhide cycle. That will give the upstreams another 4-6 months to port their packages. (In reply to comment #5) > I am not the current name. My FAS username is "alexlan". "alexl" is Alexander > Larsson. Hum. That was less than obvious to me ;) I sent an email to Alexander Larsson so he would be aware of this bug. (In reply to comment #6) > APPROVED. Thanks for your time on this Alex. New Package CVS Request ======================= Package Name: compat-gmime Short Description: Compatibility library for creating and parsing MIME messages for gmime 2.2 Owners: bjohnson Branches: devel InitialCC: One comment, for naming: - On Fedora, "compat-" package meant is to provide binary compatibility for old applications and no packages on Fedora are allowed to build against "compat-" package, c.f. http://www.redhat.com/archives/fedora-devel-list/2008-February/msg01009.html https://bugzilla.redhat.com/show_bug.cgi?id=432310#c7 If this package wants to provide -devel subpackage, this must be named differently. (In reply to comment #7) > (In reply to comment #5) > > I am not the current name. My FAS username is "alexlan". "alexl" is Alexander > > Larsson. > > Hum. That was less than obvious to me ;) I sent an email to Alexander Larsson > so he would be aware of this bug. I had actually already Cc'ed him earlier, so he should have been already getting the bugmail. Actually it appears that he hasn't worked on the package for a while, more recently mclasen has been doing the updates. (In reply to comment #8) > One comment, for naming: > > - On Fedora, "compat-" package meant is to provide binary compatibility > for old applications and no packages on Fedora are allowed to > build against "compat-" package, c.f. > http://www.redhat.com/archives/fedora-devel-list/2008-February/msg01009.html > https://bugzilla.redhat.com/show_bug.cgi?id=432310#c7 > > If this package wants to provide -devel subpackage, this must > be named differently. That can't be true across the board. For example compat-libosip2 provides a shared library that linphone (and other apps) link against. # rpm -q compat-libosip2 --provides libosip2.so.3 libosipparser2.so.3 compat-libosip2 = 2.2.2-16.fc9 # rpm -q --whatrequires libosip2.so.3 compat-libosip2-2.2.2-16.fc9.i386 libeXosip2-3.1.0-1.fc9.i386 linphone-2.1.1-1.fc9.i386 Another example: # rpm -q compat-wxGTK26 --provides <snip> libwx_baseu-2.6.so.0 this is linked to by gspiceui and audacity: # repoquery --whatrequires libwx_baseu-2.6.so.0 gspiceui-0:0.9.65-3.fc10.i386 audacity-freeworld-0:1.3.5-0.4.beta.fc10.i386 compat-wxGTK26-devel-0:2.6.4-3.i386 compat-wxGTK26-0:2.6.4-3.i386 (In reply to comment #8) > If this package wants to provide -devel subpackage, this must > be named differently. Since the -devel package is explicitly needed for rebuilding dmail and pan against, what should the -devel package be named then? gmime22-devel? There's actually some more guidance on another reply in a thread: http://www.redhat.com/archives/fedora-devel-list/2008-February/msg01010.html It seems that there are no explicit guidelines on this in the package guidelines so people seem have done both compat-foo-devel and foo2-devel solutions. If we switch to gmime22{-devel} as the package name, we should rename the package basename as gmime22 not compat-gmime. Having compat-gmime and gmime22-devel in the same package is probably to invite confusion. Disabling the CVS request and re-raising the review flag until we get this sorted out, to avoid having to re-import with a different name later. (In reply to comment #10) > (In reply to comment #8) > > One comment, for naming: > > > > - On Fedora, "compat-" package meant is to provide binary compatibility > > for old applications and no packages on Fedora are allowed to > > build against "compat-" package, c.f. > > http://www.redhat.com/archives/fedora-devel-list/2008-February/msg01009.html > > https://bugzilla.redhat.com/show_bug.cgi?id=432310#c7 > > > > If this package wants to provide -devel subpackage, this must > > be named differently. > > That can't be true across the board. For example compat-libosip2 provides a > shared library that linphone (and other apps) link against. Yes, even _me_ didn't know this (i.e. the meaning of "compat-") before (actually I approved "compat-guile-16"), but I have already seen that many reviewers say that "compat-" is meant as so. OK, based on all of this, I recommend changing the basename of the package to gmime22 (as per bug #476243). Update the spec file, and I'll do a quick re-review, and the approve. Changing the summary accordingly. I had only heard that "compat-" was an indication to end users that "this package will be removed soon" - I had not heard the other points brought up. They do make sense though. Spec URL: http://fedorapeople.org/~bjohnson/gmime22.spec SRPM URL: http://fedorapeople.org/~bjohnson/gmime22-2.2.23-3.fc11.src.rpm Sorry, typo, here is the URLs: Spec URL: http://fedorapeople.org/~bjohnson/gmime22.spec SRPM URL: http://fedorapeople.org/~bjohnson/gmime22-2.2.23-5.fc11.src.rpm To Alex: The new naming seems good, so if you want to re-approve this package please do so. koji build succeeded: http://koji.fedoraproject.org/koji/taskinfo?taskID=1249361 Re-APPROVING: Note: I don't have a rawhide install to test, but I assume that you've tested parallel-installing gmime22 and gmime22-devel alongside the current 2.4.x gmime and gmime-devel? (Looking at the spec file it looks like it should be OK). (In reply to comment #21) > Note: I don't have a rawhide install to test, but I assume that you've tested > parallel-installing gmime22 and gmime22-devel alongside the current 2.4.x gmime > and gmime-devel? (Looking at the spec file it looks like it should be OK). I haven't because I don't have a rawhide system either. However, I've renamed some files in the spec file and inspected the rpm files list and everything looks ok. New Package CVS Request ======================= Package Name: gmime22 Short Description: Library for creating and parsing MIME messages Owners: bjohnson Branches: devel InitialCC: cvs done. built in rawhide |