[Web-SIG] A Python Web Application Package and Format

Eric Larson eric at ionrock.org
Tue Apr 19 01:46:12 CEST 2011


On Apr 18, 2011, at 6:09 PM, Alice Bevan–McGregor wrote:

> On 2011-04-18 14:11:21 -0700, Daniel Holth said:
> 
>> If you want the format to specify cron jobs and services and non-wsgi servers, why not go the whole way and use the Linux filesystem hierarchy standard. The entry point is an executable called `init`, configuration goes in /etc/, cron jobs go in /etc/cron.d etc. This should be flexible enough.
> 
> Because that would be… less than good.  Let me illustrate:
> 
> a) The LFS is intended for complete operating system installations.
> 
> b) You sure as hell wouldn't want the init process to be Python.
> 
> c) Operating-system specific features are a no-go for portability.
> 
> d) We don't want developers to have to suddenly become sysadmins, too.
> 
> e) /etc is terrible for configuration organization.
> 
> There are other, lower-level reasons not to do that.
> 
> One big point is that the application server / container writes a single configuration file which is then read in by the application.  One file, not a tree of them.

So, I'm going to throw this out there. Instead of assuming "/etc" always means "the root of the filesystem" we should consider it the "root of the sandbox" where the system providing the "sandbox" defines what that is. It is _a_ filesystem in that there is a place that an application will be run. For argument's sake, we'll say it is a directory on some server. Now, within that directory we choose to take some known bits from the LFS standard such as /etc, /bin, /var, etc for the placement of our application. 

With that in mind, I think using things like LFS makes a ton of sense. We can piggy back or copy (since previous discussions for .debs or rpms seem not to sit well... even though they would fit this model very well...) systems like RPM rather directly and hopefully allow our Python web apps to play very nicely with applications in other languages. 

Please do not get hung up on the fact that I've said RPMs here. The fact is distros have been doing package management for quite a long while. It is insanely convenient to say apt-get install couchdb and when it is done, having a couchdb server running. Copying the model seems like a good option in that we get to learn from the mistakes of others while inheriting a wild variety of tools and concepts. 

Eric

> 	— Alice.
> 
> 
> _______________________________________________
> Web-SIG mailing list
> Web-SIG at python.org
> Web SIG: http://www.python.org/sigs/web-sig
> Unsubscribe: http://mail.python.org/mailman/options/web-sig/eric%40ionrock.org



More information about the Web-SIG mailing list