Bug 882574 - RFE: latte-integrale does not update 4ti2 clean
Summary: RFE: latte-integrale does not update 4ti2 clean
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: latte-integrale
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jerry James
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-12-02 00:59 UTC by Paulo Andrade
Modified: 2013-01-11 23:53 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-01-11 23:53:02 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Paulo Andrade 2012-12-02 00:59:36 UTC
On rawhide I was seeing this:

$ sage
ModuleCmd_Load.c(204):ERROR:105: Unable to locate a modulefile for '4ti2-x86_64'
----------------------------------------------------------------------
| Sage Version 5.4.1, Release Date: 2012-11-15                       |
| Type "notebook()" for the browser-based notebook interface.        |
| Type "help()" for help.                                            |
----------------------------------------------------------------------

I also see this:
$ rpm -ql 4ti2 | grep module
/usr/share/Modules/modulefiles/latte-integrale-x86_64

and after that noticed I would need to install the
latte-integrale package

I had run ym update yesterday, but tried to ensure I had things
up to date, and:

$ sudo yum install 4ti2
Loaded plugins: auto-update-debuginfo, langpacks, presto, refresh-packagekit
Package 4ti2-1.5-3.fc19.x86_64 already installed and latest version
Nothing to do

$ rpm -q --requires 4ti2
4ti2-libs(x86-64) = 1.5-3.fc19
environment-modules
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

My suggestions:

1. rebuild 4ti2 to requires latte-integrale

2. provide a backward compat symlink named
   4ti2-%{_arch} pointing to
   /usr/share/Modules/modulefiles/latte-integrale-%{_arch}

The 2. item is optional if it is only sagemath that happens to
have:
module load 4ti2-%{_arch}
in the automatically generated wrapper script.
Well, I do not see anything suspect in
http://searchco.de/?q=4ti2+url%3Afedora
so, I can add an "%if 0%{?fedora} >= 19", but would prefer
the compat symlink

Comment 1 Jerry James 2012-12-04 04:02:34 UTC
I'm not sure I understand the problem, so I may need to ask some more questions.  But 4ti2 should not require latte-integrale, since there is already a Requires in the other direction (latte-integrale is linked against the 4ti2 library).  Is #2, creating the backward compat symlink, enough on its own?

Perhaps /usr/share/Modules/modulefiles/latte-integrale-x86_64 should be owned by latte-integrale instead of by 4ti2?

I'll try to play around with this on Rawhide tomorrow to see if I can better understand the problem.

Comment 2 Paulo Andrade 2012-12-04 15:29:13 UTC
(In reply to comment #1)
> I'm not sure I understand the problem, so I may need to ask some more
> questions.  But 4ti2 should not require latte-integrale, since there is

  The sagemath.spec file has only a "Requires: 4ti2" and its wrapper
script has "module load 4ti2-%{_arch}" to put it on the PATH.

> already a Requires in the other direction (latte-integrale is linked against
> the 4ti2 library).  Is #2, creating the backward compat symlink, enough on
> its own?

  I would still need fedora18+ specific logic in the spec. Note that
currently I am making sagemath packages only for f17 and rawhide...

> Perhaps /usr/share/Modules/modulefiles/latte-integrale-x86_64 should be
> owned by latte-integrale instead of by 4ti2?

  Then a correction in sagemath.spec would be
%if 0%{?fedora} >= 18
Requires:   latte-integrale
%else
Requires:   4ti2
%endif
...
%if 0%{?fedora} >= 18
module load latte-integrale-%{_arch}
%else
module load 4ti2-%{_arch}
%endif

> I'll try to play around with this on Rawhide tomorrow to see if I can better
> understand the problem.

I opened the bug report because it may break something else, and
while at it, I would prefer to not need to have conditionals for
this in the spec, it is already quite complex as is :-) But I can
add it, no problems, and should not even need conditionals soon,
as a sagemath package is only intended for f19, and hopefully a
f18 update.

You can test the sagemath package in rawhide x86_64 with the
prebuilt packages in http://pcpa.fedorapeople.org/sagemath/RPMS

Comment 3 Jerry James 2012-12-05 21:21:26 UTC
Oh, I see what's going on.  Sorry, this was a dumb mistake on my part.  You should not need any conditionals in your spec file.  Just require 4ti2 like before.  Fixed builds are coming your way Real Soon Now.

Comment 4 Fedora Update System 2012-12-05 21:50:21 UTC
latte-integrale-1.5.3-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/latte-integrale-1.5.3-4.fc18

Comment 5 Paulo Andrade 2012-12-06 01:44:42 UTC
(In reply to comment #3)
> Oh, I see what's going on.  Sorry, this was a dumb mistake on my part.  You
> should not need any conditionals in your spec file.  Just require 4ti2 like
> before.  Fixed builds are coming your way Real Soon Now.

Did you test it with the sagemath package? Want to review the
sagemath package?
I can review polymake in exchange :-)

Comment 6 Jerry James 2012-12-06 03:17:35 UTC
I would love to review sagemath.  I see a couple of other people volunteered to review it, too.  We'll see who gets there first. :-)

I'll let you know when polymake is ready for review. It works great on Fedora 17, with perl 5.14.  It doesn't work at all on Fedora 18 or Rawhide with perl 5.16.  I'm still trying to figure out why.

Comment 7 Fedora Update System 2012-12-06 20:08:02 UTC
Package latte-integrale-1.5.3-4.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing latte-integrale-1.5.3-4.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-19847/latte-integrale-1.5.3-4.fc18
then log in and leave karma (feedback).

Comment 8 Paulo Andrade 2012-12-06 22:59:11 UTC
(In reply to comment #6)
> I would love to review sagemath.  I see a couple of other people volunteered
> to review it, too.  We'll see who gets there first. :-)

  It is only a matter of clicking the "take" link :-) It is setting there
assigned to nobody.

> I'll let you know when polymake is ready for review. It works great on
> Fedora 17, with perl 5.14.  It doesn't work at all on Fedora 18 or Rawhide
> with perl 5.16.  I'm still trying to figure out why.

  Ok. I left it somewhat outdated in Mandriva now, but last time I had
a related issue, after talking with upstream it took 2-3 months for them
to support the latest perl version (I remember I myself got it almost
done but was not able to get a final patch, due to not understanding
several perl internals).

Comment 9 Paulo Andrade 2012-12-08 21:16:46 UTC
Only now I was able to properly test it. I still have the
issue that I cannot just say:

Requires: 4ti2

because:

$ rpm -q --requires 4ti2
4ti2-libs(x86-64) = 1.5-4.fc19
environment-modules
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

but the binaries are in latte-integrale:

$ rpm -ql  4ti2 | grep /bin/

$ rpm -ql  latte-integrale | grep /bin/
/usr/bin/ConvertCDDextToLatte
/usr/bin/ConvertCDDineToLatte
/usr/bin/count
/usr/bin/ehrhart
/usr/bin/hilbert-from-rays
/usr/bin/hilbert-from-rays-symm
/usr/bin/integrate
/usr/bin/latte-maximize
/usr/bin/latte-minimize
/usr/bin/latte2ext
/usr/bin/latte2ine
/usr/bin/polyhedron-to-cones
/usr/bin/triangulate
/usr/lib64/latte-integrale/bin/4ti2gmp
/usr/lib64/latte-integrale/bin/4ti2int32
/usr/lib64/latte-integrale/bin/4ti2int64
/usr/lib64/latte-integrale/bin/circuits
/usr/lib64/latte-integrale/bin/genmodel
/usr/lib64/latte-integrale/bin/gensymm
/usr/lib64/latte-integrale/bin/graver
/usr/lib64/latte-integrale/bin/groebner
/usr/lib64/latte-integrale/bin/hilbert
/usr/lib64/latte-integrale/bin/markov
/usr/lib64/latte-integrale/bin/minimize
/usr/lib64/latte-integrale/bin/normalform
/usr/lib64/latte-integrale/bin/output
/usr/lib64/latte-integrale/bin/ppi
/usr/lib64/latte-integrale/bin/qsolve
/usr/lib64/latte-integrale/bin/rays
/usr/lib64/latte-integrale/bin/walk
/usr/lib64/latte-integrale/bin/zbasis
/usr/lib64/latte-integrale/bin/zsolve

I could again add a conditional to the spec somewhat like:

Requires: 4ti2
%if 0%{?fedora} >= 18
Requires: latte-integrale
%endif

But that still fails, and the reason I gave negative karma
to the update was:

$ cat /usr/share/Modules/modulefiles/4ti2-x86_64
#%Module 1.0
#
#  4ti2 module for use with 'environment-modules' package:
# 
prepend-path            PATH            /usr/lib64/4ti2/bin

$ ls -ld /usr/lib64/4ti2/bin
ls: cannot access /usr/lib64/4ti2/bin: No such file or directory

$ ls -ld /usr/lib64/latte-integrale/bin
drwxr-xr-x. 2 root root 4096 Dec  8 19:06 /usr/lib64/latte-integrale/bin

so, the commit "Fix the name of the environment module (bz 882574)."
is incomplete.

Comment 10 Jerry James 2012-12-11 04:13:51 UTC
Sorry about that.  Both times, the problem was a %{name} macro from the old 4ti2 spec file that now expands to "latte-integrale" instead of 4ti2.  I just checked *every* *single* *instance* of %{name} in the spec file, and I'm pretty sure that I've got them all this time.

Comment 11 Fedora Update System 2012-12-11 20:03:52 UTC
Package latte-integrale-1.5.3-5.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing latte-integrale-1.5.3-5.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-19847/latte-integrale-1.5.3-5.fc18
then log in and leave karma (feedback).

Comment 12 Fedora Update System 2013-01-11 23:53:05 UTC
latte-integrale-1.5.3-5.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.


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