[Fink-devel] Re: [gnome-core] Gimp2 compiling on 10.4-transitional unstable

2005-05-17 Thread Daniel Macks
Taking this to -devel because it's a symtom of a general problem.
Consider *not* replying to -gnome-core...

On fink-gnome-core, Mich?le Garoche wrote:
 Compiling gimp2 after using buildfink makes it failed because of an  
 apparently missing dependency on xml-parser-pm586:
 
 checking for perl... /usr/bin/perl
 configure: error: XML::Parser perl module is required for intltool
 ### execution of F77=no failed, exit code 1
 Failed: phase compiling: libgnomeprint2.2-2.6.2-9 failed

intltool is pretty annoying because of this. The current best-practice
is for any package that needs intltool to BuildDepends:intltool, even
though it doesn't actually need that package, since the intltool
package in each dist has Depends on the xml-parser-pmXXX matching the
perlXXX that is /usr/bin/perl in that dist.

OTOH, the AC_PROG_INTLTOOL macro really uses first 'perl' in
PATH. As a result, if the user has a /sw/bin/perl from a perlXXY
package, the intltool placeholder pkg is bogus: the dep it gives is
not needed and the dep that *is* needed is not specified.

One can set INTLTOOL_PERL to a specific path in order to over-ride the
PATH search, so perhaps a cleaner solution is to set that to
/usr/bin/perl and then XXX in BuildDepends:xml-parser-pmXXX is not
affected by perlXXY packages. Does endowing the intltool package with
a RuntimeVars:INTLTOOL_PERL:/usr/bin/perl work as an improvement on
our current best-practice? Or are we better off scrapping that
approach and just setting it in each package directly and adding the
BDep for the now-more-certain xml-parser-pmXXX?

dan

-- 
Daniel Macks
[EMAIL PROTECTED]
http://www.netspace.org/~dmacks



---
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Re: [gnome-core] Gimp2 compiling on 10.4-transitional unstable

2005-05-17 Thread Michèle Garoche
Le 17 mai 2005 à 09:42, Daniel Macks a écrit :
Taking this to -devel because it's a symtom of a general problem.
Consider *not* replying to -gnome-core...
On fink-gnome-core, Mich?le Garoche wrote:
Compiling gimp2 after using buildfink makes it failed because of an
apparently missing dependency on xml-parser-pm586:
checking for perl... /usr/bin/perl
configure: error: XML::Parser perl module is required for intltool
### execution of F77=no failed, exit code 1
Failed: phase compiling: libgnomeprint2.2-2.6.2-9 failed
intltool is pretty annoying because of this. The current best-practice
is for any package that needs intltool to BuildDepends:intltool, even
though it doesn't actually need that package, since the intltool
package in each dist has Depends on the xml-parser-pmXXX matching the
perlXXX that is /usr/bin/perl in that dist.
OTOH, the AC_PROG_INTLTOOL macro really uses first 'perl' in
PATH.
So that is always Fink's one, is not it (at least when compiling via  
fink)? Or is it always /usr/bin in this case?

As a result, if the user has a /sw/bin/perl from a perlXXY
package, the intltool placeholder pkg is bogus: the dep it gives is
not needed
I don't understand here, it would have thought the other way around.
and the dep that *is* needed is not specified.
?
One can set INTLTOOL_PERL to a specific path in order to over-ride the
PATH search, so perhaps a cleaner solution is to set that to
/usr/bin/perl and then XXX in BuildDepends:xml-parser-pmXXX is not
affected by perlXXY packages. Does endowing the intltool package with
a RuntimeVars:INTLTOOL_PERL:/usr/bin/perl work as an improvement on
our current best-practice?
I don't know if I understood correctly. Do you say that intltool  
should always search its related xml-parser-whatever in /usr/bin/ 
perl, no matter if the user has or not installed a Fink version or  
any other version of perl?

