Bug 1097368 - Review Request: smesh - OpenCascade based MESH framework
Summary: Review Request: smesh - OpenCascade based MESH framework
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: John Morris
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: freecad
TreeView+ depends on / blocked
 
Reported: 2014-05-13 16:10 UTC by Richard Shaw
Modified: 2014-07-20 18:00 UTC (History)
3 users (show)

Fixed In Version: smesh-5.1.2.2-10.svn55.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-06-10 03:06:53 UTC
john: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Richard Shaw 2014-05-13 16:10:02 UTC
Spec URL: http://hobbes1069.fedorapeople.org//smesh.spec
SRPM URL: http://hobbes1069.fedorapeople.org//smesh-5.1.2.2-9.svn55.fc20.src.rpm

Description:
A complete OpenCascade based MESH framework.

NOTE: Fortran support (f2c) has been disabled. If it is needed please open a
bug against the smesh component  at: http://bugzilla.rpmfusion.org

Comment 1 Richard Shaw 2014-05-13 16:11:17 UTC
Scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=6846389

Comment 2 Dan Horák 2014-05-13 16:30:32 UTC
the BR: cmake28 should be used only on when %rhel <= 6, otherwise it will break build on EL-7 where regular cmake is 2.8.x

Comment 3 Richard Shaw 2014-05-13 17:03:19 UTC
Thanks, I don't know where to go for visibility on what is available in EPEL 7 so I wasn't sure if cmake was updated to 2.8 there or not.

Comment 4 Dan Horák 2014-05-13 17:10:55 UTC
ftp://ftp.redhat.com/redhat/rhel/rc/7/ is the RC for RHEL-7, Server and Server-optional are used in EPEL buildroots, for EPEL-7 just use "koji list-tagged epel7" or view the repos on web

Comment 5 John Morris 2014-05-13 17:26:10 UTC
Drive-by comments on the specfile:

- the %description refers to the rpmfusion bug tracker
- why is f2c disabled?  (I don't have an issue with that, but would like an explanatory comment in the specfile )
- like Dan said, the cmake28 issue

Otherwise looks good.  Build log looks clean.

Comment 6 Richard Shaw 2014-05-13 18:04:14 UTC
(In reply to Dan Horák from comment #4)
> ftp://ftp.redhat.com/redhat/rhel/rc/7/ is the RC for RHEL-7, Server and
> Server-optional are used in EPEL buildroots, for EPEL-7 just use "koji
> list-tagged epel7" or view the repos on web

Thanks for the tip!


(In reply to John Morris from comment #5)
> Drive-by comments on the specfile:
> 
> - the %description refers to the rpmfusion bug tracker

Yeah, I used fedora-create-review and didn't catch that until it was done. I'll fix.


> - why is f2c disabled?  (I don't have an issue with that, but would like an
> explanatory comment in the specfile )

I've slept to many times since then but I think it broke compilation and unless someone was going to use it, I didn't think it was worth the trouble since it's an optional dependency.

Comment 7 Richard Shaw 2014-05-13 18:15:12 UTC
(In reply to Dan Horák from comment #2)
> the BR: cmake28 should be used only on when %rhel <= 6, otherwise it will
> break build on EL-7 where regular cmake is 2.8.x

Ick... I had to do this to keep from requiring cmake28 for Fedora:

# Set rhel to some value if not specific (i.e. Fedora) to make conditional work.
%{!?rhel: %global rhel 100}

# Use a newer version of cmake on EL 6.
%if 0%{?rhel} <= 6
%global cmake %cmake28
%endif

Since I have no plans to build for EL <6, can I drop the "<" and just use "=" so I don't have to use this ugly workaround?

Comment 8 John Morris 2014-05-13 18:59:11 UTC
How about combining those?

%if 0%{?rhel}{!?rhel:100} <= 6

Or use a logical operator

%if 0%{?rhel} <= 6 && 0%{?fedora} == 0

Comment 9 John Morris 2014-05-13 19:00:46 UTC
(In reply to Richard Shaw from comment #6)
> (In reply to John Morris from comment #5)
> > - why is f2c disabled?  (I don't have an issue with that, but would like an
> > explanatory comment in the specfile )
> 
> I've slept to many times since then but I think it broke compilation and
> unless someone was going to use it, I didn't think it was worth the trouble
> since it's an optional dependency.

That's worth noting in the specfile.  ;)

Comment 10 Richard Shaw 2014-05-13 20:24:59 UTC
I don't know why the rhel/fedora one didn't want to work right but this did the trick:
%if 0%{?rhel} && 0%{?rhel} <= 6

Comment 11 Richard Shaw 2014-05-13 20:32:58 UTC
New spec and SRPM uploaded... Since these were minor nits I didn't bump the release so the same links will work.

Comment 12 Richard Shaw 2014-05-15 13:27:38 UTC
John, are you going to take this one?

Comment 13 John Morris 2014-05-15 17:09:39 UTC
Yes, working on it today.

I'm trying to set up a bodhi override for OCE to scratch build in koji, but the bodhi tool wants me to have commit privs to OCE.

Can you set these up for me?

for i in fc20 fc21 el6 el7; do
   bodhi --buildroot-override OCE-0.15-2.$i --notes="for smesh pkg review"
done

Alternatively, if you're willing to have a sporadically deadbeat co-maintainer for OCE, I'll volunteer.

Comment 14 Richard Shaw 2014-05-15 18:32:41 UTC
I did it for F20 and el6, rawhide goes straight in and it looks like epel7 is too right now because I was not able to generate a bodhi update for it.

Comment 15 John Morris 2014-05-15 21:44:36 UTC
All builds pass [1,2,3,4].

fedora-review output pasted below.  Issues follow.  I'll only insist on the first one.

[!]: License field in the package spec file matches the actual license.
     Note: There is no build directory. Running licensecheck on vanilla
     upstream sources. No licenses found. Please check the source files for
     licenses manually.
*** License should be lgpl v2.1, but listed as GPLv2

[?]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in smesh-doc
*** Do doc packages really need this?  I see it glossed over in other reviews [5].

[!]: Patches link to upstream bugs/comments/lists or are otherwise justified.
*** Justification for smesh-5.1.2.2-pi_to_m_pi.patch?  Seems obvious to me, but might be worth mentioning its author.

Rpmlint:
smesh.i686: E: library-not-linked-against-libc /usr/lib/libDriver.so.5.1
*** Looks OK to me; am I missing something?
    $ldd libDriver.so.5.1 | grep libc
        libc.so.6 => /lib/libc.so.6 (0xb740c000)

smesh.i686: E: incorrect-fsf-address /usr/share/doc/smesh/LICENCE.lgpl.txt
*** Notify upstream
http://fedoraproject.org/wiki/Common_Rpmlint_issues#incorrect-fsf-address

(Other rpmlint errors are bogus)

[1] f20 http://koji.fedoraproject.org/koji/taskinfo?taskID=6853066
[2] f21 http://koji.fedoraproject.org/koji/taskinfo?taskID=6853070
[3] el6 http://koji.fedoraproject.org/koji/taskinfo?taskID=6853074
[4] el7 http://koji.fedoraproject.org/koji/taskinfo?taskID=6853078
[5] https://bugzilla.redhat.com/show_bug.cgi?id=1089425#c3

---------------------------------------------

This is a review *template*. Besides handling the [ ]-marked tests you are
also supposed to fix the template before pasting into bugzilla:
- Add issues you find to the list of issues on top. If there isn't such
  a list, create one.
- Add your own remarks to the template checks.
- Add new lines marked [!] or [?] when you discover new things not
  listed by fedora-review.
- Change or remove any text in the template which is plain wrong. In this
  case you could also file a bug against fedora-review
- Remove the "[ ] Manual check required", you will not have any such lines
  in what you paste.
- Remove attachments which you deem not really useful (the rpmlint
  ones are mandatory, though)
- Remove this text



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

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



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

C/C++:
[-]: Provides: bundled(gnulib) in place as required.
     Note: Sources not installed
[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.
[!]: License field in the package spec file matches the actual license.
     Note: There is no build directory. Running licensecheck on vanilla
     upstream sources. No licenses found. Please check the source files for
     licenses manually.
[x]: License file installed when any subpackage combination is installed.
[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
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (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]: 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]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 30720 bytes in 1 files.
[x]: Package complies to the Packaging Guidelines
[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).
[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 requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[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]: 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

===== 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).
[?]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in smesh-doc
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[-]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[-]: 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.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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 (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: smesh-5.1.2.2-9.svn55.fc21.i686.rpm
          smesh-doc-5.1.2.2-9.svn55.fc21.noarch.rpm
          smesh-devel-5.1.2.2-9.svn55.fc21.i686.rpm
          smesh-5.1.2.2-9.svn55.fc21.src.rpm
smesh.i686: W: spelling-error %description -l en_US Fortran -> FORTRAN, Fort ran, Fort-ran
smesh.i686: E: library-not-linked-against-libc /usr/lib/libDriver.so.5.1
smesh.i686: E: incorrect-fsf-address /usr/share/doc/smesh/LICENCE.lgpl.txt
smesh-devel.i686: W: no-documentation
smesh.src: W: spelling-error %description -l en_US Fortran -> FORTRAN, Fort ran, Fort-ran
smesh.src: W: invalid-url Source0: smesh-5.1.2.2.svn55.tar.gz
4 packages and 0 specfiles checked; 2 errors, 4 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint smesh-doc smesh smesh-devel
smesh.i686: W: spelling-error %description -l en_US Fortran -> FORTRAN, Fort ran, Fort-ran
smesh.i686: E: library-not-linked-against-libc /usr/lib/libDriver.so.5.1
smesh.i686: E: incorrect-fsf-address /usr/share/doc/smesh/LICENCE.lgpl.txt
smesh-devel.i686: W: no-documentation
3 packages and 0 specfiles checked; 2 errors, 2 warnings.
# echo 'rpmlint-done:'



Requires
--------
smesh-doc (rpmlib, GLIBC filtered):
    smesh

smesh (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libDriver.so.5.1
    libDriverDAT.so.5.1
    libDriverSTL.so.5.1
    libDriverUNV.so.5.1
    libSMDS.so.5.1
    libSMESH.so.5.1
    libSMESHDS.so.5.1
    libTKAdvTools.so.8
    libTKBRep.so.8
    libTKG2d.so.8
    libTKG3d.so.8
    libTKGeomAlgo.so.8
    libTKGeomBase.so.8
    libTKMath.so.8
    libTKMeshVS.so.8
    libTKPrim.so.8
    libTKShHealing.so.8
    libTKTopAlgo.so.8
    libTKernel.so.8
    libc.so.6
    libgcc_s.so.1
    libgcc_s.so.1(GCC_3.0)
    libgfortran.so.3
    libgfortran.so.3(GFORTRAN_1.0)
    libgfortran.so.3(GFORTRAN_1.4)
    libm.so.6
    libstdc++.so.6
    libstdc++.so.6(CXXABI_1.3)
    libstdc++.so.6(CXXABI_1.3.1)
    rtld(GNU_HASH)

smesh-devel (rpmlib, GLIBC filtered):
    libDriver.so.5.1
    libDriverDAT.so.5.1
    libDriverSTL.so.5.1
    libDriverUNV.so.5.1
    libSMDS.so.5.1
    libSMESH.so.5.1
    libSMESHDS.so.5.1
    libStdMeshers.so.5.1
    smesh(x86-32)



Provides
--------
smesh-doc:
    smesh-doc

smesh:
    libDriver.so.5.1
    libDriverDAT.so.5.1
    libDriverSTL.so.5.1
    libDriverUNV.so.5.1
    libSMDS.so.5.1
    libSMESH.so.5.1
    libSMESHDS.so.5.1
    libStdMeshers.so.5.1
    smesh
    smesh(x86-32)

smesh-devel:
    smesh-devel
    smesh-devel(x86-32)



Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -m fedora-rawhide-i386 -rn smesh-5.1.2.2-9.svn55.fc20.src.rpm
Buildroot used: fedora-rawhide-i386
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 16 Richard Shaw 2014-05-15 23:53:30 UTC
(In reply to John Morris from comment #15)
> All builds pass [1,2,3,4].
> 
> fedora-review output pasted below.  Issues follow.  I'll only insist on the
> first one.
> 
> [!]: License field in the package spec file matches the actual license.
>      Note: There is no build directory. Running licensecheck on vanilla
>      upstream sources. No licenses found. Please check the source files for
>      licenses manually.
> *** License should be lgpl v2.1, but listed as GPLv2

Don't know how that one got missed through the RPM Fusion review... oh well.


 
> [?]: Fully versioned dependency in subpackages if applicable.
>      Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in smesh-doc
> *** Do doc packages really need this?  I see it glossed over in other
> reviews [5].

No, bad things happen when you create an arch dependency from a noarch package. It only applies if both packages are arch packages.


 
> [!]: Patches link to upstream bugs/comments/lists or are otherwise justified.
> *** Justification for smesh-5.1.2.2-pi_to_m_pi.patch?  Seems obvious to me,
> but might be worth mentioning its author.

I'm the author and I'm not worried too much. Ideally it would go upstream but it's not particularly active. In this case I think the patch name is sufficient.

 
> Rpmlint:
> smesh.i686: E: library-not-linked-against-libc /usr/lib/libDriver.so.5.1
> *** Looks OK to me; am I missing something?
>     $ldd libDriver.so.5.1 | grep libc
>         libc.so.6 => /lib/libc.so.6 (0xb740c000)

Might be a false positive there... rpmlint -I library-not-linked-against-libc didn't help and it hasn't been a problem in the past so I'm tempted to ignore it for now.

 
> smesh.i686: E: incorrect-fsf-address /usr/share/doc/smesh/LICENCE.lgpl.txt
> *** Notify upstream
> http://fedoraproject.org/wiki/Common_Rpmlint_issues#incorrect-fsf-address

As mentioned, upstream is not active but I'll see if I can find a bug tracker.

Comment 18 John Morris 2014-05-16 18:20:17 UTC
Looks great!

APPROVED

Feel free to add me as co-maintainer.

Comment 19 Richard Shaw 2014-05-16 18:22:39 UTC
Thanks! What's your FAS account name?

Comment 20 John Morris 2014-05-16 18:24:50 UTC
Oops, zultron.  Funny, I hadn't thought about the fact that bz isn't attached to FAS.

Comment 21 Richard Shaw 2014-05-16 20:04:28 UTC
New Package SCM Request
=======================
Package Name: smesh
Short Description: OpenCascade based MESH framework
Upstream URL: http://sourceforge.net/projects/salomesmesh/
Owners: hobbes1069 zultron
Branches: f20 el6 epel7
InitialCC:

Comment 22 Gwyn Ciesla 2014-05-17 13:52:24 UTC
Git done (by process-git-requests).

Comment 23 Fedora Update System 2014-05-28 12:38:36 UTC
OCE-0.15-3.fc20.1,smesh-5.1.2.2-10.svn55.fc20,freecad-0.13-6.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/OCE-0.15-3.fc20.1,smesh-5.1.2.2-10.svn55.fc20,freecad-0.13-6.fc20

Comment 24 Fedora Update System 2014-05-28 20:34:26 UTC
freecad-0.13-6.el6,smesh-5.1.2.2-10.svn55.el6,OCE-0.15-3.el6.1 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/freecad-0.13-6.el6,smesh-5.1.2.2-10.svn55.el6,OCE-0.15-3.el6.1

Comment 25 Fedora Update System 2014-05-28 23:54:29 UTC
Package OCE-0.15-3.fc20.1, smesh-5.1.2.2-10.svn55.fc20, freecad-0.13-6.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing OCE-0.15-3.fc20.1 smesh-5.1.2.2-10.svn55.fc20 freecad-0.13-6.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-6805/OCE-0.15-3.fc20.1,smesh-5.1.2.2-10.svn55.fc20,freecad-0.13-6.fc20
then log in and leave karma (feedback).

Comment 26 Fedora Update System 2014-06-10 03:06:53 UTC
freecad-0.13-7.fc20, OCE-0.15-3.fc20.1, smesh-5.1.2.2-10.svn55.fc20 has been pushed to the Fedora 20 stable repository.

Comment 27 Fedora Update System 2014-07-20 18:00:47 UTC
smesh-5.1.2.2-10.svn55.el6, OCE-0.15-3.el6.1 has been pushed to the Fedora EPEL 6 stable repository.


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