unquote-am_config_header.patch

2001-01-18 Thread Alexandre Duret-Lutz

Hi,

I'm afraid this

  AM_CONFIG_HEADER([config.h])

leads to

  configure.in: 3: required file `./[config.h].in' not found

May I suggest the change below?  (I browsed the source and
didn't find something similar to unquote_m4_arg, that's quite
surprising; did I missed something?)



2001-01-17  Alexandre Duret-Lutz  [EMAIL PROTECTED]

* automake.in (unquote_m4_arg): New function.
(scan_one_configure_file): Call unquote_m4_arg on
AM_CONFIG_HEADER argument, so that AM_CONFIG_HEADER([foobar.h])
works.

--- automake.in.old Wed Jan 17 20:13:19 2001
+++ automake.in Wed Jan 17 22:31:03 2001
@@ -4558,7 +4558,7 @@
 
$config_header_line = $.;
local ($one_hdr);
-   foreach $one_hdr (split (' ', $2))
+   foreach $one_hdr (split (' ', unquote_m4_arg ($2)))
{
push (@config_fullnames, $one_hdr);
if ($one_hdr =~ /^([^:]+):(.+)$/)
@@ -7759,6 +7759,36 @@
 {
 local ($pat) = @_;
 return ${pat};
+}
+
+# Remove one level of brackets and strip leading spaces,
+# as does m4 to function arguments.
+sub unquote_m4_arg
+{
+$_ = shift;
+s/^\s*//;
+
+my @letters = split //;
+my @result = ();
+my $depth = 0;
+
+foreach (@letters)
+{
+   if ($_ eq '[')
+   {
+   ++$depth;
+   next if $depth == 1;
+   }
+   elsif ($_ eq ']')
+   {
+   --$depth;
+   next if $depth == 0;
+   # don't count orphan right brackets
+   $depth = 0 if $depth  0;
+   }
+   push @result, $_;
+}
+return join '', @result;
 }
 
 



-- 
Alexandre Duret-Lutz



Re: make install-strip in cross-compilation environments

2001-01-18 Thread Alexandre Duret-Lutz

 "Tom" == Tom Tromey [EMAIL PROTECTED] writes:
 "adl" == Alexandre Duret-Lutz [EMAIL PROTECTED] writes:

[...]

 adl b) change the Makefiles to not call `install -s', but just 
 adl `install' followed by a direct call to the correct strip.

 Tom This would make sense.  It is unfortunate though.

Ok, I'll try to make that change this week-end (unless someone
else want to do it).

[...]

-- 
Alexandre Duret-Lutz




Re: Support for configure.ac

2001-01-18 Thread Akim Demaille

 "Lars" == Lars Hecking [EMAIL PROTECTED] writes:

Lars  I posted everything I did. I did not install automake, only ran
Lars configure and make dist straight from a copy of my checked-out
Lars tree.

Well, I don't know.

~/src/am % ./configure
loading cache ./config.cache
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... (cached) mawk
checking whether make sets ${MAKE}... (cached) yes
checking for perl... (cached) /usr/bin/perl
creating ./config.status
creating Makefile
creating automake
creating aclocal
creating m4/Makefile
creating tests/Makefile
~/src/am % make dist nostromo 10:40
chmod -R a+w automake-1.4c  /dev/null 21; rm -rf automake-1.4c
mkdir automake-1.4c
for subdir in . m4 tests; do \
  if test "$subdir" = .; then :; else \
test -d automake-1.4c/$subdir \
|| mkdir automake-1.4c/$subdir \
|| exit 1; \
(cd $subdir  make  top_distdir=../automake-1.4c distdir=../automake-1.4c/$subdir 
distdir) \
  || exit 1; \
  fi; \
done
make[1]: Entre dans le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/m4'
make[1]: Quitte le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/m4'
make[1]: Entre dans le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/tests'
make[1]: Quitte le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/tests'
make  top_distdir="automake-1.4c" distdir="automake-1.4c" dist-info
make[1]: Entre dans le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am'
list='automake.info'; \
for base in $list; do \
  d=.; \
  for file in `CDPATH=:  cd $d  eval echo $base*`; do \
test -f automake-1.4c/$file \
|| cp -p $d/$file automake-1.4c/$file; \
  done; \
done
make[1]: Quitte le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am'
find automake-1.4c -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
  ! -type d ! -perm -444 -exec /bin/sh ./install-sh -c -m a+r {} {} \; \
|| chmod -R a+r automake-1.4c
/bin/sh /home/lrde/prof/akim/src/am/missing --run tar chof - automake-1.4c | 
GZIP=--best gzip -c  automake-1.4c.tar.gz
chmod -R a+w automake-1.4c  /dev/null 21; rm -rf automake-1.4c


But your output, compared to mine, contains:

$ make dist
cd .  /tmp/automake/aclocal --acdir=m4
cd .  /tmp/automake/automake --amdir=. --gnits Makefile
cd .  /bin/sh /tmp/automake/missing --run autoconf

i.e., your files are not up to date.  Try from a freshly checked out
automake?




Re: Support for configure.ac

2001-01-18 Thread Akim Demaille

 "Lars" == Lars Hecking [EMAIL PROTECTED] writes:

Lars  Undoubtedly, automake-cvs running on its own files should
Lars produce something useful, shouldn't it?

Yes, indeed.  But I just switched me brains on, and understood.

Sure you have the new .am files, but since the Makefile want to update
the Makefiles first, you run an old automake which does not, indeed,
substitute @CONFIGURE_AC@.  So find a means, but you have to `make
automake' before making the Makefiles.  On your system automake.in is
new, but not automake yet.




