public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* cyginstall - /etc/setup/$pkg.lst.gz content
@ 2008-07-04 16:24 Reini Urban
  2008-07-04 17:20 ` Christopher Faylor
  0 siblings, 1 reply; 8+ messages in thread
From: Reini Urban @ 2008-07-04 16:24 UTC (permalink / raw)
  To: CygWin-Apps

I'm just writing a cmdline tool in perl for faster setup for the 
power-user. It's named cyginstall and has the usual rpm options
and the smart features. It can not bootstrap a fresh cygwin install of 
course, as it requires cygwin perl bash gzip coreutils tar.

Problem:
/etc/setup/$pkg.lst.gz contains dirs also, as with
`tar xfvj $tar | gzip -c /etc/setup/$pkg.lst.gz`

I can handle that, but I wonder if I should just write the existing 
files and symlinks, not the dirs, so that the uninstall somewhen in the 
future is simplier and setup has less to do.
i.e.
install:
     /usr/bin/tar xvfj $tar -C / |\
       perl -ne'chomp; print "$_\n" if -f "/$_"' |\
       gzip -c > /etc/setup/$name.lst.gz
     test -e /etc/postinstall/$name.sh && \
       (. /etc/postinstall/$name.sh;
        mv /etc/postinstall/$name.sh /etc/postinstall/$name.sh.done)

Grossly simplified, without no lock handling, installed.db update and 
all the rest.

uninstall:
   test -e /etc/preremove/$name.sh && \
     (. /etc/preremove/$name.sh;
      mv /etc/preremove/$name.sh /etc/preremove/$name.sh.done)

   for f in `zcat /etc/setup/$name.lst.gz`; do
     test -f "/\$f" && rm "/\$f"
   done
=>
   pushd /
   rm `zcat /etc/setup/$pkg.lst.gz` 2>/dev/null
   popd

Can existing setup handle those /etc/setup/$pkg.lst.gz without dirs also?
I want to stay completely compatible with the existing setup database.

In work: http://rurban.xarch.at/software/cygwin/cyginstall
Usage sample: install all cygports gtk2 packages

$ cd /usr/src/down/ftp%3a%2f%2fsunsite.dk%2fprojects%2fcygwinports
$ find -name \*gtk2\*.tar.bz2 -a ! -path \*/_obsolete/\*  |\
   xargs cyginstall -U --test

I haven't coded the dependency resolution, downloading and mirror 
handling yet.
-- 
Reini Urban
http://phpwiki.org/  http://murbreak.at/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cyginstall - /etc/setup/$pkg.lst.gz content
  2008-07-04 16:24 cyginstall - /etc/setup/$pkg.lst.gz content Reini Urban
@ 2008-07-04 17:20 ` Christopher Faylor
  2008-07-04 17:43   ` Reini Urban
  0 siblings, 1 reply; 8+ messages in thread
From: Christopher Faylor @ 2008-07-04 17:20 UTC (permalink / raw)
  To: cygwin-apps

On Fri, Jul 04, 2008 at 06:22:50PM +0200, Reini Urban wrote:
> I'm just writing a cmdline tool in perl for faster setup for the 
> power-user. It's named cyginstall and has the usual rpm options
> and the smart features. It can not bootstrap a fresh cygwin install of 
> course, as it requires cygwin perl bash gzip coreutils tar.

I actually wrote one of these years ago.  It's checked in here:

http://sources.redhat.com/cgi-bin/cvsweb.cgi/cygupdate/?cvsroot=cygwin-apps

It is fairly full-featured, I think.  I don't remember if the dependency
handling works right or not.  I think it can install cygwin but not
perl.

I use it to install packages when I'm about to release so I know it at
least kinda works.

It may have problems with cygwin-1.7.0 since it has no logic for finding
the cygwin root.

I have never released this because I didn't want to deal with the
support issues but if someone else wants to take it over, I'd be happy
to relinquish it.

cgf

cygupdate --help
usage: cygupdate.pl [--opt]
    --all             update everything
    --action          specify action (internet, local, download)
    --category        specify comma separated list of categories
    --curr            use current versions of cygwin packages
    --dryrun          just show what's out-of-date
    --etc             specify etc directory
    --exp             use experimental versions of cygwin packages, if possible
    --force           force operation
    --from            specify site to download from
    --help            print this text
    --installed_db    specify installed.db file path
    --interactive     ask before each step
    --mirrordir       use a directory per mirror like setup.exe
    --[no]deps        ignore dependencies
    --packagedir      specify a directory to put/retrieve packages
    --[no]postinstall do [not] run postinstall scripts
    --[no]preremove   do [not] run preremove scripts
    --[no]requires    do [not] honor dependency information
    --root            specify root directory
    --setup           specify /etc/setup directory
    --test            use experimental versions of cygwin packages, if possible
    --verbose         be verbose

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cyginstall - /etc/setup/$pkg.lst.gz content
  2008-07-04 17:20 ` Christopher Faylor
@ 2008-07-04 17:43   ` Reini Urban
  2008-07-04 18:05     ` Christopher Faylor
  2008-08-15 18:51     ` Nathan Thern
  0 siblings, 2 replies; 8+ messages in thread
From: Reini Urban @ 2008-07-04 17:43 UTC (permalink / raw)
  To: cygwin-apps

Christopher Faylor schrieb:
> On Fri, Jul 04, 2008 at 06:22:50PM +0200, Reini Urban wrote:
>> I'm just writing a cmdline tool in perl for faster setup for the 
>> power-user. It's named cyginstall and has the usual rpm options
>> and the smart features. It can not bootstrap a fresh cygwin install of 
>> course, as it requires cygwin perl bash gzip coreutils tar.
> 
> I actually wrote one of these years ago.  It's checked in here:
> 
> http://sources.redhat.com/cgi-bin/cvsweb.cgi/cygupdate/?cvsroot=cygwin-apps

For completeness:
Just the two modules Cygwin::Setup and Cygwin::Setup::ByDir are missing.
But I have them somewhere from upset. But upset is no more, there's 
genini now.

BTW: Just for those modules we renamed the perl archlib recently
to i686-cygwin. So we will have no nameclash in the future.

> It is fairly full-featured, I think.  I don't remember if the dependency
> handling works right or not.  I think it can install cygwin but not
> perl.

Even the interactive prompt is there.

> I use it to install packages when I'm about to release so I know it at
> least kinda works.
> 
> It may have problems with cygwin-1.7.0 since it has no logic for finding
> the cygwin root.
> 
> I have never released this because I didn't want to deal with the
> support issues but if someone else wants to take it over, I'd be happy
> to relinquish it.

Hmm. I'll check if I like it or if I like mine more. :)
-- 
Reini Urban
http://phpwiki.org/  http://murbreak.at/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cyginstall - /etc/setup/$pkg.lst.gz content
  2008-07-04 17:43   ` Reini Urban
@ 2008-07-04 18:05     ` Christopher Faylor
  2008-08-15 18:51     ` Nathan Thern
  1 sibling, 0 replies; 8+ messages in thread
From: Christopher Faylor @ 2008-07-04 18:05 UTC (permalink / raw)
  To: cygwin-apps

On Fri, Jul 04, 2008 at 07:42:08PM +0200, Reini Urban wrote:
> Christopher Faylor schrieb:
>> On Fri, Jul 04, 2008 at 06:22:50PM +0200, Reini Urban wrote:
>>> I'm just writing a cmdline tool in perl for faster setup for the 
>>> power-user. It's named cyginstall and has the usual rpm options
>>> and the smart features. It can not bootstrap a fresh cygwin install of 
>>> course, as it requires cygwin perl bash gzip coreutils tar.
>> I actually wrote one of these years ago.  It's checked in here:
>> http://sources.redhat.com/cgi-bin/cvsweb.cgi/cygupdate/?cvsroot=cygwin-apps
>
> For completeness:
> Just the two modules Cygwin::Setup and Cygwin::Setup::ByDir are missing.
> But I have them somewhere from upset. But upset is no more, there's genini 
> now.
>
> BTW: Just for those modules we renamed the perl archlib recently
> to i686-cygwin. So we will have no nameclash in the future.
>
>> It is fairly full-featured, I think.  I don't remember if the dependency
>> handling works right or not.  I think it can install cygwin but not
>> perl.
>
> Even the interactive prompt is there.
>
>> I use it to install packages when I'm about to release so I know it at
>> least kinda works.
>> It may have problems with cygwin-1.7.0 since it has no logic for finding
>> the cygwin root.
>> I have never released this because I didn't want to deal with the
>> support issues but if someone else wants to take it over, I'd be happy
>> to relinquish it.
>
> Hmm. I'll check if I like it or if I like mine more. :)

I just checked in what I had sitting around in my sandbox.

Feel free to cannabilize this, if you want.  I barely touch it these
days.

cgf

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cyginstall - /etc/setup/$pkg.lst.gz content
  2008-07-04 17:43   ` Reini Urban
  2008-07-04 18:05     ` Christopher Faylor
@ 2008-08-15 18:51     ` Nathan Thern
  2008-08-16  9:04       ` Reini Urban
  2008-08-16 13:37       ` Dave Korn
  1 sibling, 2 replies; 8+ messages in thread
From: Nathan Thern @ 2008-08-15 18:51 UTC (permalink / raw)
  To: cygwin-apps

On Fri, Jul 4, 2008 at 12:42 PM, Reini Urban <rurban@x-ray.at> wrote:
> Christopher Faylor schrieb:
>> On Fri, Jul 04, 2008 at 06:22:50PM +0200, Reini Urban wrote:
>>> I'm just writing a cmdline tool in perl for faster setup for the
>>> power-user. It's named cyginstall and has the usual rpm options
>> I actually wrote one of these years ago.  It's checked in here:
> Hmm. I'll check if I like it or if I like mine more. :)

Have you made any more progress? setup.exe has always been problematic
for me, as I regularly use 3 distinct repos: the official one, cygwin
ports, and mine. The newest setup.exe is giving me fits, and I think
it's time to grab either your or Chris' script and start hacking
something that does updates the way I want them done.

regards,
NT

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cyginstall - /etc/setup/$pkg.lst.gz content
  2008-08-15 18:51     ` Nathan Thern
