Bug 988102 - (perl-DBD-Sybase) Review Request: perl-DBD-Sybase - An interface for perl to connect with Sybase and MSSQL databases
Review Request: perl-DBD-Sybase - An interface for perl to connect with Sybas...
Status: NEW
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Extras Quality Assurance
:
Depends On:
Blocks: check-mssql-health
  Show dependency treegraph
 
Reported: 2013-07-24 14:08 EDT by Marcus Asshauer
Modified: 2016-03-10 16:01 EST (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Marcus Asshauer 2013-07-24 14:08:45 EDT
Spec URL: http://mcas.fedorapeople.org/review/perl-DBD-Sybase.spec
SRPM URL: http://mcas.fedorapeople.org/review/perl-DBD-Sybase-1.15-1.src.rpm
Description: DBD::Sybase is a Perl module which works with the DBI module
to provide access to Sybase or MS-SQL databases.
Fedora Account System Username: mcas
Comment 1 Björn 'besser82' Esser 2013-07-24 14:11:31 EDT
I'll take this one.
Comment 2 Björn 'besser82' Esser 2013-07-24 14:23:44 EDT
spec inside srpm differs from the one provided by link.  Rebuild your srpm, please, and re-upload.
Comment 3 Marcus Asshauer 2013-07-24 14:26:14 EDT
rebuild and re-upload done
Comment 6 Björn 'besser82' Esser 2013-07-24 16:38:54 EDT
No issues found on this. :)

#####

Package Review
==============

Legend:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.

     ---> This is intentional on c-compiled perl-extensions

[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package complies to the Packaging Guidelines
[-]: 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 is included in %doc.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 9 files have unknown license. Detailed output of
     licensecheck in /home/besser82/shared/fedora/review/988102-perl-DBD-
     Sybase/licensecheck.txt

     ---> License is derived from perl.  License-tag is fine

[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[-]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 102400 bytes in 10 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: No rpmlint messages.

Perl:
[x]: Package contains the mandatory BuildRequires and Requires:.
[x]: CPAN urls should be non-versioned.

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[-]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.

     ---> testsuite will need a running/accessible Sybase DB-server
          so it is disabled

[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: perl-DBD-Sybase-1.15-1.fc20.x86_64.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint perl-DBD-Sybase
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
# echo 'rpmlint-done:'



Requires
--------
perl-DBD-Sybase (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libct.so.4()(64bit)
    libdl.so.2()(64bit)
    libm.so.6()(64bit)
    perl(:MODULE_COMPAT_5.16.3)
    perl(Carp)
    perl(DBI)
    perl(DynaLoader)
    perl(Exporter)
    perl(Sys::Hostname)
    perl(strict)
    rtld(GNU_HASH)



Provides
--------
perl-DBD-Sybase:
    perl(DBD::Sybase)
    perl(DBD::Sybase::db)
    perl(DBD::Sybase::dr)
    perl(DBD::Sybase::st)
    perl-DBD-Sybase
    perl-DBD-Sybase(x86-64)
    perl-DBD-sybase



Unversioned so-files
--------------------
perl-DBD-Sybase: /usr/lib64/perl5/vendor_perl/auto/DBD/Sybase/Sybase.so

---> see comment above

Source checksums
----------------
http://search.cpan.org/CPAN/authors/id/M/ME/MEWP/DBD-Sybase-1.15.tar.gz :
  CHECKSUM(SHA256) this package     : 0b53aa979dde6ab56c9f35f35ca5002cbb041aa8a38e3c4a9dea74a0b31c1584
  CHECKSUM(SHA256) upstream package : 0b53aa979dde6ab56c9f35f35ca5002cbb041aa8a38e3c4a9dea74a0b31c1584


Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 988102

#####

This package is
APPROVED!

#####

I'll set review(+)-flag after I sponsored you to packager-group.

Before I'll sponsor you to packager-group, I want to see two or three reviews made by you.  We can take one review together if you want, so you can get a bit familar with process and all.  For further information on review-process let's use pm or irc.

Cheers,
  Björn
Comment 7 Björn 'besser82' Esser 2013-07-24 17:14:03 EDT
There's just a small correction on the spec needed, because of directory-ownership:

 %files
 %doc BUGS CHANGES README* *.pod eg
-%{perl_vendorarch}/*
+%{perl_vendorarch}/DBD/
+%{perl_vendorarch}/auto/DBD/
 %{_mandir}/man*/*

"%{perl_vendorarch}/auto/" is owned by `perl-libs` so your pkg MUST NOT own them.

Please change these small bits, enhace changelog (use rpmdev-bumpspec and add a comment about your changes using editor-of-choice), rebuild srpm, upload new stuff and update the links.
Comment 8 Christopher Meng 2013-07-24 20:06:21 EDT
This package is in my repo ;) I've packaged it.

Issues besides Bjorn's:

1. Remove find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null ';'

This is a old mistake by extutils years ago, it's fixed now.

2. Why mark these as %doc:

*.pod eg ?

And I didn't push it to fedora review bwcause I can't test it with sybase server, can you test it?

Thanks, and also please update your spec and srpm so we can review again.
Comment 9 Michael Schwendt 2013-07-26 04:03:53 EDT
> 2. Why mark these as %doc:
> 
> *.pod eg ?

That's a strange question. Could you be more verbose, please, and explain your thoughts?
Comment 10 Björn 'besser82' Esser 2013-07-26 04:33:26 EDT
(In reply to Christopher Meng from comment #8)

Thanks, for you remarks.

> This package is in my repo ;) I've packaged it.
> 
> Issues besides Bjorn's:
> 
> 1. Remove find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null ';'
> 
> This is a old mistake by extutils years ago, it's fixed now.

Any clarifying link to this?  For which dists this is fixed?  Is el5 still affected or are things fixed there, too?

As far as I see, this command will remove some unused and empty dirs, only.  Give me some helpful clues on this, please.


> 2. Why mark these as %doc:
> 
> *.pod eg ?

Refering to mschwendt's comment #9: Why not? ;)

eg/ contains some brief examples, so it's really a should-be-in.  *.pod is some docs differing from man-page.  It's kinda markdown; human-readable and convertible to various formats with broad choice of different tools.  So both are %doc...


> And I didn't push it to fedora review because I can't test it with sybase
> server, can you test it?

Yes, temporary; if I need one, I can get one for a couple of hours ;)


> Thanks, and also please update your spec and srpm so we can review again.

The small two-line change, I mentioned, can be made by mcas on SCM-import, as well.  It's just important to have them made. ;)
Comment 11 Christopher Meng 2013-07-26 04:37:20 EDT
(In reply to Björn Esser from comment #10)
> Any clarifying link to this?  For which dists this is fixed?  Is el5 still
> affected or are things fixed there, too?
> 
> As far as I see, this command will remove some unused and empty dirs, only. 
> Give me some helpful clues on this, please.


Petr from Perl-devel has confirmed this in my package reviews, and remove this line won't cause any problem. But if you say el5, I think you may need to preserve it again.


> > 2. Why mark these as %doc:
> > 
> > *.pod eg ?
> 
> Refering to mschwendt's comment #9: Why not? ;)
> 
> eg/ contains some brief examples, so it's really a should-be-in.  *.pod is
> some docs differing from man-page.  It's kinda markdown; human-readable and
> convertible to various formats with broad choice of different tools.  So
> both are %doc...

Understand now, thanks.

> Yes, temporary; if I need one, I can get one for a couple of hours ;)

Yes, I hope it can work.


> The small two-line change, I mentioned, can be made by mcas on SCM-import,
> as well.  It's just important to have them made. ;)

OK. ;)
Comment 12 Michael Schwendt 2013-07-26 05:30:43 EDT
> But if you say el5, I think you may need to preserve it again.

Nope. ;-)
Comment 13 Björn 'besser82' Esser 2013-07-27 05:32:20 EDT
Thanks for the hint, Michael!