Re: Support for configure.ac

2001-01-18 Thread Lars Hecking


 Yes, indeed.  But I just switched me brains on, and understood.
 
 Sure you have the new .am files, but since the Makefile want to update
 the Makefiles first, you run an old automake which does not, indeed,
 substitute @CONFIGURE_AC@.  So find a means, but you have to `make
 automake' before making the Makefiles.  On your system automake.in is
 new, but not automake yet.

 At no time an old copy of automake is run.

$ pwd
/tmp/automake
$ ./configure
[...]
$ make automake
cd .  /tmp/automake/aclocal --acdir=m4
cd .  /tmp/automake/automake --amdir=. --gnits Makefile
^^
cd .  /bin/sh /tmp/automake/missing --run autoconf
[...]
$ make dist
make: *** No rule to make target `@CONFIGURE_AC@', needed by `stamp-vti'.  Stop.
$





Re: Support for configure.ac

2001-01-18 Thread Akim Demaille


|  Yes, indeed.  But I just switched me brains on, and understood.
|  
|  Sure you have the new .am files, but since the Makefile want to update
|  the Makefiles first, you run an old automake which does not, indeed,
|  substitute @CONFIGURE_AC@.  So find a means, but you have to `make
|  automake' before making the Makefiles.  On your system automake.in is
|  new, but not automake yet.
| 
|  At no time an old copy of automake is run.

You don't seem to understand.  Make a

diff automake.in automake

and I think you'll see what I mean.




Re: unquote-am_config_header.patch

2001-01-18 Thread Lars J. Aas

On Thu, Jan 18, 2001 at 09:35:44AM +0100, Alexandre Duret-Lutz wrote:
: Hi,
: 
: I'm afraid this
: 
:   AM_CONFIG_HEADER([config.h])
: 
: leads to
: 
:   configure.in: 3: required file `./[config.h].in' not found

You will also find that

  AC_CONFIG_AUX_DIR([cfg])

won't fly according to automake...

  Lars J
