This service will be undergoing maintenance at 00:00 UTC, 2016-09-28. It is expected to last about 1 hours

Bug 499579 (libxdg-basedir)

Summary: Review Request: libxdg-basedir - Implementation of the XDG Base Directory Specifications
Product: [Fedora] Fedora Reporter: Michal Nowak <mnowak>
Component: Package ReviewAssignee: Christian Krause <chkr>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: cg, chkr, fedora-package-review, notting, ohudlick
Target Milestone: ---Flags: chkr: fedora‑review+
kevin: fedora‑cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.0.1-2.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-06-30 17:31:43 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 452427    

Description Michal Nowak 2009-05-07 06:01:45 EDT
Spec URL: http://mnowak.fedorapeople.org/libxdg-basedir/libxdg-basedir.spec
SRPM URL: http://mnowak.fedorapeople.org/libxdg-basedir/libxdg-basedir-1.0.0-1.fc11.src.rpm
Description:

The XDG Base Directory Specification defines where should user files 
be looked for by defining one or more base directories relative in 
with they should be located.

This library implements functions to list the directories according 
to the specification and provides a few higher-level functions.
Comment 1 Michal Nowak 2009-05-07 06:03:13 EDT
Scratch in Koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=1340407

Rpmlint output:

newman@dhcp-lab-124 SPECS $ rpmlint /home/newman/rpmbuild/SRPMS/libxdg-basedir-1.0.0-1.fc11.src.rpm /home/newman/rpmbuild/RPMS/x86_64/libxdg-basedir-1.0.0-1.fc11.x86_64.rpm /home/newman/rpmbuild/RPMS/x86_64/libxdg-basedir-devel-1.0.0-1.fc11.x86_64.rpm /home/newman/rpmbuild/RPMS/x86_64/libxdg-basedir-debuginfo-1.0.0-1.fc11.x86_64.rpm libxdg-basedir.spec 
libxdg-basedir.x86_64: W: no-documentation
libxdg-basedir-devel.x86_64: W: no-documentation
4 packages and 1 specfiles checked; 0 errors, 2 warnings.
Comment 2 Christian Krause 2009-06-07 09:33:48 EDT
I've reviewed the package and it looks ok. There are only some minor and uncritical issues:

* rpmlint: TODO
rpmlint SPECS/libxdg-basedir.spec SRPMS/libxdg-basedir-1.0.0-1.fc10.src.rpm RPMS/i386/libxdg-basedir-*
libxdg-basedir.i386: W: no-documentation
libxdg-basedir-devel.i386: W: no-documentation
4 packages and 1 specfiles checked; 0 errors, 2 warnings.

In general it is not a problem to have no documentation if
a package doesn't provide any. ;-) However, in this specific case
the package provides a doxygen API documentation (make doxygen-all).
It would be good if it could be added to the devel package.

* naming: OK
- name matches upstream
- spec file name matches package name

* sources: TODO
- e32bcfa772fb57e8e1acdf9616a8d567  libxdg-basedir-1.0.0.tar.gz
- sources matches upstream
- Source0 tag ok
- spectool -g  works
- upstream version 1.0.1 was released a couple of weeks ago, please update to
the new version (according to upstream's git repo it looks like a minor
bug fix release)

* License: TODO
- License MIT acceptable
- License in spec file matches the actual license (MIT license header in libxdg-basedir-1.0.0/src/basedir.c )
- No License file included, so there is no need to package it.
- It would be better if upstream would provide a license file. According to the Review guidelines the packager is encouraged to query upstream to include it. However this will not block the review.

* spec file written in English and legible: OK

* compilation: OK
- supports parallel build
- RPM_OPT_FLAGS are correctly used
- builds in mock (F10)
- builds in koji:
F10: https://koji.fedoraproject.org/koji/taskinfo?taskID=1394643
F11: https://koji.fedoraproject.org/koji/taskinfo?taskID=1394648
F12: https://koji.fedoraproject.org/koji/taskinfo?taskID=1397616

* BuildRequires: OK
- no build requires are necessary

* locales handling: OK (n/a)

* ldconfig in %post and %postun: OK

* package owns all directories that it creates: TODO
- %{_libdkir}/pkgconfig is created, but not owned by libxdg-basedir-devel
- please add a "Requires: pkgconfig" to the devel package

* no files listed twice in %files: OK

* file permissions: OK
- %defattr used
- actual permissions in packages ok

* %clean section: OK

* macro usage: OK

* code vs. content: OK (only code)

* large documentation into subpackage: OK (n/a)

* header files in -devel subpackage: OK

* static libraries in -static package: OK (n/a)

* package containing *.pc files must "Requires: pkgconfig": TODO (see above)

* *.so link in -devel package: OK

* - devel package requires base package using fully versioned dependency: OK

* packages must not contain *.la files: OK

* GUI applications must provide *.desktop file: OK (n/a)

* packages must not own files/dirs already owned by other packages: OK

* rm -rf $RPM_BUILD_ROOT at the beginning of %install: OK

* all filenames UTF-8: OK