#####

Marcus, let me get all needed spec-changes together here:

...snip...

 find %{buildroot} -type f -name .packlist -exec rm -f {} ';'
 find %{buildroot} -type f -name '*.bs' -a -size 0 -exec rm -f {} ';'
 find %{buildroot} -type f -name '*.pod' -exec rm -f {} ';'
-find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null ';'

 %{_fixperms} %{buildroot}/*

...snip...

 %files
 %doc BUGS CHANGES README* *.pod eg
-%{perl_vendorarch}/*
+%{perl_vendorarch}/DBD/
+%{perl_vendorarch}/auto/DBD/
 %{_mandir}/man*/*

...snip...

#####

These two changes should bring spec, and therefor build rpms, in perfect shape for production. You can do them during SCM-import. :)
Comment 14 Björn 'besser82' Esser 2013-08-30 02:31:04 EDT
Marcus, are you alive?
Comment 15 Björn 'besser82' Esser 2013-10-19 10:36:08 EDT
Ping No.2 ...
Comment 17 David Dick 2014-03-25 06:54:57 EDT
Just a thought.  Rather than throw the test suite away completely, you could replace "make test" with "perl -Iblib/lib -Iblib/arch t/base.t" which would prove that at least the build has succeeded and the Sybase shared object can be loaded.
Comment 18 Bill Yodlowsky 2014-09-22 17:28:05 EDT
Hi,

With this addition:

@@ -79,7 +79,7 @@
 # Uncomment the following line if want to run the testsuite.
 #
 #make test
-
+%{__perl} -Iblib/lib -Iblib/arch t/base.t

Is there anything left holding this back?

Thanks!
Comment 19 Markus Frosch 2015-09-07 08:18:47 EDT
Is there anything I can do to bring this do Fedora and EPEL? :)
Comment 20 Petr Šabata 2015-09-07 08:51:14 EDT
I suppose you can take the review and finish it.  Björn appears to be unavailable.
Comment 21 Christopher Meng 2015-09-08 01:43:15 EDT
(In reply to Petr Šabata from comment #20)
> I suppose you can take the review and finish it.  Björn appears to be
> unavailable.

I can't remember, but I believe Marcus Asshauer is sponsored by Björn who is unavailable now.
Comment 22 Markus Frosch 2015-09-08 02:55:39 EDT
Will review the package later, have packaged it myself for EL7 lately.

Though I'm not a Fedora contributor, so we would need an official member to actually commit it.
Comment 23 Dominik 'Rathann' Mierzejewski 2015-12-01 05:53:15 EST
I'm interested in this package as well and I'll review the package. Please post the current links to spec and SRPM.
Comment 24 Dominik 'Rathann' Mierzejewski 2016-02-08 05:29:45 EST
If anyone is still interested in having this in Fedora, please post current spec and SRPM links.
Comment 25 Dominik 'Rathann' Mierzejewski 2016-03-10 12:27:43 EST
Package is probably ok as-is, but I no longer have interest in it since it doesn't support encrypted logins to Sybase DB, so unassigning myself.

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