-- 
Innovation is one percent inspiration and ninetynine percent perspiration,
and in my case; twice that...  -- Norville Barnes, `The Hudsucker Proxy'




Re: Support for configure.ac

2001-01-18 Thread Lars Hecking


 |  At no time an old copy of automake is run.
 
 You don't seem to understand.  Make a
 
 diff automake.in automake
 
 and I think you'll see what I mean.

% grep @CONFIGURE_AC@ Makefile.in 
$(srcdir)/stamp-vti: automake.texi $(top_srcdir)/@CONFIGURE_AC@
%

 If autoconf, not automake is responsible for substituting @CONFIGURE_AC@
 in the Makefile, then this simply doesn't work with autoconf-2.13, only
 with autoconf-cvs.





Re: Support for configure.ac

2001-01-18 Thread Akim Demaille


|  |  At no time an old copy of automake is run.
|  
|  You don't seem to understand.  Make a
|  
|  diff automake.in automake
|  
|  and I think you'll see what I mean.
| 
| % grep @CONFIGURE_AC@ Makefile.in 
| $(srcdir)/stamp-vti: automake.texi $(top_srcdir)/@CONFIGURE_AC@
| %
| 
|  If autoconf, not automake is responsible for substituting @CONFIGURE_AC@
|  in the Makefile, then this simply doesn't work with autoconf-2.13, only
|  with autoconf-cvs.

Could you please run

diff automake.in automake

and see if it helps you understanding what I'm trying to say?  I agree
I'm not clear, and I believe the diff will be much clearer than I am.




Re: Support for configure.ac

2001-01-18 Thread Akim Demaille


$ diff -u automake.in automake
--- automake.in Wed Jan 17 06:30:29 2001
+++ automakeThu Jan 18 13:46:25 2001

According to the headers of your mails, somehow, automake finally got
created (the last failure you presented was at X-From-Line:
[EMAIL PROTECTED] Thu Jan 18 13:06:26 2001).  So, if indeed you have:

~/src/am % grep CONFIGURE_AC automake
local ($xform) = transform ("CONFIGURE_AC" = $configure_ac);
$xform = transform ('CONFIGURE_AC'   = $configure_ac,

then *now* `make' should work.




Re: Support for configure.ac

2001-01-18 Thread Lars Hecking


 According to the headers of your mails, somehow, automake finally got
 created (the last failure you presented was at X-From-Line:
 [EMAIL PROTECTED] Thu Jan 18 13:06:26 2001).  So, if indeed you have:
 
 In all cases I posted, automake _did_ get created.

 ~/src/am % grep CONFIGURE_AC automake
 local ($xform) = transform ("CONFIGURE_AC" = $configure_ac);
 $xform = transform ('CONFIGURE_AC'   = $configure_ac,
 
 then *now* `make' should work.

 I have that, but it still doesn't work. My idea is that this new feature
 in automake is not compatible with released versions of autoconf. If it
 were, it should show up in config.status.

$ grep CONFIGURE_AC config.status
$





Re: Support for configure.ac

2001-01-18 Thread Akim Demaille

 "Lars" == Lars Hecking [EMAIL PROTECTED] writes:

Lars I have that, but it still doesn't work. 

What did you type?  How did it fail?  Do your Makefile.in still have
the @CONFIGURE_AC@ stuff?  If so, run `touch *.am; make'.

Lars My idea is that this new feature in automake is not compatible
Lars with released versions of autoconf. If it were, it should show
Lars up in config.status.

Lars $ grep CONFIGURE_AC config.status $

No, @CONFIGURE_AC@ is handled by automake, not related to configure or
autoconf in anyway.




Re: Support for configure.ac

2001-01-18 Thread Lars Hecking

Akim Demaille writes:
  "Lars" == Lars Hecking [EMAIL PROTECTED] writes:
 
 Lars I have that, but it still doesn't work. 
 
 What did you type?  How did it fail?  Do your Makefile.in still have
 the @CONFIGURE_AC@ stuff?  If so, run `touch *.am; make'.
 
$ touch *.am
$ make
cd .  /tmp/automake/automake --amdir=. --gnits Makefile
cd . \
   CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status
creating Makefile
Making all in .
make[1]: Entering directory `/tmp/automake'
make[1]: *** No rule to make target `@CONFIGURE_AC@', needed by `stamp-vti'.  Stop.
make[1]: Leaving directory `/tmp/automake'
make: *** [all-recursive] Error 1
$ grep CONFIGURE_AC automake
local ($xform) = transform ("CONFIGURE_AC" = $configure_ac);
$xform = transform ('CONFIGURE_AC'   = $configure_ac,

 No, @CONFIGURE_AC@ is handled by automake,

 Apparently not, at least in my case :-(

 Makefile.in from automake-cvs does not contain @CONFIGURE_AC@, but the
 one created here by automake-cvs does.





Re: Support for configure.ac

2001-01-18 Thread Raja R Harinath

Lars Hecking [EMAIL PROTECTED] writes:
  |  At no time an old copy of automake is run.
  
  You don't seem to understand.  Make a
  
  diff automake.in automake
  
  and I think you'll see what I mean.
 
 % grep @CONFIGURE_AC@ Makefile.in 
 $(srcdir)/stamp-vti: automake.texi $(top_srcdir)/@CONFIGURE_AC@
 %
 
  If autoconf, not automake is responsible for substituting @CONFIGURE_AC@
  in the Makefile, then this simply doesn't work with autoconf-2.13, only
  with autoconf-cvs.

I see this even with an installed automake.  It appears that
'texi-vers.am' doesn't have the CONFIGURE_AC transform before being
inserted into Makefile.in.  From automake.in, in handle_texinfo,
around line 2277

$output_rules .=
file_contents_with_transform
('s/\@TEXI\@/' . $info_cursor . '/g; '
 . 's/\@VTI\@/' . $vti . '/g; '
 . 's/\@VTEXI\@/' . $vtexi . '/g;'
 . 's,\@MDDIR\@,' . $conf_pat . ',g;',
 'texi-vers');

Note the lack of the @CONFIGURE_AC@ transform.

- Hari
-- 
Raja R Harinath -- [EMAIL PROTECTED]
"When all else fails, read the instructions."  -- Cahn's Axiom
"Our policy is, when in doubt, do the right thing."   -- Roy L Ash




Re: Support for configure.ac

2001-01-18 Thread Lars Hecking

Akim Demaille writes:
 ~/src/am % perl --versionnostromo 17:58
 
 This is perl, v5.6.0 built for i386-linux
[...] 
 What do you have?

 Tried both  5.005_03 and 5.6.0 built for sun4-solaris. It makes no difference.





Re: Support for configure.ac

2001-01-18 Thread Akim Demaille


| I see this even with an installed automake.  It appears that
| 'texi-vers.am' doesn't have the CONFIGURE_AC transform before being
| inserted into Makefile.in.  From automake.in, in handle_texinfo,
| around line 2277
| 
| $output_rules .=
| file_contents_with_transform
| ('s/\@TEXI\@/' . $info_cursor . '/g; '
|  . 's/\@VTI\@/' . $vti . '/g; '
|  . 's/\@VTEXI\@/' . $vtexi . '/g;'
|  . 's,\@MDDIR\@,' . $conf_pat . ',g;',
|  'texi-vers');
| 
| Note the lack of the @CONFIGURE_AC@ transform.

Aaarg!  Thank you so much!

But how come I don't have this failure?

~/src/am % touch **/Makefile.am  nostromo 18:07
~/src/am % make  nostromo 18:08
cd .  /home/lrde/prof/akim/src/am/automake --amdir=. --gnits Makefile
cd . \
   CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status
creating Makefile
Making all in .
make[1]: Entre dans le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am'
make[1]: *** Pas de rgle pour fabriquer la cible `@CONFIGURE_AC@', ncessaire pour 
`stamp-vti'. Arrt.
make[1]: Quitte le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am'
make: *** [all-recursive] Erreur 1

Now I have it.  Sorry Lars...  The test suite did not see anything...
I'm fixing this.




Re: Support for configure.ac

2001-01-18 Thread Akim Demaille


Once the `make check' finished, I'll check this in:

Index: ChangeLog
from  Akim Demaille  [EMAIL PROTECTED]

* automake.in (handle_texinfo): Use transform, and transform
CONFIGURE_AC.
Reported by Lars Hecking, and diagnosed by Raja R Harinath.

Index: automake.in
===
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.818
diff -u -u -r1.818 automake.in
--- automake.in 2001/01/16 13:31:54 1.818
+++ automake.in 2001/01/18 17:15:57
@@ -2276,10 +2276,11 @@
($conf_pat = $conf_dir) =~ s/(\W)/\\$1/g;
$output_rules .=
file_contents_with_transform
-   ('s/\@TEXI\@/' . $info_cursor . '/g; '
-. 's/\@VTI\@/' . $vti . '/g; '
-. 's/\@VTEXI\@/' . $vtexi . '/g;'
-. 's,\@MDDIR\@,' . $conf_pat . ',g;',
+   (transform ('TEXI' = $info_cursor,
+'VTI'  = $vti,
+'VTEXI'= $vtexi,
+'MDDIR'= $conf_pat,
+'CONFIGURE_AC' = $configure_ac),
 'texi-vers');
 
push_phony_cleaners ($vti);
@@ -3325,7 +3326,7 @@
 }
 else
 {
-local ($xform) = transform ("CONFIGURE_AC" = $configure_ac);
+local ($xform) = transform ('CONFIGURE_AC' = $configure_ac);
handle_aclocal_m4;
$output_rules .= file_contents_with_transform ($xform,
'remake');

Lars, thanks for your perseverance, and Raja, thanks for helping me.
I think it's time I stop.

PS: After this patch:

~/src/am % touch Makefile.am nostromo 18:15
~/src/am % make  nostromo 18:15
cd .  /home/lrde/prof/akim/src/am/automake --amdir=. --gnits Makefile
cd . \
   CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status
creating Makefile
Making all in .
make[1]: Entre dans le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am'
make[1]: Rien  faire pour `all-am'.
make[1]: Quitte le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am'
Making all in m4
make[1]: Entre dans le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/m4'
make[1]: Rien  faire pour `all'.
make[1]: Quitte le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/m4'
Making all in tests
make[1]: Entre dans le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/tests'
make[1]: Rien  faire pour `all'.
make[1]: Quitte le rpertoire `/mnt/nostromo/home/lrde/prof/akim/src/am/tests'




Re: Support for configure.ac

2001-01-18 Thread Lars Hecking


[...]
 Now I have it.  Sorry Lars...  The test suite did not see anything...
 I'm fixing this.

 I have added

 . 's/\@VTEXI\@/' . $vtexi . '/g;'
+. 's/\@CONFIGURE_AC\@/' . $configure_ac . '/g;'
 . 's,\@MDDIR\@,' . $conf_pat . ',g;',

 and it works now!

 Thanks Raja and Akim.





Re: make install-strip in cross-compilation environments

2001-01-18 Thread Tom Tromey

Alexandre We could surely adjust install-sh so as to take a STRIP
Alexandre variable into account, and set INSTALL_STRIP (a new
Alexandre variable, set to the same as `$(INSTALL)' if not
Alexandre cross-compiling, or to `STRIP=toolchain-strip
Alexandre $(CONFIG_SHELL) /path/to/install-sh' otherwise) in the
Alexandre configure script.

install-sh already supports STRIPPROG.
The problem arises when using the vendor (even GNU) install.

Tom




Re: make install-strip in cross-compilation environments

2001-01-18 Thread Alexandre Oliva

On Jan 18, 2001, Tom Tromey [EMAIL PROTECTED] wrote:

Alexandre We could surely adjust install-sh so as to take a STRIP
Alexandre variable into account, and set INSTALL_STRIP (a new
Alexandre variable, set to the same as `$(INSTALL)' if not
Alexandre cross-compiling, or to `STRIP=toolchain-strip
Alexandre $(CONFIG_SHELL) /path/to/install-sh' otherwise) in the
Alexandre configure script.

 install-sh already supports STRIPPROG.
 The problem arises when using the vendor (even GNU) install.

Even better!  Then we can just arrange for INSTALL_STRIP to set
STRIPPROG and use install-sh for cross install-strip.  install-strip
would pass INSTALL=$(INSTALL_STRIP) to the sub-make, where
INSTALL_STRIP would be set by configure as needed for cross builds.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicampoliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist*Please* write to mailing lists, not to me




More an autopackage

2001-01-18 Thread Geoffrey Wossum

Hi again,

I want to work on the unified front-end to native packaging systems like I
posted before, but the bossman doesn't want to wait until that's useable.
So the autopackage front-end is going to be YASP (yet another side
project) for me.

Anyway, here's some of my thoughts about it:
1) written in Python 

2) At first, it'll just be a unified front-end to rpm and dpkg and
friends.  Then, some of the more difficult issues that have been brought
up will be tackled, such as package dependencies and automagically
deciding the right files and locations for platforms.

3) I think the interface to it will be a file specifying the requirements
for the package.  Files to include, where to install them, pre and post
install scripts, etc.  At first, developers just write this file by hand.
Even this is a great improvement.  Then, automake gets modified to be able
to automatically create this spec file.  (Is this a good idea?)

4) Is autopackage a good name?

5) I'm really a software developer, not a packaging guy.  That's why this
seems like such a good idea.  I want to write code, not mess with
packaging systems.  But, I really don't know that much about packaging.
So I'll probably need some help with the packaging details.

6) When I get going with Actual Code (TM)  (within a couple of weeks),
I'll setup a project on sourceforge for this.

And finally, thanks to everyone who responded to my initial post.

---
Geoffrey Wossum
[EMAIL PROTECTED]




Re: OS-sympathetic installation

2001-01-18 Thread Geoffrey Wossum

David,

 But there seems to be one vital missing component.  Way back in the olden
 days, we needed "make install" to put the product into its final
 location(s).  But these days, many operating systems have their own
 package-management mechanisms (the word "package" is here overloaded!). 
 My own experience is with the Solaris pkgadd/pkgrm family of commands, but
 other Oses have other things such as "RPM" etc.

You're right, it is missing right now.

 Has any thought been given to this idea?

Yes.  And I plan to do something about it.  I plan to start on a unified
front end to all the packaging systems within a couple of weeks.  Then
automake can use this front-end to create packages.  Later on, more
advanced stuff will be done with it, such as automagically figuring out
package dependencies and such.

There's been several posts concering this type of stuff in the past week
(check the archive), and I just posted my plans about 5 minutes ago.

---
Geoffrey Wossum
[EMAIL PROTECTED]




Re: More an autopackage

2001-01-18 Thread David Lee

On Thu, 18 Jan 2001, Geoffrey Wossum wrote:

 I want to work on the unified front-end to native packaging systems like I
 posted before, but the bossman doesn't want to wait until that's useable.
 So the autopackage front-end is going to be YASP (yet another side
 project) for me.
 
 Anyway, here's some of my thoughts about it:
 1) written in Python 

Wouldn't Perl5 be a more widely acceptable choice?  Considerably so? 
(Indeed, isn't automake already in Perl?  Why choose something different? 
Especially when that something is considerably less widely installed?) 

 5) I'm really a software developer, not a packaging guy.  That's why this
 seems like such a good idea.  I want to write code, not mess with
 packaging systems.  But, I really don't know that much about packaging.
 So I'll probably need some help with the packaging details.
 
 6) When I get going with Actual Code (TM)  (within a couple of weeks),
 I'll setup a project on sourceforge for this.

No promises.  But I could try to have a quick look at Solaris pkgadd/pkgrm
issues once you have got started. 

-- 

:  David LeeI.T. Service  :
:  Systems Programmer   Computer Centre   :
:   University of Durham  :
:  http://www.dur.ac.uk/t.d.lee/South Road:
:   Durham:
:  Phone: +44 191 374 2882  U.K.  :





