Re: perl-dbix 2.20060622 asks for input?

2006-09-19 Thread Ralf S. Engelschall
On Tue, Sep 19, 2006, Adam D. Morley wrote:

 On Tue, Sep 19, 2006 at 07:36:07AM +0200, Ralf S. Engelschall wrote:
  On Mon, Sep 18, 2006, Adam D. Morley wrote:
   So somewhere from the upgrade to 2.5 to 2.20060622, openpkg build seems
   to have missed the addition of sqlite as a requirement for perl-dbi.
   Likely because 2.5's perl-dbi has with_dbd_sqlite set to no, so the
   build script must not consider this possibility?
 
  Yes, seems like openpkg build has no possibility here. The default
  was no in 2.5 and is yes in 2.20060622. So, openpkg build
  thinks that the no in 2.5 was _manually_ set and correctly forward
  passes-through this value to the build of 2.20060622. There is real
  solution for this dependency-change-on-upgrade dilemma as RPM doesn't
  safe information whether an option was _explicitly_ set or not (and this
  way is set to the default). But I've now at least added the dependency
  perl-dbi::with_dbd_sqlite=yes to perl-dbix.

 Hmm.  Does this mean an upgrade from 2.5 - 2.20060622 will now break
 when it sees perl-dbi installed with with_dbd_sqlite=no?  Mostly, I'm
 just concerned about others upgrading from 2.5, as this is the one time
 I'll have to do it.

Yes, seems like this is a nasty upgrade pitfall everyone can jump into.
It at least hurts for those who used perl-dbix. But the solution is
simple: one just has to _know_ to pass -Dwith_dbd_sqlite=yes on the
openpkg build command when upgrading.

   Ralf S. Engelschall
   [EMAIL PROTECTED]
   www.engelschall.com

__
The OpenPKG Projectwww.openpkg.org
User Communication List  openpkg-users@openpkg.org


Re: perl-dbix 2.20060622 asks for input?

2006-09-19 Thread Ralf S. Engelschall
On Tue, Sep 19, 2006, Adam D. Morley wrote:

 [...]
 Ah.  At least I know my perl-dbi is broken:

This should now be also fixed in OpenPKG-CURRENT. Please take the latest
and greatest perl-dbi from there in the meantime.

   Ralf S. Engelschall
   [EMAIL PROTECTED]
   www.engelschall.com

__
The OpenPKG Projectwww.openpkg.org
User Communication List  openpkg-users@openpkg.org


Re: perl-dbix 2.20060622 asks for input?

2006-09-19 Thread Bill Campbell
On Tue, Sep 19, 2006, Ralf S. Engelschall wrote:
On Tue, Sep 19, 2006, Adam D. Morley wrote:
...
Yes, seems like this is a nasty upgrade pitfall everyone can jump into.
It at least hurts for those who used perl-dbix. But the solution is
simple: one just has to _know_ to pass -Dwith_dbd_sqlite=yes on the
openpkg build command when upgrading.

See the rpmgetopts.pl script I just posted as it helps avoid problems like
this by helpinb build an ~/.openpkg/build file with ALL the -D options for
installed packages.

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/

Cutting the space budget really restores my faith in humanity.  It
eliminates dreams, goals, and ideals and lets us get straight to the
business of hate, debauchery, and self-annihilation.
-- Johnny Hart
__
The OpenPKG Projectwww.openpkg.org
User Communication List  openpkg-users@openpkg.org


Re: perl-dbix 2.20060622 asks for input?

2006-09-19 Thread Caleb Epstein

On 9/19/06, Adam D. Morley [EMAIL PROTECTED] wrote:

On Tue, Sep 19, 2006 at 08:10:49PM +0200, Ralf S. Engelschall wrote:
 On Tue, Sep 19, 2006, Adam D. Morley wrote:

  [...]
  Ah.  At least I know my perl-dbi is broken:

 This should now be also fixed in OpenPKG-CURRENT. Please take the latest
 and greatest perl-dbi from there in the meantime.

Ok.  I grabbed

perl-dbi-5.8.8-20060919.src.rpm

from ftp.openpkg.org in current/SRC

and built.  I get:

[root perl-dbi]# /opt/openpkg/bin/perl -e 'use DBI; use DBD::SQLite;' Can't 
load 
'/opt/openpkg/lib/perl/vendor_perl/5.8.8/sun4-solaris/auto/DBD/SQLite/SQLite.so'
 for module DBD::SQLite: ld.so.1: perl: fatal: relocation error: file 
/opt/openpkg/lib/perl/vendor_perl/5.8.8/sun4-solaris/auto/DBD/SQLite/SQLite.so: 
symbol sqlite3_version: referenced symbol not found at 
/opt/openpkg/lib/perl/5.8.8/sun4-solaris/DynaLoader.pm line 230.


I think you might need to rebuild/update the sqlite package first to fix this.

--
Caleb Epstein
__
The OpenPKG Projectwww.openpkg.org
User Communication List  openpkg-users@openpkg.org


Re: perl-dbix 2.20060622 asks for input?

2006-09-19 Thread Ralf S. Engelschall
On Tue, Sep 19, 2006, Adam D. Morley wrote:

 On Tue, Sep 19, 2006 at 08:10:49PM +0200, Ralf S. Engelschall wrote:
  On Tue, Sep 19, 2006, Adam D. Morley wrote:
 
   [...]
   Ah.  At least I know my perl-dbi is broken:
 
  This should now be also fixed in OpenPKG-CURRENT. Please take the latest
  and greatest perl-dbi from there in the meantime.

 Ok.  I grabbed

 perl-dbi-5.8.8-20060919.src.rpm

 from ftp.openpkg.org in current/SRC

 and built.  I get:

 [root perl-dbi]# /opt/openpkg/bin/perl -e 'use DBI; use DBD::SQLite;' Can't 
 load 
 '/opt/openpkg/lib/perl/vendor_perl/5.8.8/sun4-solaris/auto/DBD/SQLite/SQLite.so'
  for module DBD::SQLite: ld.so.1: perl: fatal: relocation error: file 
 /opt/openpkg/lib/perl/vendor_perl/5.8.8/sun4-solaris/auto/DBD/SQLite/SQLite.so:
  symbol sqlite3_version: referenced symbol not found at 
 /opt/openpkg/lib/perl/5.8.8/sun4-solaris/DynaLoader.pm line 230.
  at -e line 1
 Compilation failed in require at -e line 1.
 BEGIN failed--compilation aborted at -e line 1.

 But sqlite built fine (see attached log).  Was there a second 0919 I was
 supposed to use, or do I need to upgrade perl-openpkg too?  I did
 twiddle perl-dbi.spec so it wouldn't error on build:
 [...]
 /opt/openpkg/bin/cc  -Wl,-E -G -L/opt/openpkg/lib SQLite.o dbdimp.o  -o 
 blib/arch/auto/DBD/SQLite/SQLite.so \
 \
 [...]

Ops, for unknown reasons there is no -lsqlite3 at all on this line.
Can you show me the output of the command

$ /opt/openpkg/bin/pkg-config sqlite3 --libs

on your side?

   Ralf S. Engelschall
   [EMAIL PROTECTED]
   www.engelschall.com

__
The OpenPKG Projectwww.openpkg.org
User Communication List  openpkg-users@openpkg.org


Re: perl-dbix 2.20060622 asks for input?

2006-09-18 Thread Adam D. Morley
On Mon, Sep 18, 2006 at 02:56:34PM -0700, Adam D. Morley wrote:
 On Mon, Sep 18, 2006 at 09:47:12PM +0200, Ralf S. Engelschall wrote:
  On Mon, Sep 18, 2006, Adam D. Morley wrote:
  
   I'm upgrading a 2.5 OpenPKG instance on Solaris 10 to 2.20060622.
   Everything has gone fine so far, but when openpkg build tries to build
   perl-dbix, it starts asking for input.  First, it can't find the
   MIRRORED.BY file, since it isn't detecting http_proxy from the
   environment (see MIRRORED.BY.log).  I'm guessing this is the same bug as
   the RPM 4.4 bug?
  
   If I manually download MIRRORED.BY to /opt/openpkg/.cpan/sources, I get
   asked (in a loop) for where I am in the world (see locale.loop.log) by
   CPAN's Config.pm.
  
   Other perl packages have been built fine, so I'm wondering if I'm doing
   something wrong, or if perl-dbix is the only one that uses CPAN.  It
   seems odd to use CPAN, but I don't know much about perl-dbix's source
   rpm.  Can building perl-dbix be made to not require user
   input/configuration of CPAN?  Or do I just need to configure CPAN
   manually?  If so, how do I get OpenPKG to tell me all the values it was
   going to manually program CPAN with?
  
   Thanks,
  
   --
   adam
  
    /var/tmp/opkg/SRC/perl-dbix-5.8.8-2.20060622.src.rpm 
   Installing /var/tmp/opkg/SRC/perl-dbix-5.8.8-2.20060622.src.rpm
   Executing(%prep): env -i /opt/openpkg/lib/openpkg/bash --norc --noprofile 
   --posix -e /opt/openpkg/RPM/TMP/rpm-tmp.12743
   [...]
   [Core Features]
   - Test::More ...loaded. (0.62 = 0.52)
   - DBD::SQLite...missing.
   - DBI...loaded. (1.51)
   - Want   ...loaded. (0.10)
   - Encode ...loaded. (2.18)
   - Class::ReturnValue ...loaded. (0.53 = 0.4)
   - Cache::MemoryCache ...loaded. (0)
   - Clone  ...loaded. (0.20)
   == Auto-install the 1 mandatory module(s) from CPAN? [Y/n] y
   [Lower case API]
   [...]
  
  OpenPKG packages never should download anything their own. The issue is
 
 That's kind of what I expected, which is why I was surprised.
 
  not related to RPM. It is just that the CPAN stuff detected that for
  whatever obscure reasons DBD::SQLite is missing here. The perl-dbix
  package depends on the perl-dbi package which in turn provides
  DBD::SQLite by default. Please check your perl-dbi package. Either
  it has build-option with_dbd_sqlite set to no (which is _NOT_ the
  default) or something failed during building of DBD::SQLite in this
  package. Just rebuild perl-dbi again and watch for errors.
 
 [this is slightly rambly, as I was trying to figure out what's going on]
 
 It does indeed have with_dbd_sqlite set to no.  Here's the tail end of
 the output of openpkg build -z -r /var/tmp/opkg perl-dbi
 (/var/tmp/opkg is a local cache of ftp.openpkg.org, circa last Thursday
 or so, since we're behind a proxy.  without -r, the results are the
 same):
 
 echo  /var/tmp/opkg/SRC/perl-dbi-5.8.8-2.20060622.src.rpm 
 /opt/openpkg/bin/openpkg rpm --define 'with_dbd_sqlite no' --rebuild
 /var/tmp/opkg/SRC/perl-dbi-5.8.8-2.20060622.src.rpm || exit $?
 /opt/openpkg/bin/openpkg rpm --force -Uvh
 /opt/openpkg/RPM/PKG/perl-dbi-5.8.8-2.20060622.sparc64-solaris10-oop.rpm
 || exit $?
 echo  /var/tmp/opkg/SRC/perl-dbi-5.8.8-2.20060622.src.rpm = $? 
 
 The problem is: I built the package normally with 2.5.  Further,
 another system running the exact same version of OpenPKG that I'm
 upgrading from reports the following from openpkg build -z perl-dbi:
 
 echo 
 ftp://ftp.openpkg.org/release/2.5/SRC/perl-dbi-5.8.7-2.5.0.src.rpm 
 /opt/openpkg/bin/openpkg rpm --rebuild
 ftp://ftp.openpkg.org/release/2.5/SRC/perl-dbi-5.8.7-2.5.0.src.rpm ||
 exit $?
 /opt/openpkg/bin/openpkg rpm --force -Uvh
 /opt/openpkg/RPM/PKG/perl-dbi-5.8.7-2.5.0.sparc64-solaris10-oop.rpm ||
 exit $?
 echo 
 ftp://ftp.openpkg.org/release/2.5/SRC/perl-dbi-5.8.7-2.5.0.src.rpm = $?
 
 
 So somewhere, the option got twiddled.  I do know that the src rpm I 
 downloaded for 2.20060622 has the option set correctly at yes.  But, 
 upon trying to manually build the package from the source rpm, I get:
 
 [root perl-dbi]# openpkg rpm -bb perl-dbi.spec
 error: Failed build dependencies:
 sqlite is needed by perl-dbi-5.8.8-2.20060622
 
 So somewhere from the upgrade to 2.5 to 2.20060622, openpkg build seems
 to have missed the addition of sqlite as a requirement for perl-dbi.
 Likely because 2.5's perl-dbi has with_dbd_sqlite set to no, so the
 build script must not consider this possibility?  I take it the best way
 to reset the option is to manually build sqlite, then rebuild perl-dbi
 manually, and then continue with the -ZaKB?

Ah.  Even after I manually built gawk, sqlite, and perl-dbi, perl-dbix still
fails:

[Core Features]
- Test::More ...loaded. (0.62 = 0.52)
- DBD::SQLite...missing.
- DBI...loaded. (1.51)
- Want   ...loaded. (0.10)
- Encode 

Re: perl-dbix 2.20060622 asks for input?

2006-09-18 Thread Adam D. Morley
On Mon, Sep 18, 2006 at 04:51:24PM -0700, Adam D. Morley wrote:
 On Mon, Sep 18, 2006 at 02:56:34PM -0700, Adam D. Morley wrote:
  So somewhere from the upgrade to 2.5 to 2.20060622, openpkg build seems
  to have missed the addition of sqlite as a requirement for perl-dbi.
  Likely because 2.5's perl-dbi has with_dbd_sqlite set to no, so the
  build script must not consider this possibility?  I take it the best way
  to reset the option is to manually build sqlite, then rebuild perl-dbi
  manually, and then continue with the -ZaKB?
 
 Ah.  Even after I manually built gawk, sqlite, and perl-dbi, perl-dbix still
 fails:
 
 [Core Features]
 - Test::More ...loaded. (0.62 = 0.52)
 - DBD::SQLite...missing.
 - DBI...loaded. (1.51)
 - Want   ...loaded. (0.10)
 - Encode ...loaded. (2.18)
 - Class::ReturnValue ...loaded. (0.53 = 0.4)
 - Cache::MemoryCache ...loaded. (0)
 - Clone  ...loaded. (0.20)
 == Auto-install the 1 mandatory module(s) from CPAN? [Y/n] y
 [Lower case API]
 - capitalization ...missing. (would need 0.03)
 == Auto-install the 1 optional module(s) from CPAN? [y/N] n
 [Schema generation]
 - DBIx::DBSchema ...loaded. (0.31)
 - Class::Accessor...loaded. (0.25)
 
 But it seems perl-dbi built SQLLite fine?  (see attached)  And openpkg

This time, with attachment.

 build -z perl-dbi shows (after I rm the binary rpm):
 
 ...
 echo 
 ftp://ftp.openpkg.org/stable/2.20060622/SRC/perl-dbi-5.8.8-2.20060622.src.rpm
 
 /opt/openpkg/bin/openpkg rpm --rebuild
 ftp://ftp.openpkg.org/stable/2.20060622/SRC/perl-dbi-5.8.8-2.20060622.src.rpm
 || exit $?
 /opt/openpkg/bin/openpkg rpm --force -Uvh
 /opt/openpkg/RPM/PKG/perl-dbi-5.8.8-2.20060622.sparc64-solaris10-oop.rpm
 || exit $?
 echo 
 ftp://ftp.openpkg.org/stable/2.20060622/SRC/perl-dbi-5.8.8-2.20060622.src.rpm
 = $? 
 
 I'm clearly doing something wrong here.  Any ideas?
 
 -- 
 adam
 __
 The OpenPKG Projectwww.openpkg.org
 User Communication List  openpkg-users@openpkg.org

-- 
adam
...
+ /opt/openpkg/bin/perl-openpkg configure build install
++ OpenPKG perl-openpkg 2.0.1 (03-Dec-2004)
++ determined RPM  program: /opt/openpkg/libexec/openpkg/rpm (4.2.1)
++ determined Perl program: /opt/openpkg/bin/perl (5.8.8)
++ step 2: configure
++ configuring module via ExtUtils::MakeMaker environment
Checking installed SQLite version...
SQLite version must be at least 3.1.3. No header file at that
version or higher was found. Using the local version instead.
Checking if your kit is complete...
Looks good
Multiple copies of Driver.xst found in: 
/opt/openpkg/RPM/TMP/perl-dbi-5.8.8-root/opt/openpkg/lib/perl/vendor_perl/5.8.8/sun4-solaris/auto/DBI/
 /opt/openpkg/lib/perl/vendor_perl/5.8.8/sun4-solaris/auto/DBI/ at 
./Makefile.PL line 106
Using DBI 1.51 (for perl 5.008008 on sun4-solaris) installed in 
/opt/openpkg/RPM/TMP/perl-dbi-5.8.8-root/opt/openpkg/lib/perl/vendor_perl/5.8.8/sun4-solaris/auto/DBI/
Writing Makefile for DBD::SQLite
++ step 3: build
++ building module via ExtUtils::MakeMaker environment
cp lib/DBD/SQLite.pm blib/lib/DBD/SQLite.pm
/opt/openpkg/RPM/TMP/adam-perl-openpkg-perl-dbi/perl.sh -p -e 
s/~DRIVER~/SQLite/g 
/opt/openpkg/RPM/TMP/perl-dbi-5.8.8-root/opt/openpkg/lib/perl/vendor_perl/5.8.8/sun4-solaris/auto/DBI/Driver.xst
  SQLite.xsi
/opt/openpkg/RPM/TMP/adam-perl-openpkg-perl-dbi/perl.sh 
/opt/openpkg/lib/perl/5.8.8/ExtUtils/xsubpp  -typemap 
/opt/openpkg/lib/perl/5.8.8/ExtUtils/typemap  SQLite.xs  SQLite.xsc  mv 
SQLite.xsc SQLite.c
/opt/openpkg/bin/cc -c  -I/opt/openpkg/include 
-I/opt/openpkg/RPM/TMP/perl-dbi-5.8.8-root/opt/openpkg/lib/perl/vendor_perl/5.8.8/sun4-solaris/auto/DBI
 -fno-strict-aliasing -pipe -Wdeclaration-after-statement 
-I/opt/openpkg/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-DPERL_USE_SAFE_PUTENV -O2   -DVERSION=\1.12\ -DXS_VERSION=\1.12\ -fPIC 
-I/opt/openpkg/lib/perl/5.8.8/sun4-solaris/CORE  -DNDEBUG=1 -DSQLITE_PTR_SZ=4 
-DHAVE_USLEEP=1 SQLite.c
/opt/openpkg/bin/cc -c  -I/opt/openpkg/include 
-I/opt/openpkg/RPM/TMP/perl-dbi-5.8.8-root/opt/openpkg/lib/perl/vendor_perl/5.8.8/sun4-solaris/auto/DBI
 -fno-strict-aliasing -pipe -Wdeclaration-after-statement 
-I/opt/openpkg/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-DPERL_USE_SAFE_PUTENV -O2   -DVERSION=\1.12\ -DXS_VERSION=\1.12\ -fPIC 
-I/opt/openpkg/lib/perl/5.8.8/sun4-solaris/CORE  -DNDEBUG=1 -DSQLITE_PTR_SZ=4 
-DHAVE_USLEEP=1 dbdimp.c
Running Mkbootstrap for DBD::SQLite ()
chmod 644 SQLite.bs
rm -f blib/arch/auto/DBD/SQLite/SQLite.so
/opt/openpkg/bin/cc  -Wl,-E -G -L/opt/openpkg/lib SQLite.o dbdimp.o  -o 
blib/arch/auto/DBD/SQLite/SQLite.so \
   -L/opt/openpkg/lib -lsqlite3 \
   
chmod 755 blib/arch/auto/DBD/SQLite/SQLite.so
cp SQLite.bs blib/arch/auto/DBD/SQLite/SQLite.bs
chmod 644 blib/arch/auto/DBD/SQLite/SQLite.bs
++ 

Re: perl-dbix 2.20060622 asks for input?

2006-09-18 Thread Ralf S. Engelschall
On Mon, Sep 18, 2006, Adam D. Morley wrote:

 [...]
 It does indeed have with_dbd_sqlite set to no.  Here's the tail end of
 the output of openpkg build -z -r /var/tmp/opkg perl-dbi
 (/var/tmp/opkg is a local cache of ftp.openpkg.org, circa last Thursday
 or so, since we're behind a proxy.  without -r, the results are the
 same):

 echo  /var/tmp/opkg/SRC/perl-dbi-5.8.8-2.20060622.src.rpm 
 /opt/openpkg/bin/openpkg rpm --define 'with_dbd_sqlite no' --rebuild
 /var/tmp/opkg/SRC/perl-dbi-5.8.8-2.20060622.src.rpm || exit $?
 /opt/openpkg/bin/openpkg rpm --force -Uvh
 /opt/openpkg/RPM/PKG/perl-dbi-5.8.8-2.20060622.sparc64-solaris10-oop.rpm
 || exit $?
 echo  /var/tmp/opkg/SRC/perl-dbi-5.8.8-2.20060622.src.rpm = $? 

 The problem is: I built the package normally with 2.5.  Further,
 another system running the exact same version of OpenPKG that I'm
 upgrading from reports the following from openpkg build -z perl-dbi:

 echo 
 ftp://ftp.openpkg.org/release/2.5/SRC/perl-dbi-5.8.7-2.5.0.src.rpm 
 /opt/openpkg/bin/openpkg rpm --rebuild
 ftp://ftp.openpkg.org/release/2.5/SRC/perl-dbi-5.8.7-2.5.0.src.rpm ||
 exit $?
 /opt/openpkg/bin/openpkg rpm --force -Uvh
 /opt/openpkg/RPM/PKG/perl-dbi-5.8.7-2.5.0.sparc64-solaris10-oop.rpm ||
 exit $?
 echo 
 ftp://ftp.openpkg.org/release/2.5/SRC/perl-dbi-5.8.7-2.5.0.src.rpm = $?
 

 So somewhere, the option got twiddled.  I do know that the src rpm I
 downloaded for 2.20060622 has the option set correctly at yes.  But,
 upon trying to manually build the package from the source rpm, I get:

 [root perl-dbi]# openpkg rpm -bb perl-dbi.spec
 error: Failed build dependencies:
 sqlite is needed by perl-dbi-5.8.8-2.20060622

 So somewhere from the upgrade to 2.5 to 2.20060622, openpkg build seems
 to have missed the addition of sqlite as a requirement for perl-dbi.
 Likely because 2.5's perl-dbi has with_dbd_sqlite set to no, so the
 build script must not consider this possibility?

Yes, seems like openpkg build has no possibility here. The default
was no in 2.5 and is yes in 2.20060622. So, openpkg build
thinks that the no in 2.5 was _manually_ set and correctly forward
passes-through this value to the build of 2.20060622. There is real
solution for this dependency-change-on-upgrade dilemma as RPM doesn't
safe information whether an option was _explicitly_ set or not (and this
way is set to the default). But I've now at least added the dependency
perl-dbi::with_dbd_sqlite=yes to perl-dbix.

 I take it the best way
 to reset the option is to manually build sqlite, then rebuild perl-dbi
 manually, and then continue with the -ZaKB?
 [...]

You can easily fix those situations with openpkg build -g
-Dwith_dbd_sqlite=yes perl-dbi | sh as shown in the manual page which
you can read via openpkg man build.

   Ralf S. Engelschall
   [EMAIL PROTECTED]
   www.engelschall.com

__
The OpenPKG Projectwww.openpkg.org
User Communication List  openpkg-users@openpkg.org