Or, if I understand now better, say you have set this variable, then  
you install a newer version of Perl (via Fink for example). What  
happens next? intltool points always to /usr/bin/perl; but maybe you  
need /sw/bin/perl in this case? Or any installation of Perl (via  
Fink) reset this to /sw/bin/perl, but what happens when the user  
installs locally a newer version thereafter? (yes, I know I'm a bit  
paranoiac, nevertheless it's quite possible).

Or are we better off scrapping that
approach and just setting it in each package directly and adding the
BDep for the now-more-certain xml-parser-pmXXX?
That would be better, this way it ensures that every package which  
needs it has it.

I thought about hacking the AC_PROG_INTLTOOL macro with something  
like `which perl` result, would it work?

Cheers,
Michèle
http://micmacfr.homeunix.org

---
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_idt12alloc_id344op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


[Fink-devel] Re: help testing new Installers

2005-05-17 Thread Robert T Wyatt
I can confirm that it is fixed after selfupdate. I've included the 
complete log below for reference; what it contains includes first the 
buggy messages and then the good messages.

Daniel Macks wrote:
On Mon, May 16, 2005 at 07:35:50AM -0500, Robert T Wyatt wrote:
ProductVersion: 10.3.9
[...]
Reading package info...
WARNING: Repeated occurrence of field descpackaging at line 81 of 
info2 of /sw/fink/dists/stable/crypto/finkinfo/svn-ssl-swig-py.info.
WARNING: Repeated occurrence of field descpackaging at line 359 of 
/sw/fink/dists/stable/crypto/finkinfo/svn-ssl.info.
[...]
Mirror-rsync: rsync://master.us.finkmirrors.net/finkinfo/
SelfUpdateMethod: rsync

This was fixed a week or so (at the height of the mirror problems). If
a selfupdate doesn't fix it, please let us know whether the chosen
rsync mirror was used or whether it failed completely and you went to
another mirror.
drm: Does this mean the bindist contains a snapshot of this buggy file?
dan
lsn:~ robwyatt$ echo; date; echo * Here's a little information about my 
environment.; echo; echo * My operating system: ; sw_vers;  echo; 
echo -n * My gcc version: ; gcc --version | head -n 1; echo; echo * 
My fink version:; fink -V | head -n 2; echo; echo -n * My machine is 
a: ; uname -m; echo; echo * Now we will run a few fink utilities and 
then print a list of installed packages: ; echo -n * fink scanpackages 
began: ; date; sudo nice -n -20 fink scanpackages; echo -n * fink 
scanpackages finished: ; date; echo -n * fink index began: ; date; 
fink index; echo -n * fink index finished: ; date; echo -n * fink 
selfupdate began: ; date; fink selfupdate; echo -n * fink selfupdate 
finished: ; date; echo * Here are our currently installed packages:; 
echo -n * fink list began: ; date; fink list -i; echo -n * fink list 
finished: ; date; echo; echo * Now we will clean up older packages: ; 
echo -n * fink cleanup began: ; date; fink cleanup; echo -n * fink 
cleanup finished: ; date; echo; echo * Here is a list of outdated but 
installed packages: ; echo -n * fink list outdated began: ; date; 
fink list -o; echo -n * fink list outdated finished: ; date;  echo; 
echo * Now it is your turn:
Mon May 16 07:28:55 CDT 2005
* Here's a little information about my environment.

* My operating system:
ProductName:Mac OS X
ProductVersion: 10.3.9
BuildVersion:   7W98
* My gcc version: gcc (GCC) 3.3 20030304 (Apple Computer, Inc. build 1671)
* My fink version:
Package manager version: 0.23.8
Distribution version: 0.7.2
* My machine is a: Power Macintosh
* Now we will run a few fink utilities and then print a list of 
installed packages:
* fink scanpackages began: Mon May 16 07:28:56 CDT 2005
Reading package info...
WARNING: Repeated occurrence of field descpackaging at line 81 of 
info2 of /sw/fink/dists/stable/crypto/finkinfo/svn-ssl-swig-py.info.
WARNING: Repeated occurrence of field descpackaging at line 359 of 
/sw/fink/dists/stable/crypto/finkinfo/svn-ssl.info.
Updating package index... done.
Information about 2139 packages read in 29 seconds.
dpkg-scanpackages dists/local/main/binary-darwin-powerpc override | gzip 
dists/local/main/binary-darwin-powerpc/Packages.gz
 Wrote 0 entries to output Packages file.
dpkg-scanpackages dists/stable/main/binary-darwin-powerpc override | 
gzip dists/stable/main/binary-darwin-powerpc/Packages.gz
 Wrote 0 entries to output Packages file.
dpkg-scanpackages dists/stable/crypto/binary-darwin-powerpc override | 
gzip dists/stable/crypto/binary-darwin-powerpc/Packages.gz
 Wrote 0 entries to output Packages file.
* fink scanpackages finished: Mon May 16 07:29:28 CDT 2005
* fink index began: Mon May 16 07:29:28 CDT 2005
Reading package info...
WARNING: Repeated occurrence of field descpackaging at line 81 of 
info2 of /sw/fink/dists/stable/crypto/finkinfo/svn-ssl-swig-py.info.
WARNING: Repeated occurrence of field descpackaging at line 359 of 
/sw/fink/dists/stable/crypto/finkinfo/svn-ssl.info.
Updating package index... done.
* fink index finished: Mon May 16 07:30:01 CDT 2005
* fink selfupdate began: Mon May 16 07:30:01 CDT 2005
fink needs you to choose a SelfUpdateMethod.

(1)  rsync
(2)  cvs
(3)  Stick to point releases
Choose an update method [1] 1
rsync -az -q  rsync://master.us.finkmirrors.net/finkinfo//TIMESTAMP 
/sw/fink/TIMESTAMP.tmp
I will now run the rsync command to retrieve the latest package 
descriptions.
/usr/bin/su robwyatt -c rsync -rtz --delete-after --delete -q 
--include='10.3/' --include='10.3/stable/' --include='10.3/stable/main/' 
--include='10.3/stable/main/finkinfo/' 
--include='10.3/stable/main/finkinfo/*/' 
--include='10.3/stable/main/finkinfo/*' 
--include='10.3/stable/main/finkinfo/**/*' --include='10.3/' 
--include='10.3/stable/' --include='10.3/stable/crypto/' 
--include='10.3/stable/crypto/finkinfo/' 
--include='10.3/stable/crypto/finkinfo/*/' 
--include='10.3/stable/crypto/finkinfo/*' 
--include='10.3/stable/crypto/finkinfo/**/*' --include='VERSION' 
--include='DISTRIBUTION' 

Re: [Fink-devel] Re: [gnome-core] Gimp2 compiling on 10.4-transitional unstable

2005-05-17 Thread Daniel Macks
On Tue, May 17, 2005 at 11:37:29AM +0200, Mich?le Garoche wrote:
 
 I thought about hacking the AC_PROG_INTLTOOL macro with something  
 like `which perl` result, would it work?

I wrote:

 OTOH, the AC_PROG_INTLTOOL macro really uses first 'perl' in
 PATH.

So it already *is* doing what you propose. That's why a /sw/bin/perl
causes trouble: it masks /usr/bin/perl and there's no way to know what
version of perl it is. That makes it impossible to write a
BuildDepends for the corect xml-parser-pmXXX.


dan

-- 
Daniel Macks
[EMAIL PROTECTED]
http://www.netspace.org/~dmacks



---
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Re: [gnome-core] Gimp2 compiling on 10.4-transitional unstable

2005-05-17 Thread Michèle Garoche
Le 17 mai 2005 à 20:16, Daniel Macks a écrit :
On Tue, May 17, 2005 at 11:37:29AM +0200, Mich?le Garoche wrote:
I thought about hacking the AC_PROG_INTLTOOL macro with something
like `which perl` result, would it work?
I wrote:
OTOH, the AC_PROG_INTLTOOL macro really uses first 'perl' in
PATH.
Sorry, it takes me a while to read it more carefully XXX versus XXY.
One can set INTLTOOL_PERL to a specific path in order to over-ride the
PATH search, so perhaps a cleaner solution is to set that to
/usr/bin/perl and then XXX in BuildDepends:xml-parser-pmXXX is not
affected by perlXXY packages.
So now, if this is a solution for say perl 5.8.6 in usr/bin, what  
happens the day there is a 5.8.7 in fink, and the day there is a  
5.8.8 in system?
And maybe no xml-parser-pm587 or 588.

Does endowing the intltool package with
a RuntimeVars:INTLTOOL_PERL:/usr/bin/perl work as an improvement on
our current best-practice?
At the moment, it is a solution since max XXX on system is  max XXY  
on fink. Not sure it will remind the best one when XXY becomes  XXX.

Or are we better off scrapping that
approach and just setting it in each package directly and adding the
BDep for the now-more-certain xml-parser-pmXXX?
Still thinking this is a better solution.
Anyway, you're the specialist.
Cheers,
Michèle
http://micmacfr.homeunix.org

---
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_idt12alloc_id344op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


[Fink-devel] missing patch file does not give an error

2005-05-17 Thread Koen van der Drift
Hi,
I just found that when a .patch file is missing, fink does not stop the 
build of the package. I happen to notice this by accident when building 
pymol-py24:

...
sed 's|@FINKPREFIX@|/sw|g' 
/sw/fink/dists/local/main/finkinfo/sci/pymol-py.patch | sed 
's|python2.X|python2.4|g' | sed 's|pymol-py2X|pymol-py24|g' | patch -p1
sh: line 1: /sw/fink/dists/local/main/finkinfo/sci/pymol-py.patch: No 
such file or directory
(cd setup; cp Rules.osx-fink 
/sw/src/pymol-py24-0.98-2/pymol-0.98/Rules.make)
make
...

Eventually the compilation fails because the patch wasn't applied. It 
took me a while to figure out why this happened until I noticed the 
missing patch file.

Package manager version: 0.24.6
Distribution version: 0.7.2.cvs
Mac OS X 10.3.9
- Koen.

---
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


[Fink-devel] (no subject)

2005-05-17 Thread Alex Clark
Hi All, 

I'd like to become the package manager for the following package:
  http://fink.sourceforge.net/pdb/package.php/afni

How do I get started ? 

Thanks!

-- 
Alex Clark, ContractorSSCC/DIRP/NIMH/NIH
Building 10, Room 1D8010 Center Drive, MSC1148   Bethesda, MD 20892-1148
Email: [EMAIL PROTECTED]   Phone: 301-451-6233Mobile: 410-340-6010
Url: http://afni.nimh.nih.gov/sscc/aclark  Fax: 301-402-1370


---
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] (no subject)