Re: More an autopackage

2001-01-18 Thread Alexandre Oliva

On Jan 18, 2001, David Lee [EMAIL PROTECTED] wrote:

 On Thu, 18 Jan 2001, Geoffrey Wossum wrote:

 1) written in Python 

 Wouldn't Perl5 be a more widely acceptable choice?  Considerably so? 
 (Indeed, isn't automake already in Perl?  Why choose something different? 
 Especially when that something is considerably less widely installed?) 

Because Perl is almost unreadable and Python is a very nice language?

 6) When I get going with Actual Code (TM)  (within a couple of weeks),
 I'll setup a project on sourceforge for this.

 No promises.  But I could try to have a quick look at Solaris pkgadd/pkgrm
 issues once you have got started. 

One may find a lot about packaging for native systems in the Samba CVS
tree.  See www.samba.org.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicampoliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist*Please* write to mailing lists, not to me




Re: More an autopackage

2001-01-18 Thread Rusty Ballinger

  Wouldn't Perl5 be a more widely acceptable choice?  Considerably so?
  (Indeed, isn't automake already in Perl?  Why choose something different?
  Especially when that something is considerably less widely installed?)

 Because Perl is almost unreadable and Python is a very nice language?

No GNU build tool can be written in a language already used by another tool.
Since people already have to know sh, m4, and makefile syntax to use
autoconf  automake, those three are out, and Perl is out because automake
used it.  autoILOVEYOU, the GNU viral installer, is written in Visual BASIC
and Microsoft Word macros, so autopackage is left with Python.

(Perl seems readable enough for automake...)

--Rusty




Re: More an autopackage

2001-01-18 Thread Geoffrey Wossum

  Anyway, here's some of my thoughts about it:
  1) written in Python 
 
 Wouldn't Perl5 be a more widely acceptable choice?  Considerably so? 
 (Indeed, isn't automake already in Perl?  Why choose something different? 
 Especially when that something is considerably less widely installed?) 

I originally considered Perl5, basically because automake is in Perl
(Perl4 to be precise).  But this project screams object-oriented, and
Perl's OO support is pretty kludgy.  I think Larry Wall even says that in
Programming Perl.  Python's OOP support is much better.  Passing self to
every method is kindof kludgy, but overall it's much better than Perl's
OO.

I've never written a large project in Python, but I have in Perl.  Another
reason I would choose Python ;)  In the same vein, I have noticed a shift
in the community's preferred scripting language away from Perl towards
Python.  This said, I would still probably choose Perl over Python for a
quick and dirty script.

If someone wants to contribute code to the project, but don't know the
implementation language, Python is much easier to learn than Perl.  I know
a large number of programming languages.  C, C++, Java, Visual Basic, 
Perl, Python, LISP, Scheme, Tcl, Fortran, S370/68k/x86/PIC ASM... most
languages that have enjoyed significant popularity except for COBOL.  And
Perl was by far the most difficult to learn.

The install base is an important issue.  My Solaris, Tru64, and Irix boxes
have Perl, but not Python.  But they didn't come with Perl out of the
box, somebody had to install Perl.  So I don't think also installing
Python is that big of a deal.  And all modern Linux distros include Perl
and Python out of the box.

 No promises.  But I could try to have a quick look at Solaris pkgadd/pkgrm
 issues once you have got started. 

Thanks.

---
Geoffrey Wossum
[EMAIL PROTECTED]






Re: More an autopackage

2001-01-18 Thread Bob Friesenhahn

