public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Stuart Herbert <stuart@gentoo.org>
To: Paul de Vrieze <pauldv@gentoo.org>, gentoo-dev@gentoo.org
Subject: Re: [gentoo-dev] [GLEP] Web Application Installation
Date: Tue, 5 Aug 2003 12:19:45 +0100	[thread overview]
Message-ID: <200308051219.49435.stuart@gentoo.org> (raw)
In-Reply-To: <200308051134.46249.pauldv@gentoo.org>

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 4706 bytes --]

Hi Paul,

Thanks for joining in.  I was getting worried that this was turning into the 
'Max & Stuart Show' ;-)

Here's my rambling thoughts about how the 'local' USE flag (can we call it 
'-vhosts' instead? 'local' feels a bit non-descript to me) could work, and 
what problems might occur.  I'm sure that my thoughts here aren't the only 
possible solution.

Under the '+vhosts' approach, webapps would be SLOT'd, and would go into

	/usr/share/webapps/${PF}/

and users would have to use the -config toolset to then make the app available 
inside one or more vhosts.

What would happen in the '-vhosts' world?

I think it all pivots around one crucial design decision.  In the '-vhosts' 
world, do we want 'emerge -u' to be all that the user has to do (i.e. no need 
for the -config toolset)?  If not, then I can't see what '-vhosts' would 
actually do, and I'd suggest dropping it.

Let's explore what changes the 'emerge -u' objective might have to bring into 
the design.

I think that SLOT'ing webapps would have to be switched off when '-vhosts' is 
in effect.  Can we dynamically change the SLOT value inside an ebuild without 
upsetting Portage?  Let's assume we can for the moment.

I think the webapp would have to be installed directly under the 
'DocumentRoot' (/home/httpd/htdocs currently for Apache), instead of 
/usr/share/webapps/.  Would this create support hell if a user then wanted to 
move to vhosting on the same box?  emerge -C <webapp> will clean up 
correctly, so I'm not worried about that.  I think we could live with this.

As for config-protecting a webapp's configuration files, I'd do it by making 
the eclass add the config files to the CONFIG_PROTECT mask somehow.  The 
webapp ebuild needs to be able to identify the package's config files as part 
of the '+vhosts' solution, so the information would be available.  But I 
wonder if we'd need a change to Portage to allow the eclass to dynamically 
add these files to the CONFIG_PROTECT mask.  It wouldn't need to be a 
permanent addition - in fact, I'd argue against it.

(Lots of laughter.  Just listening to the radio, and apparently the heatwave 
we're having right now is causing parts of one of our busiest motorways to 
melt).

Speaking of eclasses, one way to hide the differences of the +/-vhosts world 
from the ebuild is to handle the differences entirely in the eclasses.

	# webapp.ebuild
	inhert webapp-proxy

	# webapp-proxy.eclass
	use 'vhosts' && inherit webapp-vhosts || inherit webapp-simple

webapp-vhosts.eclass (or whatever it's called) would have to present the same 
interface (same functions w/ same parameters in) as webapp-simple.eclass.

Just some thoughts,
Stu
--
On Tuesday 05 August 2003 10:34 am, Paul de Vrieze wrote:
> Ok what about the following.
>
> The problem that is most existent in this case is the fact that you want
> the eclass to support almost every kind of use. That is nice indeed. But
> making things easy for single hostname smalltime servers, and for extensive
> virtual hosting supports with customized webservers etc. is complicated.
> Also in that case default apache configuration snippets don't make that
> much sense. I think a solution could be to introduce a "local" useflag that
> selects behaviour.
>
> If you have a simple webserver for personal use, you can just leave things
> as they are and you can just run the config script or take some simple
> actions and everything works. For the other case the configuration tool can
> be used to create instances of a webapp for different virtual servers. That
> tool would probably need some configuration file etc. and it might even
> perform changes to the CONTENTS file to make the instances being included
> in the ebuild (when removing). It could then also automatically change the
> slot of the installed package so that it does not automatically get
> removed.
>
> I think that should be able to keep both sides happy.
>
> Paul
>
> ps. one thing I want to add though is that for a simple installation I
> think the configuration files should be config-protected (how that is
> aranged I don't care), and for complex setups the instance configurations
> should also be protected in some way (but that might be handled by the
> tool)

-- 
Stuart Herbert                                              stuart@gentoo.org
Gentoo Developer                                       http://www.gentoo.org/
Beta packages for download            http://dev.gentoo.org/~stuart/packages/

GnuGP key id# F9AFC57C available from http://pgp.mit.edu
Key fingerprint = 31FB 50D4 1F88 E227 F319  C549 0C2F 80BA F9AF C57C
--

[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2003-08-05 11:22 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-04 23:16 [gentoo-dev] [GLEP] Web Application Installation Max Kalika
2003-08-05  0:14 ` Stuart Herbert
2003-08-05  2:30   ` Donny Davies
2003-08-05 10:12     ` Stuart Herbert
2003-08-06  4:01       ` Donny Davies
2003-08-05  3:04   ` Max Kalika
2003-08-05 10:39     ` Stuart Herbert
2003-08-05  9:34   ` Paul de Vrieze
2003-08-05 11:19     ` Stuart Herbert [this message]
2003-08-05 11:37       ` Paul de Vrieze
2003-08-05 21:00       ` Max Kalika
2003-08-05 23:43         ` Cal Evans
2003-08-06  1:54           ` Stuart Herbert
2003-08-06  2:16             ` Robin H.Johnson
2003-08-06  2:44               ` Stuart Herbert
2003-08-06  4:37                 ` [gentoo-dev] [GLEP] Web Application Installation. Plotting a VHOST config tool Robin H.Johnson
2003-08-06 12:48                   ` Stuart Herbert
  -- strict thread matches above, loose matches on Subject: below --
2003-08-07  1:08 [gentoo-dev] [GLEP] Web Application Installation Troy Dack
2003-08-04 17:11 Max Kalika
2003-08-04 22:16 ` Stuart Herbert
2003-08-05  9:49   ` Michael Cummings
2003-08-02 16:50 Troy Dack
2003-08-02 20:39 ` Robin H.Johnson
2003-08-02 23:11 ` [gentoo-dev] Re: [gentoo-core] " Max Kalika
2003-08-02 23:51   ` Stuart Herbert
2003-08-03  2:26     ` [gentoo-dev] " Max Kalika
2003-08-03 14:46       ` Stuart Herbert
2003-08-03 15:20         ` Max Kalika
2003-08-03 17:43           ` Stuart Herbert
2003-08-03 19:03             ` Max Kalika
2003-08-03 19:43               ` Stuart Herbert
2003-08-04  4:29                 ` Max Kalika
2003-08-04 10:43                   ` Stuart Herbert
2003-08-03  0:30 ` Austin Frank
2003-08-03  7:50   ` Tal Peer
2003-08-03 14:45   ` Don Seiler
2003-08-05  8:12 ` Troy Dack

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=200308051219.49435.stuart@gentoo.org \
    --to=stuart@gentoo.org \
    --cc=gentoo-dev@gentoo.org \
    --cc=pauldv@gentoo.org \
    /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