2005-05-17 Thread Alexander K. Hansen
Alex Clark wrote:
Hi All, 

I'd like to become the package manager for the following package:
 http://fink.sourceforge.net/pdb/package.php/afni
How do I get started ? 

Thanks!
 

Basically you just do it.  You'll need a sourceforge account if you 
don't have one already  so that you can submit any changes to the 
package onto the package submission tracker (linked from the fink main 
page)--once validated by someone with CVS commit access the package 
should get added--probably the first thing you should put up is a new 
.info file with your name in the Maintainer field.

--AH
---
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] missing patch file does not give an error

2005-05-17 Thread Koen van der Drift
Thanks for the reply, I wasn't aware of the previous discussion. I will  
forward your suggestions to the maintainer

- Koen.
On May 17, 2005, at 11:16 PM, Rohan Lloyd wrote:
On 18 May 2005, at 9:59 AM, Koen van der Drift wrote:
Hi,
I just found that when a .patch file is missing, fink does not stop  
the build of the package. I happen to notice this by accident when  
building pymol-py24:

...
sed 's|@FINKPREFIX@|/sw|g'  
/sw/fink/dists/local/main/finkinfo/sci/pymol-py.patch | sed  
's|python2.X|python2.4|g' | sed 's|pymol-py2X|pymol-py24|g' | patch  
-p1
sh: line 1: /sw/fink/dists/local/main/finkinfo/sci/pymol-py.patch: No  
such file or directory
(cd setup; cp Rules.osx-fink  
/sw/src/pymol-py24-0.98-2/pymol-0.98/Rules.make)
make
...

Eventually the compilation fails because the patch wasn't applied. It  
took me a while to figure out why this happened until I noticed the  
missing patch file.
There was a thread about this a while ago:
   
http://sourceforge.net/mailarchive/forum.php? 
thread_id=6441285forum_id=2056

Basically, the problem is that when you have a string of commands  
connected by pipes, the exit status is that of the last command (in  
this case patch) regardless of the status of the other commands.

So fink cannot tell that any of the sed commands failed. The package  
patch script needs to be written to handle failures and report them to  
Fink. In the above thread, several fixes were suggested, but I don't  
think a consensus was reached.

(1) Use a temporary file rather than a pipe, and chain commands with  
 which will fail if any stage fails

/usr/bin/sed 's|@FINKPREFIX@|/sw|g %a/%n.patch %n.patch   
/usr/bin/patch -p1 %n.patch

(2) Explicitly test for the patch file, and fail if its not there.  
This will fail if the patch file doesn't exist, but will not correctly  
detect other errors eg the sed command failing for some other reason.

/bin/test -f %a/%n.patch  /usr/bin/sed 's|@FINKPREFIX@|/sw|g  
%a/%n.patch | /usr/bin/patch -p1

(3) Pipe stderr through the patch command too, and rely on patch  
failing when it gets unexpected input.

