Re: A minimal subset of python (was Re: [@core] working definition for the minimal package set)

2012-11-13 Thread tim.laurid...@gmail.com
Did a quick scan and removed internals

random   : ['import random : (cli.py)']
subprocess   : ['from subprocess import Popen, PIPE :
(yum/packages.py)']
gettext  : ['import gettext : (output.py)']
fnmatch  : ['import fnmatch : (completion-helper.py)']
tempfile : ['import tempfile : (yum/misc.py)']
base64   : ['import base64 : (yum/misc.py)']
imp  : ['import imp : (yum/plugins.py)']
logging.config   : ['import logging.config : (yum/__init__.py)']
string   : ['import string : (yum/__init__.py)']
textwrap : ['from textwrap import fill : (yum/plugins.py)']
urlgrabber.grabber   : ['from urlgrabber.grabber import URLGrabError :
(output.py)']
iniparse.compat  : ['from iniparse.compat import NoSectionError,
NoOptionError, ParsingError : (yum/config.py)']
ConfigParser : ['from ConfigParser import ConfigParser,
ParsingError : (yum-updatesd.py)']
cmd  : ['import cmd : (shell.py)']
uuid : ['from uuid import uuid4 : (yum/misc.py)']
logging.handlers : ['import logging.handlers : (yum/logginglevels.py)']
threading: ['import threading : (yum-updatesd.py)']
shlex: ['import shlex : (completion-helper.py)']
signal   : ['import signal : (cli.py)']
cStringIO: ['from cStringIO import StringIO :
(yum/mdparser.py)']
locale   : ['import locale : (output.py)']
xml.sax.saxutils : ['import xml.sax.saxutils : (yum/misc.py)']
lzma : ['import lzma : (yum/misc.py)']
sha  : ['import sha : (yum/misc.py)']
urllib   : ['import urllib : (yum/misc.py)']
re   : ['import re # For YumTerm : (output.py)']
gpgme: ['import gpgme : (yum/misc.py)']
fcntl: ['import fcntl : (yum/rpmtrans.py)']
optparse : ['from optparse import OptionParser :
(yum-updatesd.py)']
xml.etree: ['from xml.etree import cElementTree :
(yum/mdparser.py)']
struct   : ['import struct : (yum/packages.py)']
logging  : ['import logging : (output.py)']
socket   : ['import socket : (yum/logginglevels.py)']
weakref  : ['from weakref import proxy as weakref :
(output.py)']
sqlitecachec : ['import sqlitecachec : (yum/yumRepo.py)']
os   : ['import os : (yum-updatesd.py)']
pdb  : ['import pdb : (yummain.py)']
struct, time, cStringIO, base64, types
curses   : ['import curses : (output.py)']
__builtin__  : ['import __builtin__ : (shell.py)']
operator : ['import operator : (yumcommands.py)']
rpm  : ['import rpm : (output.py)']
errno: ['import errno : (yummain.py)']
binascii : ['import binascii : (yum/misc.py)']
types: ['import types : (output.py)']
md5  : ['import md5 : (yum/misc.py)']
pwd  : ['import pwd : (output.py)']
gpgme.editutil   : ['import gpgme.editutil : (yum/misc.py)']
copy : ['import copy : (yum/config.py)']
hashlib  : ['import hashlib : (yum/misc.py)']
atexit   : ['import atexit : (yum/plugins.py)']
StringIO : ['import StringIO : (yum/__init__.py)']
exceptions   : ['import exceptions : (utils.py)']
sqlutils : ['from sqlutils import sqlite, executeSQL, sql_esc :
(yum/pkgtag_db.py)']
urlgrabber   : ['import urlgrabber : (yum/__init__.py)']
sqlite   : ['import sqlite : (yum/sqlutils.py)']
urlgrabber.progress  : ['from urlgrabber.progress import TextMeter,
TextMultiFileMeter : (output.py)']
shutil   : ['import shutil : (yum/misc.py)']
xattr: ['import xattr : (yum/packages.py)']
bz2  : ['import bz2 : (yum/misc.py)']
grp  : ['import grp : (yum/packages.py)']
sqlite3  : ['import sqlite3 as sqlite : (yum/sqlutils.py)']
stat : ['import stat : (yum/packages.py)']
warnings : ['import warnings : (yum/config.py)']
glob
urlgrabber.mirror: ['import urlgrabber.mirror : (yum/yumRepo.py)']
iniparse : ['from iniparse import INIConfig : (yum/config.py)']
sys  : ['import sys : (yum-updatesd.py)']
cElementTree : ['import cElementTree : (yum/mdparser.py)']
os.path  : ['import os.path : (yummain.py)']
urlparse : ['import urlparse : (yum/config.py)']

Tim


On Tue, Nov 13, 2012 at 5:09 PM, David Malcolm  wrote:

> On Mon, 2012-11-12 at 11:28 -0500, Matthew Miller wrote:
> > Okay, cool -- there's a lot of enthusiasm for a SIG for the core package
> > set.
> >
> > So, first up on the SIG goals: clarifying our target.
> >
> > It's been suggested before that there's so many possibilities that this
> is
> > useless, but the point here is to *pick* a reasonable choice as a group
> and
> > to work with that (e

A minimal subset of python (was Re: [@core] working definition for the minimal package set)

2012-11-13 Thread David Malcolm
On Mon, 2012-11-12 at 11:28 -0500, Matthew Miller wrote:
> Okay, cool -- there's a lot of enthusiasm for a SIG for the core package
> set.
> 
> So, first up on the SIG goals: clarifying our target.
> 
> It's been suggested before that there's so many possibilities that this is
> useless, but the point here is to *pick* a reasonable choice as a group and
> to work with that (even if we can't get complete consensus). Then, later,
> when someone says "but minimal could mean so many differen things!" we
> simply say "sure, but *this* is what we mean".
> 
> I see three basic options for the target:
> 
>  A) kernel + init system and we're done
>  B) "boot to yum (with network)": a text-mode bootstrap environment on which
> other things can be added by hand (or by kickstart)
>  C) a traditional Unix command line environment with the expected basic
> tools available
> 
> To me, 'C' is too wide for two reasons. First, it's too open for continual
> debate, because different people might expect different tools. Second, it's
> not necessarily the right base for the rest of the distribution, because
> many use cases might not really need that traditional Unix environment.
> 
> I think 'A' is interesting and useful, but I don't think it should be our
> target, because it's not *useful enough*. We may want to eventually define a
> sub-group which covers just this tiny base (maybe with busybox?), but I
> think that's a different project.
> 
> So that leaves me at *mostly B*, although I have some sympathy to the idea
> that we should include a few other things like a man page reader, since
> we're installing man pages, and a way to deliver e-mail to root, since we're
> installing things that send such mail. And I think the core environment
> should include ssh, but I'm open to the idea that even that should be an
> add-on.

If we're targeting "yum" as core functionality, that implies a subset of
Python: enough to run yum at least, but probably not much more.

This ties into https://bugzilla.redhat.com/show_bug.cgi?id=867962 which
I'd prefer to solve by introducing a "python-core" package.  I've heard
complaints from upstream that no-one can know what the "python" package
means on any given distribution (everyone splits it out in slightly
different ways).  Fixing that suggests that the "python" package should
become a metapackage that brings in everything built from the python
tarball.

If we go down this route, say in Fedora 19, then let's introduce a
"python-core" or somesuch, and define it loosely to be "whatever yum
needs in the minimal environment".

Does this sound sane? (especially from the POV of yum developers)  What
does yum need?

Dave

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel