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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <dmalcolm@xxxxxxxxxx> 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 (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@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux