Re: Expect Tcl Dependency Problem

2005-03-04 Thread Ralf S. Engelschall
On Thu, Mar 03, 2005, David M. Fetter wrote:

 Something seems wrong with how Expect and Tcl interacts in regards to
 dependencies.  The problem occurs if you have a prior version of Tcl and
 Expect installed, then go to upgrade to any other version.  What happens
 is that the update fails when trying to upgrade Tcl using the build
 tools.  It seems to be because Expect has a specific version of Tcl
 required in it's Requires section.  Since Expect has Tcl as a
 requirement then the build tool sees that Tcl should be upgraded before
 Expect as per the order it derives based on what exists in the Require
 section of all of the rpms.  However, since Expect has a specific
 version of Tcl required, the update of the newer Tcl fails because the
 currently old Expect that is installed requires an older specific
 version of Tcl.  I'm thinking that line #61 of the expect.spec file
 should be:

 PreReq:   OpenPKG, openpkg = 2.3.0, tcl = %{V_tcl}

 Instead of:

 PreReq:   OpenPKG, openpkg = 2.3.0, tcl = %{V_tcl}

 Line #60, which is the BuildPreReq, has the same line.  I'm not sure if
 this should be changed though.  I'm thinking that only the PreReq should
 be changed while the BuildPreReq stays with the specific version as that
 seems that it would logically function as is needed and not break
 updating from an older version to newer as well.  Does this logic seem
 proper to you guys?

Hmmm... yes, this is a reasonable idea. The BuildPreReq we definitely
cannot change because Expect requires definitely _both_ the sources and
the installed files and if they do not match it too easily can break
under build-time. But relaxing the PreReq is a very good idea because
a break under run-time is less likely and it would be broken usually
during updates only. I've relaxed the dependency now as you suggested:
http://cvs.openpkg.org/chngview?cn=22400
Thanks for the idea.
   Ralf S. Engelschall
   [EMAIL PROTECTED]
   www.engelschall.com

__
The OpenPKG Projectwww.openpkg.org
Developer Communication List   openpkg-dev@openpkg.org


Re: Expect Tcl Dependency Problem

2005-03-04 Thread Michael van Elst
On Fri, Mar 04, 2005 at 08:01:44AM +0100, Matthias Kurz wrote:

  ${l_prefix}/lib/openpkg/shtool subst \
  -e '/^sudo.*expect/s/-Uvh/--nodeps -Uvh/' \
  -e '/^sudo.*tcl/s/-Uvh/--nodeps -Uvh/' \
  
  $@
  exit;
 
 Ah, you mean a time bomb ;-)

? :)

The build tool should know about the dependencies before RPM
verifies them again.

The problem is that expect requires part of the TCL sources for
building and an installed TCL of exactly the same version for
running.

The solution is either to package expect so that it comes
with a private copy of TCL or to package TCL so that everything
is installed to build expect.


-- 
Michael van Elst
Internet: [EMAIL PROTECTED]
A potential Snark may lurk in every tree.
__
The OpenPKG Projectwww.openpkg.org
Developer Communication List   openpkg-dev@openpkg.org


Re: Expect Tcl Dependency Problem

2005-03-04 Thread David M. Fetter
On Fri, 2005-03-04 at 09:17 +0100, Ralf S. Engelschall wrote:
 On Thu, Mar 03, 2005, David M. Fetter wrote:
 
  Something seems wrong with how Expect and Tcl interacts in regards to
  dependencies.  The problem occurs if you have a prior version of Tcl and
  Expect installed, then go to upgrade to any other version.  What happens
  is that the update fails when trying to upgrade Tcl using the build
  tools.  It seems to be because Expect has a specific version of Tcl
  required in it's Requires section.  Since Expect has Tcl as a
  requirement then the build tool sees that Tcl should be upgraded before
  Expect as per the order it derives based on what exists in the Require
  section of all of the rpms.  However, since Expect has a specific
  version of Tcl required, the update of the newer Tcl fails because the
  currently old Expect that is installed requires an older specific
  version of Tcl.  I'm thinking that line #61 of the expect.spec file
  should be:
 
  PreReq:   OpenPKG, openpkg = 2.3.0, tcl = %{V_tcl}
 
  Instead of:
 
  PreReq:   OpenPKG, openpkg = 2.3.0, tcl = %{V_tcl}
 
  Line #60, which is the BuildPreReq, has the same line.  I'm not sure if
  this should be changed though.  I'm thinking that only the PreReq should
  be changed while the BuildPreReq stays with the specific version as that
  seems that it would logically function as is needed and not break
  updating from an older version to newer as well.  Does this logic seem
  proper to you guys?
 
 Hmmm... yes, this is a reasonable idea. The BuildPreReq we definitely
 cannot change because Expect requires definitely _both_ the sources and
 the installed files and if they do not match it too easily can break
 under build-time. But relaxing the PreReq is a very good idea because
 a break under run-time is less likely and it would be broken usually
 during updates only. I've relaxed the dependency now as you suggested:
 http://cvs.openpkg.org/chngview?cn=22400
 Thanks for the idea.

Super!  Yes, it seems that the main problem with RPM or rather it's one
weakness is still based on human error.  If the dependencies are not
properly thought it in a clear logical method then all things good will
become chaos.  Thanks.  ;-)

Ralf S. Engelschall
[EMAIL PROTECTED]
www.engelschall.com
 
 __
 The OpenPKG Projectwww.openpkg.org
 Developer Communication List   openpkg-dev@openpkg.org
 
-- 
David M. Fetter - UNIX Systems Administrator
Portland State University - www.oit.pdx.edu


signature.asc
Description: This is a digitally signed message part


Re: Expect Tcl Dependency Problem

2005-03-04 Thread Matthias Kurz
On Fri, Mar 04, 2005, Michael van Elst wrote:

 On Fri, Mar 04, 2005 at 08:01:44AM +0100, Matthias Kurz wrote:
 
   ${l_prefix}/lib/openpkg/shtool subst \
 -e '/^sudo.*expect/s/-Uvh/--nodeps -Uvh/' \
 -e '/^sudo.*tcl/s/-Uvh/--nodeps -Uvh/' \
 
 $@
   exit;
  
  Ah, you mean a time bomb ;-)
 
 ? :)

A hardcoded workaround, that probably hits you hard looong after you
forgot it. The time bomb pattern :) I know it.


   (mk)

-- 
Matthias Kurz; Fuldastr. 3; D-28199 Bremen; VOICE +49 421 53 600 47
   Im prämotorischen Cortex kann jeder ein Held sein. (bdw) 
__
The OpenPKG Projectwww.openpkg.org
Developer Communication List   openpkg-dev@openpkg.org


Re: Expect Tcl Dependency Problem

2005-03-03 Thread David M. Fetter
On Thu, 2005-03-03 at 13:25 -0800, Bill Campbell wrote:
 On Thu, Mar 03, 2005, David M. Fetter wrote:
 Something seems wrong with how Expect and Tcl interacts in regards to
 dependencies.  The problem occurs if you have a prior version of Tcl and
 Expect installed, then go to upgrade to any other version.  What happens
 ...
 Line #60, which is the BuildPreReq, has the same line.  I'm not sure if
 this should be changed though.  I'm thinking that only the PreReq should
 be changed while the BuildPreReq stays with the specific version as that
 seems that it would logically function as is needed and not break
 updating from an older version to newer as well.  Does this logic seem
 proper to you guys?
 
 This is a long-standing issue.  My solution has been to massage the output
 of ``openpkg build'' to add ``--nodeps'' to the installation commands for
 tcl and expect before running the generated script.

Is this massaging part of the build tools or something you are stating
you do manually?

 
 Bill
 --
 INTERNET:   [EMAIL PROTECTED]  Bill Campbell; Celestial Systems, Inc.
 UUCP:   camco!bill  PO Box 820; 6641 E. Mercer Way
 FAX:(206) 232-9186  Mercer Island, WA 98040-0820; (206) 236-1676
 URL: http://www.celestial.com/
 
 If you want government to intervene domestically, you're a liberal.  If you
 want government to intervene overseas, you're a conservative.  If you want
 government to intervene everywhere, you're a moderate.  If you don't want
 government to intervene anywhere, you're an extremist -- Joseph Sobran
 __
 The OpenPKG Projectwww.openpkg.org
 Developer Communication List   openpkg-dev@openpkg.org
 
-- 
David M. Fetter - UNIX Systems Administrator
Portland State University - www.oit.pdx.edu


signature.asc
Description: This is a digitally signed message part


Re: Expect Tcl Dependency Problem

2005-03-03 Thread Bill Campbell
On Thu, Mar 03, 2005, David M. Fetter wrote:
On Thu, 2005-03-03 at 13:25 -0800, Bill Campbell wrote:
 On Thu, Mar 03, 2005, David M. Fetter wrote:
 Something seems wrong with how Expect and Tcl interacts in regards to
 dependencies.  The problem occurs if you have a prior version of Tcl and
 Expect installed, then go to upgrade to any other version.  What happens
 ...
 Line #60, which is the BuildPreReq, has the same line.  I'm not sure if
 this should be changed though.  I'm thinking that only the PreReq should
 be changed while the BuildPreReq stays with the specific version as that
 seems that it would logically function as is needed and not break
 updating from an older version to newer as well.  Does this logic seem
 proper to you guys?
 
 This is a long-standing issue.  My solution has been to massage the output
 of ``openpkg build'' to add ``--nodeps'' to the installation commands for
 tcl and expect before running the generated script.

Is this massaging part of the build tools or something you are stating
you do manually?

I have a script that I run on the output which uses shtool to
make fixes to the script.  Basically it is a superset of this:

#!/bin/sh

${l_prefix}/lib/openpkg/shtool subst \
-e '/^sudo.*expect/s/-Uvh/--nodeps -Uvh/' \
-e '/^sudo.*tcl/s/-Uvh/--nodeps -Uvh/' \

$@
exit;

Bill
--
INTERNET:   [EMAIL PROTECTED]  Bill Campbell; Celestial Software LLC
UUCP:   camco!bill  PO Box 820; 6641 E. Mercer Way
FAX:(206) 232-9186  Mercer Island, WA 98040-0820; (206) 236-1676
URL: http://www.celestial.com/

Those who profess to favor freedom, and yet depreciate agitation, are
men who want rain without thunder and lightning.  They want the ocean
without the roar of its many waters.
-- Frederick Douglass
__
The OpenPKG Projectwww.openpkg.org
Developer Communication List   openpkg-dev@openpkg.org