@ 2008-08-16  9:04       ` Reini Urban
  2008-08-16 13:37       ` Dave Korn
  1 sibling, 0 replies; 8+ messages in thread
From: Reini Urban @ 2008-08-16  9:04 UTC (permalink / raw)
  To: cygwin-apps

Nathan Thern schrieb:
> On Fri, Jul 4, 2008 at 12:42 PM, Reini Urban <rurban@x-ray.at> wrote:
>> Christopher Faylor schrieb:
>>> On Fri, Jul 04, 2008 at 06:22:50PM +0200, Reini Urban wrote:
>>>> I'm just writing a cmdline tool in perl for faster setup for the
>>>> power-user. It's named cyginstall and has the usual rpm options
>>> I actually wrote one of these years ago.  It's checked in here:
>> Hmm. I'll check if I like it or if I like mine more. :)
> 
> Have you made any more progress? setup.exe has always been problematic
> for me, as I regularly use 3 distinct repos: the official one, cygwin
> ports, and mine. The newest setup.exe is giving me fits, and I think
> it's time to grab either your or Chris' script and start hacking
> something that does updates the way I want them done.

Chris' simplier cygupdate works fine.

Mine is a bit more complicated and I'm still working on the dependency 
logic like setup.exe. I've put it to my svn repo at
http://code.google.com/p/cygwin-rurban/source/browse/trunk/contrib/cyginstall/cyginstall

See http://code.google.com/p/cygwin-rurban/source/checkout
Patches appreciated.
-- 
Reini Urban
http://phpwiki.org/  http://murbreak.at/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: cyginstall - /etc/setup/$pkg.lst.gz content
  2008-08-15 18:51     ` Nathan Thern
  2008-08-16  9:04       ` Reini Urban
@ 2008-08-16 13:37       ` Dave Korn
  2008-08-18 14:58         ` Nathan Thern
  1 sibling, 1 reply; 8+ messages in thread
From: Dave Korn @ 2008-08-16 13:37 UTC (permalink / raw)
  To: cygwin-apps

Nathan Thern wrote on 15 August 2008 19:51:

>  The newest setup.exe is giving me fits, 

  :-/  There's not a lot we can do with bug reports like that.  If you give
more details, we will try and address it.


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cyginstall - /etc/setup/$pkg.lst.gz content
  2008-08-16 13:37       ` Dave Korn
@ 2008-08-18 14:58         ` Nathan Thern
  0 siblings, 0 replies; 8+ messages in thread
From: Nathan Thern @ 2008-08-18 14:58 UTC (permalink / raw)
  To: cygwin-apps

On Sat, Aug 16, 2008 at 8:37 AM, Dave Korn <dave.korn@artimi.com> wrote:
> Nathan Thern wrote on 15 August 2008 19:51:
>
>>  The newest setup.exe is giving me fits,
>
>  :-/  There's not a lot we can do with bug reports like that.  If you give
> more details, we will try and address it.
>
>    cheers,
>      DaveK

Yeah, sorry... not trying to dis on anyone. I'm just not able to track
down the source of my problem right now.

I use a lot of packages off of cygwin-ports, including most of the
stuff that has higher version numbers than the official packages do.
"less" is a good example. When I update off the official repo, many of
my packages from ports disappear (as in uninstalled - the files are
gone & they don't show up in cygcheck). It doesn't happen to all the
ports packages I have that also exist in the official repo, so I think
it has something to do with dependency processing. That's all I have
right now.

At this time what I'm doing to make things work for me is copying the
package files I need into my own local repo directory and running
genini there. I think the existing setup.exe is fine for folks who
only use the official repo, but what I need is a tool that gives me a
lot more control over which packages I install, and from where. Hence
my inquiry to Reini. I think if a few of us collaborate to create a
power tool that complements setup.exe and follows its lead but offers
significantly more fine-tuned controllability and scriptability at the
expense of user-friendliness, the cygwin community as a whole will
benefit. For one example, see
http://www.cygwin.com/ml/cygwin/2008-07/msg00113.html

regards,
NT

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-08-18 14:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-04 16:24 cyginstall - /etc/setup/$pkg.lst.gz content Reini Urban
2008-07-04 17:20 ` Christopher Faylor
2008-07-04 17:43   ` Reini Urban
2008-07-04 18:05     ` Christopher Faylor
2008-08-15 18:51     ` Nathan Thern
2008-08-16  9:04       ` Reini Urban
2008-08-16 13:37       ` Dave Korn
2008-08-18 14:58         ` Nathan Thern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).