* functional test: OK
- compiling the provided test applications
tests/testfind and tests/testdump
- test apps compile successfully and the reported directory names seem to be
meaningful

* debuginfo sub-package: OK
- non-empty
- debuginfo file works together with gdb
Comment 3 Michal Nowak 2009-06-08 06:49:50 EDT
(In reply to comment #2)
> I've reviewed the package and it looks ok. There are only some minor and
> uncritical issues:

Thanks for the review, Christian. Good work.

> * rpmlint: TODO
> rpmlint SPECS/libxdg-basedir.spec SRPMS/libxdg-basedir-1.0.0-1.fc10.src.rpm
> RPMS/i386/libxdg-basedir-*
> libxdg-basedir.i386: W: no-documentation
> libxdg-basedir-devel.i386: W: no-documentation
> 4 packages and 1 specfiles checked; 0 errors, 2 warnings.
> 
> In general it is not a problem to have no documentation if
> a package doesn't provide any. ;-) However, in this specific case
> the package provides a doxygen API documentation (make doxygen-all).
> It would be good if it could be added to the devel package.

Now we have -docs sub-package with Doxygen generated documentation.

> * naming: OK
> - name matches upstream
> - spec file name matches package name
> 
> * sources: TODO
> - e32bcfa772fb57e8e1acdf9616a8d567  libxdg-basedir-1.0.0.tar.gz
> - sources matches upstream
> - Source0 tag ok
> - spectool -g  works
> - upstream version 1.0.1 was released a couple of weeks ago, please update to
> the new version (according to upstream's git repo it looks like a minor
> bug fix release)

Packed.

> * License: TODO
> - License MIT acceptable
> - License in spec file matches the actual license (MIT license header in
> libxdg-basedir-1.0.0/src/basedir.c )
> - No License file included, so there is no need to package it.
> - It would be better if upstream would provide a license file. According to the
> Review guidelines the packager is encouraged to query upstream to include it.
> However this will not block the review.

Encouraged :). You're in Cc.

> * spec file written in English and legible: OK
> 
> * compilation: OK
> - supports parallel build
> - RPM_OPT_FLAGS are correctly used
> - builds in mock (F10)
> - builds in koji:
> F10: https://koji.fedoraproject.org/koji/taskinfo?taskID=1394643
> F11: https://koji.fedoraproject.org/koji/taskinfo?taskID=1394648
> F12: https://koji.fedoraproject.org/koji/taskinfo?taskID=1397616
> 
> * BuildRequires: OK
> - no build requires are necessary
> 
> * locales handling: OK (n/a)
> 
> * ldconfig in %post and %postun: OK
> 
> * package owns all directories that it creates: TODO
> - %{_libdkir}/pkgconfig is created, but not owned by libxdg-basedir-devel
> - please add a "Requires: pkgconfig" to the devel package

Added.

> * no files listed twice in %files: OK
> 
> * file permissions: OK
> - %defattr used
> - actual permissions in packages ok
> 
> * %clean section: OK
> 
> * macro usage: OK
> 
> * code vs. content: OK (only code)
> 
> * large documentation into subpackage: OK (n/a)
> 
> * header files in -devel subpackage: OK
> 
> * static libraries in -static package: OK (n/a)
> 
> * package containing *.pc files must "Requires: pkgconfig": TODO (see above)
> 
> * *.so link in -devel package: OK
> 
> * - devel package requires base package using fully versioned dependency: OK
> 
> * packages must not contain *.la files: OK
> 
> * GUI applications must provide *.desktop file: OK (n/a)
> 
> * packages must not own files/dirs already owned by other packages: OK
> 
> * rm -rf $RPM_BUILD_ROOT at the beginning of %install: OK
> 
> * all filenames UTF-8: OK
> 
> * functional test: OK
> - compiling the provided test applications
> tests/testfind and tests/testdump
> - test apps compile successfully and the reported directory names seem to be
> meaningful

Added to %make check.

> * debuginfo sub-package: OK
> - non-empty
> - debuginfo file works together with gdb  

--
http://mnowak.fedorapeople.org/libxdg-basedir/libxdg-basedir.spec
http://mnowak.fedorapeople.org/libxdg-basedir/libxdg-basedir-1.0.1-1.fc11.src.rpm
Comment 4 Christian Krause 2009-06-08 19:46:58 EDT
Hi Michal,

thanks for the fast reply. I believe we are very close to approval, just two minor items:

(In reply to comment #3)
> (In reply to comment #2)
> > In general it is not a problem to have no documentation if
> > a package doesn't provide any. ;-) However, in this specific case
> > the package provides a doxygen API documentation (make doxygen-all).
> > It would be good if it could be added to the devel package.
> 
> Now we have -docs sub-package with Doxygen generated documentation.

Ok, good! Only one small request: please can you rename the -docs package into -doc? I'm not 100% sure about this because I've found on my system packages with both naming conventions. However, the packaging guidelines only mention -doc: 
http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation

> > * License: TODO
> > - License MIT acceptable
> > - License in spec file matches the actual license (MIT license header in
> > libxdg-basedir-1.0.0/src/basedir.c )
> > - No License file included, so there is no need to package it.
> > - It would be better if upstream would provide a license file. According to the
> > Review guidelines the packager is encouraged to query upstream to include it.
> > However this will not block the review.
> 
> Encouraged :). You're in Cc.

Great - looks like Mark already added it. It is sufficient to include it in the package once upstream provides a new tarball. No further action needed right now. ;-)

> > * sources: TODO
> > - e32bcfa772fb57e8e1acdf9616a8d567  libxdg-basedir-1.0.0.tar.gz
> > - sources matches upstream
> > - Source0 tag ok
> > - spectool -g  works
> > - upstream version 1.0.1 was released a couple of weeks ago, please update to
> > the new version (according to upstream's git repo it looks like a minor
> > bug fix release)
> 
> Packed.

Just for reference: the new source tarball matches upstream - md5sum:
941dacde04db15164c9aca5a1d856665  libxdg-basedir-1.0.1.tar.gz

> > * package owns all directories that it creates: TODO
> > - %{_libdkir}/pkgconfig is created, but not owned by libxdg-basedir-devel
> > - please add a "Requires: pkgconfig" to the devel package
> 
> Added.

Sorry, probably there was a small misunderstanding here. Adding "Requires: pkgconfig" is sufficient since it will provide the ownership of %{_libdir}/pkgconfig. So it is not needed that libxdg-base-devel owns the pkgconfig directory itself (and other packages with *.pc files don't do it either... ;-) ).


Best regards,
Christian
Comment 5 Michal Nowak 2009-06-09 05:06:48 EDT
(In reply to comment #4)

Hola, thanks for the review.

Re:
"""
Ok, good! Only one small request: please can you rename the -docs package into
-doc? I'm not 100% sure about this because I've found on my system packages
with both naming conventions. However, the packaging guidelines only mention
-doc: 
http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation
"""

Correct. I misread the docs. Corrected.

Re:
"""
Sorry, probably there was a small misunderstanding here. Adding "Requires:
pkgconfig" is sufficient since it will provide the ownership of
%{_libdir}/pkgconfig. So it is not needed that libxdg-base-devel owns the
pkgconfig directory itself (and other packages with *.pc files don't do it
either... ;-) ).
"""

Yep. Right. I should use brain next time.

Both issues fixed:

* Tue Jun  9 2009 Michal Nowak <mnowak@redhat.com> - 1.0.1-2
- removed bogus ownership of %%{_libdir}/pkgconfig/
- "docs" sub-package renamed to "doc"


http://mnowak.fedorapeople.org/libxdg-basedir/libxdg-basedir.spec
http://mnowak.fedorapeople.org/libxdg-basedir/libxdg-basedir-1.0.1-2.fc11.src.rpm
Comment 6 Christian Krause 2009-06-11 17:21:30 EDT
Hello Michal,

(In reply to comment #5)
> (In reply to comment #4)
> Both issues fixed:
> 
> * Tue Jun  9 2009 Michal Nowak <mnowak@redhat.com> - 1.0.1-2
> - removed bogus ownership of %%{_libdir}/pkgconfig/
> - "docs" sub-package renamed to "doc"
> 
> 
> http://mnowak.fedorapeople.org/libxdg-basedir/libxdg-basedir.spec
> http://mnowak.fedorapeople.org/libxdg-basedir/libxdg-basedir-1.0.1-2.fc11.src.rpm  

I've reviewed the new packages and all reported issues are fixed.

-> APPROVED.

Christian
Comment 7 Michal Nowak 2009-06-11 18:03:18 EDT
Thanks a lot, Christian!
Comment 8 Michal Nowak 2009-06-11 18:09:04 EDT
New Package CVS Request
=======================
Package Name: libxdg-basedir
Short Description: Implementation of the XDG Base Directory Specifications
Owners: mnowak
Branches: F-10 F-11
InitialCC: mnowak
Comment 9 Kevin Fenzi 2009-06-12 00:07:29 EDT
cvs done.
Comment 10 Fedora Update System 2009-06-12 21:33:04 EDT
libxdg-basedir-1.0.1-2.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/libxdg-basedir-1.0.1-2.fc11
Comment 11 Fedora Update System 2009-06-12 21:34:35 EDT
libxdg-basedir-1.0.1-2.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/libxdg-basedir-1.0.1-2.fc10
Comment 12 Fedora Update System 2009-06-15 21:31:37 EDT
libxdg-basedir-1.0.1-2.fc10 has been pushed to the Fedora 10 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 libxdg-basedir'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-6047
Comment 13 Fedora Update System 2009-06-15 22:21:24 EDT
libxdg-basedir-1.0.1-2.fc11 has been pushed to the Fedora 11 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 libxdg-basedir'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-6372
Comment 14 Fedora Update System 2009-06-30 17:31:38 EDT
libxdg-basedir-1.0.1-2.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 15 Fedora Update System 2009-06-30 17:37:48 EDT
libxdg-basedir-1.0.1-2.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.