Bug 959974 - Review Request: lfcbase - Lemke Foundation Classes
Summary: Review Request: lfcbase - Lemke Foundation Classes
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Björn 'besser82' Esser
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 960041 962189
TreeView+ depends on / blocked
 
Reported: 2013-05-06 10:40 UTC by Christopher Meng
Modified: 2014-01-21 13:59 UTC (History)
3 users (show)

Fixed In Version: lfcbase-1.5.4-2.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-05-21 20:35:07 UTC
Type: ---
Embargoed:
besser82: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)
Comment (239.08 KB, text/plain)
2013-05-18 08:22 UTC, Björn 'besser82' Esser
no flags Details

Description Christopher Meng 2013-05-06 10:40:32 UTC
Spec URL: http://cicku.me/liblfc.spec
SRPM URL: http://cicku.me/liblfc-1.4.1-1.fc20.src.rpm
Description: This class library contains several powerful c++ base classes for 
encapsulation of low level operating system calls and library functions. 
The following classes are included:
AESCrypt, Base64Coder, BigDecimal, BigInteger, Bitmap, Chain, CommandExecuter,
Crypt, Datetime, Exception, File, GetLongOpt, GetOpt, Host, ListT, Logger, 
Matcher, NanoTimer, Net, NetHandler, Process, Semaphore, SetT, SharedMemory, 
Sleeper, StackT, SigHandler, Thread, ThreadLock, Timer, Tokenizer, TreeT.
Fedora Account System Username: cicku

Comment 1 Christopher Meng 2013-05-15 07:17:17 UTC
New upstream release more compatible with Linux.

Spec URL: http://cicku.me/liblfc.spec
SRPM URL: http://cicku.me/liblfc-1.5.2-1.fc20.src.rpm

Comment 2 Björn 'besser82' Esser 2013-05-18 05:56:07 UTC
Here we go...

possible name-collision:

yum provides */liblfc*
Loaded plugins: auto-update-debuginfo, fastestmirror, langpacks, presto,
              : priorities, refresh-packagekit
Loading mirror speeds from cached hostfile
13110 packages excluded due to repository priority protections
lcgdm-debuginfo-1.8.5-1.fc18.x86_64 : Debug information for package lcgdm
Repo        : fedora-debuginfo
Matched from:
Filename    : /usr/lib/debug/usr/lib64/liblfc.so.1.8.5.debug
Filename    : /usr/lib/debug/usr/lib64/liblfc.so.debug
Filename    : /usr/lib/debug/usr/lib64/liblfc.so.1.debug



lfc-devel-1.8.5-1.fc18.i686 : LFC development libraries and header files
Repo        : fedora
Matched from:
Filename    : /usr/lib/liblfc.so



lfc-devel-1.8.5-1.fc18.x86_64 : LFC development libraries and header files
Repo        : fedora
Matched from:
Filename    : /usr/lib64/liblfc.so



lfc-libs-1.8.5-1.fc18.i686 : LCG File Catalog (LFC) libraries
Repo        : fedora
Matched from:
Filename    : /usr/lib/liblfc.so.1.8.5
Filename    : /usr/lib/liblfc.so.1



lfc-libs-1.8.5-1.fc18.x86_64 : LCG File Catalog (LFC) libraries
Repo        : fedora
Matched from:
Filename    : /usr/lib64/liblfc.so.1.8.5
Filename    : /usr/lib64/liblfc.so.1

Consider asking upstream having the lib renamed, eg. liblemkefc or liblemke-base (since it is the baselib for all FOSS on lemke-it.com...)

or use `Conflicts: lfc-libs` to get the pkg started until upstream changes

rpmlint (for srpm):

liblfc.src: W: spelling-error Summary(en_US) Lemke -> Lepke, Lemme // ignored
liblfc.src:46: E: hardcoded-library-path in /usr/lib/*.so.*
liblfc.src:51: E: hardcoded-library-path in /usr/lib/*.so
liblfc.src:22: W: mixed-use-of-spaces-and-tabs (spaces: line 3, tab: line 22)
liblfc.src: W: file-size-mismatch lfc-1.5.2.tar.gz = 1032882, http://www.lemke-it.com/lfc-1.5.2.tar.gz = 1032866 (!?!)

mock-build exhibits error (as promised by rpmlint):

File not found by "glob": /builddir/build/BUILDROOT/liblfc-1.5.2-1.fc20.x86_64/usr/lib/*.so.*

in spec-file:

%files
%doc COPYING
/usr/lib/*.so.* --> why you not use %{_libdir}/*.so.* ???

same goes for -devel.

Consider adding samples/*.cc to -devel %doc to give a "basic" idea how this lib can be useful.

BTW: Upstream sources does not provide a way to create some useful docs (e.g. using doxygen). How shall one make use of this lib, if you don't know how to use without studying sources???

Comment 3 Christopher Meng 2013-05-18 07:14:39 UTC
(In reply to comment #2)
> possible name-collision:
> Consider asking upstream having the lib renamed, eg. liblemkefc or
> liblemke-base (since it is the baselib for all FOSS on lemke-it.com...)

Aha..In fact upstream has changed the name to liblfcbase(How can you guess it!)

> rpmlint (for srpm):
> 
> liblfc.src: W: spelling-error Summary(en_US) Lemke -> Lepke, Lemme // ignored
> liblfc.src:46: E: hardcoded-library-path in /usr/lib/*.so.*
> liblfc.src:51: E: hardcoded-library-path in /usr/lib/*.so
> liblfc.src:22: W: mixed-use-of-spaces-and-tabs (spaces: line 3, tab: line 22)
> liblfc.src: W: file-size-mismatch lfc-1.5.2.tar.gz = 1032882,
> http://www.lemke-it.com/lfc-1.5.2.tar.gz = 1032866 (!?!)
> 
> mock-build exhibits error (as promised by rpmlint):
> 
> File not found by "glob":
> /builddir/build/BUILDROOT/liblfc-1.5.2-1.fc20.x86_64/usr/lib/*.so.*
> 
> in spec-file:
> 
> %files
> %doc COPYING
> /usr/lib/*.so.* --> why you not use %{_libdir}/*.so.* ???
> 
> same goes for -devel.

I know these problems at all. In fact Upstream has released at least 10 version recently just because of this review. Prior to that upstream doesn't use Linux to develope the program, as a result many things thorny has happened. So I stop revising the spec until coming to stable.

These problems will be fixed later(upstream just released a new version 30 minutes ago...)

> Consider adding samples/*.cc to -devel %doc to give a "basic" idea how this
> lib can be useful.

Maybe.

> BTW: Upstream sources does not provide a way to create some useful docs
> (e.g. using doxygen). How shall one make use of this lib, if you don't know
> how to use without studying sources???

These libs are not for study in fact. Just a base classes for lemke products like cego or etc...

Comment 4 Christopher Meng 2013-05-18 07:39:40 UTC
Time to be reviewd!

Spec URL: http://cicku.me/liblfc.spec
SRPM URL: http://cicku.me/liblfc-1.5.4-1.fc20.src.rpm

Comment 5 Björn 'besser82' Esser 2013-05-18 08:22:44 UTC
Created attachment 915714 [details]
Comment

(This comment was longer than 65,535 characters and has been moved to an attachment by Red Hat Bugzilla).

Comment 6 Björn 'besser82' Esser 2013-05-18 08:37:23 UTC
Since my last comment wasn't mailed: please fix as seen in #5

Comment 7 Christopher Meng 2013-05-18 08:41:00 UTC
So,

that's why I don't want to include such samples into %doc...I will not include them now.

For the name, as it has changed, I think I should change, too.

I'll adopt your suggestion.

For the compile warnings, please ignore them currently. Maybe a patch later.

Comment 8 Christopher Meng 2013-05-18 08:46:31 UTC
NEW SPEC URL: http://cicku.me/lfcbase.spec
NEW SRPM URL: http://cicku.me/lfcbase-1.5.4-1.fc20.src.rpm

Comment 9 Björn 'besser82' Esser 2013-05-18 08:55:33 UTC
> that's why I don't want to include such samples into %doc...I will not include them now.

%install
make install DESTDIR=%{buildroot}
find %{buildroot} -name '*.la' -exec rm -f {} ';'
+ install -m0755 -d %{buildroot}/%{_defaultdocdir}/%{name}-%{version}/examples
+ install -pm0644 samples/*.cc %{buildroot}/%{_defaultdocdir}/%{name}-%{version}/examples

<snip>

%files devel
- %doc AUTHORS COPYING NEWS README samples/
+ %doc AUTHORS COPYING NEWS README
+ %doc %{buildroot}/%{_defaultdocdir}/%{name}-%{version}/examples
%{_includedir}/%{oname}/*
%{_libdir}/*.so

Should do the trick... ;)

> For the compile warnings, please ignore them currently. Maybe a patch later.
as i said --> not critical

I'll start another review, then.

Comment 10 Björn 'besser82' Esser 2013-05-18 09:12:39 UTC
Just forgot:

As these lib will be used by a database-daemon (cego - A relational and transactional database #962189, I suppose) build should go hardened:

%global _hardened_build 1

As this package builds/ships a lib, only. I'd suggest prefixing "lib" (lib%{name}). This should go fine with the naming-guidelines.

Comment 11 Christopher Meng 2013-05-18 09:39:35 UTC
(In reply to comment #10)
> Just forgot:
> 
> As these lib will be used by a database-daemon (cego - A relational and
> transactional database #962189, I suppose) build should go hardened:
> 
> %global _hardened_build 1

I'm not sured about this if the program running will be affected. Build seems OK.

> As this package builds/ships a lib, only. I'd suggest prefixing "lib"
> (lib%{name}). This should go fine with the naming-guidelines.

I don't want to change it again, just keep the current one is OK.

samples have been readded.

BTW I've add check section.

NEW SPEC URL: http://cicku.me/lfcbase.spec
NEW SRPM URL: http://cicku.me/lfcbase-1.5.4-1.fc20.src.rpm

Comment 12 Björn 'besser82' Esser 2013-05-18 10:10:19 UTC
>> %global _hardened_build 1
> I'm not sured about this if the program running will be affected. Build seems OK.

Have a look at these:
http://eli.thegreenplace.net/2011/11/03/position-independent-code-pic-in-shared-libraries/

http://www.exploit-db.com/papers/13233/

[quote]
This paper is about the LD_PRELOAD feature, and how it can be useful for reverse engineering dynamically linked executables. This technique allows you to hijack functions/inject code and manipulate the application flow.
[/quote]

Comment 13 Christopher Meng 2013-05-18 10:36:27 UTC
(In reply to comment #12)

So anythings still need to be changed?

Have you checked my latest version?

Comment 14 Björn 'besser82' Esser 2013-05-18 10:43:09 UTC
I was busy on #959029: ascii-design - A tool to create ascii arts

So next run will go here...
... post lunch. ;D

Comment 15 Björn 'besser82' Esser 2013-05-18 12:28:44 UTC
quick look over spec:

Name:              lfcbase
Version:           1.5.4
Release:           1%{?dist}
Summary:           Lemke Foundation Classes
- License:           GPLv2
+ License:           GPLv2+ and GPLv3+

GPL (v3 or later)
-----------------
/var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/lfcbase-1.5.4/src/base64.c
/var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/lfcbase-1.5.4/src/base64.h

%package           devel
Summary:           Development files for %{name}
- Requires:	   %{name} = %{version}-%{release}
+ Requires:	   %{name}%{?_isa} = %{version}-%{release}

%files devel
- %doc AUTHORS COPYING NEWS README samples/*.cc
+ %doc samples/*.cc
%{_includedir}/%{name}/*
%{_libdir}/*.so

they are already in main-pkg, see: https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Duplicate_Files

Report this to upstream:

bug in build/linking:
unused-direct-shlib-dependency /usr/lib64/liblfcbase.so.1.0.0 /lib64/libcrypt.so.1
unused-direct-shlib-dependency /usr/lib64/liblfcbase.so.1.0.0 /lib64/libnsl.so.1
unused-direct-shlib-dependency /usr/lib64/liblfcbase.so.1.0.0 /lib64/libm.so.6

Update COPYING to recent rev. of GPLv2:
incorrect-fsf-address /usr/share/doc/lfcbase-1.5.4/COPYING // caused by old revision of GPLv2

Rest is fine:

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]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

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.
[x]: Development files must be in a -devel package
[-]: 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]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in lfcbase-
     devel
[!]: Package complies to the Packaging Guidelines ---> duplicate files in -devel, as above
[!]: License field in the package spec file matches the actual license. ---> should be GPLv2+ and GPLv3+, as above
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[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.
[-]: 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.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 122880 bytes in 39 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]: 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]: 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: There are rpmlint messages (see attachment).

===== 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.
[x]: Package does not include license text files separate from upstream.
[x]: Scriptlets must be sane, if used.
[-]: 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.
[x]: %check is present and all tests pass.
[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: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: lfcbase-1.5.4-1.fc20.x86_64.rpm
          lfcbase-devel-1.5.4-1.fc20.x86_64.rpm
lfcbase.x86_64: W: spelling-error Summary(en_US) Lemke -> Lepke, Lemme
lfcbase.x86_64: E: incorrect-fsf-address /usr/share/doc/lfcbase-1.5.4/COPYING
lfcbase-devel.x86_64: E: incorrect-fsf-address /usr/share/doc/lfcbase-devel-1.5.4/COPYING
2 packages and 0 specfiles checked; 2 errors, 1 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint lfcbase lfcbase-devel
lfcbase.x86_64: W: spelling-error Summary(en_US) Lemke -> Lepke, Lemme
lfcbase.x86_64: W: unused-direct-shlib-dependency /usr/lib64/liblfcbase.so.1.0.0 /lib64/libcrypt.so.1
lfcbase.x86_64: W: unused-direct-shlib-dependency /usr/lib64/liblfcbase.so.1.0.0 /lib64/libnsl.so.1
lfcbase.x86_64: W: unused-direct-shlib-dependency /usr/lib64/liblfcbase.so.1.0.0 /lib64/libm.so.6
lfcbase.x86_64: E: incorrect-fsf-address /usr/share/doc/lfcbase-1.5.4/COPYING
lfcbase-devel.x86_64: E: incorrect-fsf-address /usr/share/doc/lfcbase-devel-1.5.4/COPYING
2 packages and 0 specfiles checked; 2 errors, 4 warnings.
# echo 'rpmlint-done:'



Requires
--------
lfcbase (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libc.so.6()(64bit)
    libcrypt.so.1()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libnsl.so.1()(64bit)
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.1)(64bit)
    rtld(GNU_HASH)

lfcbase-devel (rpmlib, GLIBC filtered):
    lfcbase
    liblfcbase.so.1()(64bit)



Provides
--------
lfcbase:
    lfcbase
    lfcbase(x86-64)
    liblfcbase.so.1()(64bit)

lfcbase-devel:
    lfcbase-devel
    lfcbase-devel(x86-64)



Source checksums
----------------
http://www.lemke-it.com/lfcbase-1.5.4.tar.gz :
  CHECKSUM(SHA256) this package     : 72e66c60fba951ad686f09b3bec03941584f6f49df444c2f8bfa1ad068f8d0b3
  CHECKSUM(SHA256) upstream package : 72e66c60fba951ad686f09b3bec03941584f6f49df444c2f8bfa1ad068f8d0b3


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 959974

Update/fix your spec and I'll give fedora-review(+)

Comment 16 Björn 'besser82' Esser 2013-05-18 12:39:37 UTC
#15 didn't get mailed, bump.

Comment 17 Christopher Meng 2013-05-18 12:41:48 UTC
I'll contact upstream next week.

Comment 18 Björn 'besser82' Esser 2013-05-18 12:50:53 UTC
Update/fix your spec and I'll give fedora-review(+)

Comment 19 Björn 'besser82' Esser 2013-05-18 13:13:23 UTC
Try this in your spec:

%prep
%setup -q
%configure --disable-static
+ sed -i -e "s/ -shared / -Wl,--as-needed\0/g' libtool

to (probably) get rid of:

unused-direct-shlib-dependency /usr/lib64/liblfcbase.so.1.0.0 /lib64/libcrypt.so.1
unused-direct-shlib-dependency /usr/lib64/liblfcbase.so.1.0.0 /lib64/libnsl.so.1
unused-direct-shlib-dependency /usr/lib64/liblfcbase.so.1.0.0 /lib64/libm.so.6

update here and I'll run a mock-build again, to see what happenes...

Comment 20 Christopher Meng 2013-05-18 13:25:43 UTC
I know this.

But I have to contact upstream for the license problem and then he may also solve this.

I'll update the review request maybe next week as now it's weekend.

Comment 21 Christopher Meng 2013-05-20 09:39:09 UTC
(In reply to Björn Esser from comment #19)

All should be fixed.

Please try:

Spec URL: http://cicku.me/liblfc.spec
SRPM URL: http://cicku.me/liblfc-1.5.4-2.fc20.src.rpm

Comment 22 Christopher Meng 2013-05-20 09:42:05 UTC
Sorry for the shit..

Spec URL: http://cicku.me/lfcbase.spec
SRPM URL: http://cicku.me/lfcbase-1.5.4-2.fc20.src.rpm

Comment 23 Björn 'besser82' Esser 2013-05-20 10:00:24 UTC
rpmlint is fine, now.

but still:

GPL (v3 or later)
-----------------
/var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/lfcbase-1.5.4/src/base64.c
/var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/lfcbase-1.5.4/src/base64.h

copyright-header from base64.*:

/*
 * Copyright (C), 2000-2007 by the monit project group.
 * All Rights Reserved.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

which build objects liblfcbase.so is linked against, so in spec should be:

Name:              lfcbase
Version:           1.5.4
Release:           1%{?dist}
Summary:           Lemke Foundation Classes
- License:           GPLv2
+ License:           GPLv2+ and GPLv3+

(suggestion: or ask upstream to upgrade license to GPLv3+ completely...)

If fixed in spec, I'll give fedora-review(+).

Comment 24 Christopher Meng 2013-05-21 04:24:18 UTC
Upstream has changed its license to GPLv3+

Now I've changed it, too.

Please review:

Spec URL: http://cicku.me/lfcbase.spec
SRPM URL: http://cicku.me/lfcbase-1.5.4-2.fc20.src.rpm

Many thanks!

Comment 25 Björn 'besser82' Esser 2013-05-21 05:47:48 UTC
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]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

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.
[x]: Development files must be in a -devel package
[-]: 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
[x]: License field in the package spec file matches the actual license.
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[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 122880 bytes in 35 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]: 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]: 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: There are rpmlint messages (see attachment).

===== 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.
[x]: Package does not include license text files separate from upstream.
[x]: Scriptlets must be sane, if used.
[-]: 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.
[x]: %check is present and all tests pass.
[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: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: lfcbase-1.5.4-2.fc20.x86_64.rpm
          lfcbase-devel-1.5.4-2.fc20.x86_64.rpm
lfcbase.x86_64: W: spelling-error Summary(en_US) Lemke -> Lepke, Lemme
2 packages and 0 specfiles checked; 0 errors, 1 warnings.

  IGNORED!



Rpmlint (installed packages)
----------------------------
# rpmlint lfcbase lfcbase-devel
lfcbase.x86_64: W: spelling-error Summary(en_US) Lemke -> Lepke, Lemme
2 packages and 0 specfiles checked; 0 errors, 1 warnings.
# echo 'rpmlint-done:'

  IGNORED!


Requires
--------
lfcbase (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.1)(64bit)
    rtld(GNU_HASH)

lfcbase-devel (rpmlib, GLIBC filtered):
    lfcbase(x86-64)
    liblfcbase.so.1()(64bit)



Provides
--------
lfcbase:
    lfcbase
    lfcbase(x86-64)
    liblfcbase.so.1()(64bit)

lfcbase-devel:
    lfcbase-devel
    lfcbase-devel(x86-64)



Source checksums
----------------
http://www.lemke-it.com/lfcbase-1.5.4.tar.gz :
  CHECKSUM(SHA256) this package     : 1461412b5d8714a561f485b01bad5ce522ba209e8c0bb7b926949721277ea3d0
  CHECKSUM(SHA256) upstream package : 1461412b5d8714a561f485b01bad5ce522ba209e8c0bb7b926949721277ea3d0


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 959974


So everything is fine now!

APPROVED!

Comment 26 Christopher Meng 2013-05-21 05:57:55 UTC
Thank you sooooooo much!!!

Comment 27 Christopher Meng 2013-05-21 05:59:24 UTC
New Package SCM Request
=======================
Package Name: lfcbase
Short Description: Lemke Foundation Classes
Owners: cicku
Branches: f18 f19
InitialCC:

Comment 28 Björn 'besser82' Esser 2013-05-21 06:04:04 UTC
(In reply to Christopher Meng from comment #26)
> Thank you sooooooo much!!!

You're welcome!

Comment 29 Gwyn Ciesla 2013-05-21 11:08:37 UTC
Git done (by process-git-requests).

Comment 30 Christopher Meng 2013-05-21 11:30:38 UTC
New Package SCM Request
=======================
Package Name: lfcbase
Short Description: Lemke Foundation Classes
Owners: cicku
Branches: el6
InitialCC:

Comment 31 Gwyn Ciesla 2013-05-21 12:06:26 UTC
Clearing flag.

Comment 32 Christopher Meng 2013-05-21 15:17:52 UTC
Package Change Request
======================
Package Name: lfcbase
New Branches: el6
Owners: cicku

Comment 33 Gwyn Ciesla 2013-05-21 15:26:34 UTC
Git done (by process-git-requests).

Comment 34 Fedora Update System 2013-05-21 15:53:24 UTC
lfcbase-1.5.4-2.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/lfcbase-1.5.4-2.fc19

Comment 35 Fedora Update System 2013-05-21 16:03:34 UTC
lfcbase-1.5.4-2.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/lfcbase-1.5.4-2.fc18

Comment 36 Fedora Update System 2013-05-23 03:55:51 UTC
lfcbase-1.5.4-2.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/lfcbase-1.5.4-2.el6

Comment 37 Fedora Update System 2013-05-30 03:05:17 UTC
lfcbase-1.5.4-2.fc18 has been pushed to the Fedora 18 stable repository.

Comment 38 Fedora Update System 2013-05-30 03:36:51 UTC
lfcbase-1.5.4-2.fc19 has been pushed to the Fedora 19 stable repository.

Comment 39 Fedora Update System 2013-06-08 18:40:22 UTC
lfcbase-1.5.4-2.el6 has been pushed to the Fedora EPEL 6 stable repository.

Comment 40 Christopher Meng 2014-01-21 03:30:51 UTC
Package Change Request
======================
Package Name: lfcbase
New Branches: epel7
Owners: cicku

Comment 41 Gwyn Ciesla 2014-01-21 13:59:44 UTC
Git done (by process-git-requests).


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