public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Achim Gratz <Stromeko@nexgo.de>
To: cygwin-apps@cygwin.com
Subject: Re: [PATCH 1/4] setup.exe
Date: Thu, 14 Feb 2013 20:31:00 -0000	[thread overview]
Message-ID: <87hale1vuk.fsf@Rainer.invalid> (raw)
In-Reply-To: <20130213220849.GA3922@ednor.casa.cgf.cx> (Christopher Faylor's	message of "Wed, 13 Feb 2013 17:08:49 -0500")

Christopher Faylor writes:
> There is no need for setup.exe to add anything to a requires list due
> to autodep.

It needs to ensure that the package providing the script is installed,
which means installation, updating or doing nothing; depending on what
state the installation is in.  In terms of setup.ini this is "adding to
the requires list", in terms of setup.exe this list has been absorbed
into the package_db state at that point already.

> We have at least two specific needs for for the ability to run a script
> when certain files are installed: .info files and dlls.
>
> Just to reiterate what I'm asking for (which I think is converging on
> what you are saying):

I think so, too.

> Whenever setup sees a file which matches pattern X being installed, flag
> that we have to run program Y before running postinstall scripts.  Then
> when everything has been installed run all program Y's.  It might be
> nice if the programs received filename arguments indicating all of the
> recently installed files but that is not necessary for the current
> needs.  And, it might be nice, as you mention, to be able to run the
> script after the postinstalls.
>
> My proposal is that the rebase package will have a setup.hint which
> contains (at the simplest)
>
> autodep: .*/[^/]*\.(?:dll|so|oct)$
> autorun: /usr/bin/rebaseall
>
> I wanted two lines for the ease in parsing.
>
> However, I guess that could also be:
>
> autorun: /usr/bin/rebaseall .*/[^/]*\.(?:dll|so|oct)$
>
> Maybe that's what you're saying.  I was thinking that two lines would
> make parsing easier but I suppose that you could also just assume that
> the first "program to run" pattern doesn't contain any spaces so the
> parsing would be the equivalent of ([\S+])\s*(.*)$ .  An empty regex
> string could be allowed to match everything.


Yes, splitting the parsing over two lines should be slightly easier, but
probably not so much as to lose sleep over.

The bigger problem is that the std::regex library has not been
implemented for gcc yet, so we'd either have to use an extra library or
dispense with full regex parsing.  It seems not very likely that even
the 4.8 gcc series changes this, so suggestions on what to do instead
are welcome (using boost looks possible, but is said to be buggy).

The two current applications of autodep however could be implemented by
either matching path components or the extension which could be
implemented with the existing string functions and perhaps using a
slightly different syntax in setup.ini:

autoext: dll so oct
autopath: /usr/share/info /usr/info

I don't know if you had other applications for autodep in mind where
these two wouldn't be sufficient and a real regex parser would be
needed, though.



Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptation for Waldorf microQ V2.22R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada

  reply	other threads:[~2013-02-14 20:31 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-18 17:24 [PATCH] setup.exe Achim Gratz
2013-01-18 18:28 ` Ken Brown
2013-01-18 21:09 ` Christopher Faylor
2013-01-19  7:41   ` Achim Gratz
2013-01-19 17:18     ` Christopher Faylor
2013-01-19 20:47       ` Achim Gratz
2013-01-19 21:20         ` Christopher Faylor
2013-01-20  3:35           ` green fox
2013-01-20  6:53             ` Christopher Faylor
2013-01-21  7:03               ` green fox
2013-01-21  7:32                 ` Christopher Faylor
2013-01-21  9:46                   ` green fox
2013-01-21 16:01                     ` Christopher Faylor
2013-01-21 19:32                       ` green fox
2013-01-21 20:16                         ` Christopher Faylor
2013-01-20  7:16             ` Achim Gratz
2013-01-21  9:17               ` green fox
2013-01-20  7:23           ` Achim Gratz
2013-01-21 17:58             ` Achim Gratz
2013-01-25 22:07 ` [PATCH 0/4] setup.exe Achim Gratz
2013-01-25 22:10   ` [PATCH 1/4] setup.exe Achim Gratz
2013-02-01 14:40     ` Jon TURNEY
2013-02-01 15:11       ` marco atzeri
2013-02-01 17:10         ` Christopher Faylor
2013-02-01 16:08       ` Achim Gratz
2013-02-08 17:09     ` Jon TURNEY
2013-02-08 21:30       ` Achim Gratz
2013-02-10 19:23         ` Christopher Faylor
2013-02-11 19:40           ` Achim Gratz
2013-02-12 20:02           ` [PATCH 0/3] setup: implement CLI options Achim Gratz
2013-02-12 20:06             ` [PATCH 3/3] " Achim Gratz
2013-02-12 20:06             ` [PATCH 2/3] " Achim Gratz
2013-02-12 20:06             ` [PATCH 1/3] " Achim Gratz
2013-02-13 19:10           ` [PATCH 1/4] setup.exe Achim Gratz
2013-02-13 19:30             ` Christopher Faylor
2013-02-13 21:25               ` Achim Gratz
2013-02-13 22:08                 ` Christopher Faylor
2013-02-14 20:31                   ` Achim Gratz [this message]
2013-02-15  0:22                     ` Christopher Faylor
2013-02-15 19:52                       ` Achim Gratz
2013-02-16 18:39                         ` Christopher Faylor
2013-02-16 20:11                           ` Achim Gratz
2013-02-16 21:16                             ` Corinna Vinschen
2013-02-17 17:20                               ` Christopher Faylor
2013-02-17 17:43                                 ` Corinna Vinschen
2013-02-17 18:02                                   ` Christopher Faylor
2013-02-17 18:44                                     ` Achim Gratz
2013-02-17 19:21                                       ` Corinna Vinschen
2013-02-17 21:47                                         ` Christopher Faylor
2013-02-17 22:22                                           ` Christopher Faylor
2013-02-18 19:01                                             ` Achim Gratz
2013-01-25 22:11   ` [PATCH 0/4] setup.exe Achim Gratz
2013-02-01 15:05     ` Jon TURNEY
2013-02-01 16:48       ` Achim Gratz
2013-02-01 19:28       ` [PATCH 5/4] setup.exe Achim Gratz
2013-01-25 22:11   ` [PATCH 2/4] setup.exe Achim Gratz
2013-01-25 22:12   ` [PATCH 4/4] setup.exe Achim Gratz
2013-02-04 16:21   ` [PATCH 3/4] setup.exe Achim Gratz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87hale1vuk.fsf@Rainer.invalid \
    --to=stromeko@nexgo.de \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).