On Thu, 18 Jan 2001, Geoffrey Wossum wrote:

   Anyway, here's some of my thoughts about it:
   1) written in Python 
  
  Wouldn't Perl5 be a more widely acceptable choice?  Considerably so? 
  (Indeed, isn't automake already in Perl?  Why choose something different? 
  Especially when that something is considerably less widely installed?) 
 
 I originally considered Perl5, basically because automake is in Perl

Aren't we supposed to use GNU guile for all FSF-supported script-based
tools? In fact, isn't Automake itself intended to be eventually
re-written in guile?

If you don't like the current languages that guile supports, you can
always write a Python implementation that runs under guile (as they
did for Tcl) and implement using Python syntax.

Ducking and running ...

Bob
==
Bob Friesenhahn
[EMAIL PROTECTED]
http://www.simplesystems.org/users/bfriesen





Re: Support for configure.ac

2001-01-18 Thread Tom Tromey

 "Akim" == Akim Demaille [EMAIL PROTECTED] writes:

Akim Once the `make check' finished, I'll check this in:

Did the bug affect any of the existing test cases?
If not I generally add a new test.

Tom




Re: More an autopackage

2001-01-18 Thread Tom Tromey

 "Bob" == Bob Friesenhahn [EMAIL PROTECTED] writes:

Bob Aren't we supposed to use GNU guile for all FSF-supported
Bob script-based tools? In fact, isn't Automake itself intended to be
Bob eventually re-written in guile?

Yes, that is the intent.  I doubt I'll be doing the work though.

Tom




Re: More an autopackage

2001-01-18 Thread Tom Tromey

 "Geoffrey" == Geoffrey Wossum [EMAIL PROTECTED] writes:

Geoffrey Anyway, here's some of my thoughts about it:
Geoffrey 1) written in Python 

The required language flame war has already started.  However I think
the implementation language is the least important thing.  The
important thing is getting the design right; then it can be expressed
in any decent language.

Geoffrey 3) I think the interface to it will be a file specifying the
Geoffrey requirements for the package.  Files to include, where to
Geoffrey install them, pre and post install scripts, etc.  At first,
Geoffrey developers just write this file by hand.  Even this is a
Geoffrey great improvement.  Then, automake gets modified to be able
Geoffrey to automatically create this spec file.  (Is this a good
Geoffrey idea?)

Automake can't create all of the spec file.  It doesn't have enough
information.  And, adding the information to Makefile.am does not make
sense (because it is global to a package, which Makefile.am really
isn't).

Also, generating a list of files is not enough.  You also need pre-
and post- install and uninstall commands.

One way to get these is the *_INSTALL variables, which I talked about
earlier.

Another important consideration, I think, is designing the interface
that represents the back end.  Doing this correctly will allow for
plugging in various different back ends.  There are probably 6 or 7
package implementations these days...

Geoffrey 4) Is autopackage a good name?

Yes.

Geoffrey So I'll probably need some help with the packaging details.

There's lot of reading in your future...

Tom




Re: More an autopackage

2001-01-18 Thread Ganesan Rajagopal


Has anybody looked at (epm) Easy Package Manager (http://www.easysw.com/epm/?
From the FAQ:

--

It is a simple tool that generates software and patch distributions in
various formats, including:

ATT Software Packages ("pkg"), used by Solaris.
Debian Package Manager ("dpkg")
HP-UX Software Packages ("swinstall" or "depot")
IRIX Software Manager ("inst" or "tardist")
Portable (installation and removal scripts with tar files)
Red Hat Package Manager ("RPM")

--

You provide a list file and epm can generate different packages based on
that. EPM is under GPL. Would it make sense for automake or autopackage to
generate epm list files instead of rpm or dpkg specific scripts?

Ganesan


-- 
R. Ganesan ([EMAIL PROTECTED])   | Ph: 91-80-5721856 Ext: 2149
Novell India Development Center.   | #include std_disclaimer.h