/usr/bin/sed s|@PREFIX@|%p|g %a/%n.patch 21 | /usr/bin/patch  
-p1

I suggest one of the above is chosen as the way and documented in  
the packaging manual. Also note that in all the above examples I have  
used full paths. It's standard practice to use full paths in any  
script run by root to prevent nasty surprises due to different  
environments. Any examples in the manual should be written this way.

--
Rohan Lloyd

---
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] missing patch file does not give an error

2005-05-17 Thread Chris Zubrzycki
On May 17, 2005, at 11:20 PM, Koen van der Drift wrote:
Thanks for the reply, I wasn't aware of the previous discussion. I  
will forward your suggestions to the maintainer

- Koen.
On May 17, 2005, at 11:16 PM, Rohan Lloyd wrote:

On 18 May 2005, at 9:59 AM, Koen van der Drift wrote:

Hi,
I just found that when a .patch file is missing, fink does not  
stop the build of the package. I happen to notice this by  
accident when building pymol-py24:

...
sed 's|@FINKPREFIX@|/sw|g' /sw/fink/dists/local/main/finkinfo/ 
sci/pymol-py.patch | sed 's|python2.X|python2.4|g' | sed 's|pymol- 
py2X|pymol-py24|g' | patch -p1
sh: line 1: /sw/fink/dists/local/main/finkinfo/sci/pymol- 
py.patch: No such file or directory
(cd setup; cp Rules.osx-fink /sw/src/pymol-py24-0.98-2/pymol-0.98/ 
Rules.make)
make
...

Eventually the compilation fails because the patch wasn't  
applied. It took me a while to figure out why this happened until  
I noticed the missing patch file.

There was a thread about this a while ago:
  http://sourceforge.net/mailarchive/forum.php? 
thread_id=6441285forum_id=2056

Basically, the problem is that when you have a string of commands  
connected by pipes, the exit status is that of the last command  
(in this case patch) regardless of the status of the other commands.

So fink cannot tell that any of the sed commands failed. The  
package patch script needs to be written to handle failures and  
report them to Fink. In the above thread, several fixes were  
suggested, but I don't think a consensus was reached.

(1) Use a temporary file rather than a pipe, and chain commands  
with  which will fail if any stage fails

/usr/bin/sed 's|@FINKPREFIX@|/sw|g %a/%n.patch %n.patch  / 
usr/bin/patch -p1 %n.patch

(2) Explicitly test for the patch file, and fail if its not there.  
This will fail if the patch file doesn't exist, but will not  
correctly detect other errors eg the sed command failing for some  
other reason.

/bin/test -f %a/%n.patch  /usr/bin/sed 's|@FINKPREFIX@|/sw|g  
%a/%n.patch | /usr/bin/patch -p1

(3) Pipe stderr through the patch command too, and rely on patch  
failing when it gets unexpected input.

/usr/bin/sed s|@PREFIX@|%p|g %a/%n.patch 21 | /usr/bin/ 
patch -p1

I suggest one of the above is chosen as the way and documented  
in the packaging manual. Also note that in all the above examples  
I have used full paths. It's standard practice to use full paths  
in any script run by root to prevent nasty surprises due to  
different environments. Any examples in the manual should be  
written this way.
put #!/bin/sh -e as the first line of the patchscript. The -e will  
cause it to bail if any commands exit non-zero.

-chris zubrzycki
- --
PGP public key: http://homepage.mac.com/beren/publickey.txt
ID: 0xA2ABC070
Fingerprint: 26B0 BA6B A409 FA83 42B3  1688 FBF9 8232 A2AB C070

Security Is A Series Of Well-Defined Steps...
chmod -R 0 / ; and smile :)

---
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel