Я подготовил новую сборку питона. Предлагаю кому-нибудь из @python проверить, поставить/подписать таг и отправить на сборку. 2.4.4-alt8 - this release prepares python-base to be part of base build system - /usr/bin/python is now provided by python-base; no file-level conflict is induced, and python-strict/relaxed logic must still work - removed extra python dependencies from python-base; python-base is now self-contained - moved time.so, re.py, and string.py from python-modules to python-base, so that python-base provides most common dependencies - also moved parser.so, token.py, and symbol.py from python-modules-compiler to python-base, to satisfy rpm-build-python dependencies - in %%post scripts, replaced absolute symbolic links with relative ones Вижу только одну проблему: после установки и удаления python-relaxed симлинк /usr/bin/python исчезнет. Но apt сам по себе никогда не ставит python-relaxed; а тот, кто его ставит, должно быть, знает, что делает. Кроме того, там не совсем обычная логика постановки и удаления симлинков, так что в принципе с симлинком /usr/bin/python возможны и другие проблемы. На всякий случай прилагаю (почти) полный diff (там был merge). $ git-diff --find-copies-harder --diff-filter=CMR origin.. diff --git a/modules-list/base-list b/modules-list/base-list index 7b64bb1..e69adaa 100644 --- a/modules-list/base-list +++ b/modules-list/base-list @@ -2,11 +2,18 @@ UserDict.py codecs.py copy_reg.py lib-dynload/readline.so +lib-dynload/time.so linecache.py os.py posixpath.py +re.py +sre*.py site.py stat.py +string.py types.py warnings.py __future__.py +lib-dynload/parser.so +token.py +symbol.py diff --git a/modules-list/modules-compiler-list b/modules-list/modules-compiler-list index 6145a28..f53a357 100644 --- a/modules-list/modules-compiler-list +++ b/modules-list/modules-compiler-list @@ -4,10 +4,7 @@ compileall.py dis.py inspect.py keyword.py -lib-dynload/parser.so new.py opcode.py py_compile.py -symbol.py -token.py tokenize.py diff --git a/python24.spec b/python.spec similarity index 96% rename from python24.spec rename to python.spec index 7eafd65..6d2d9dd 100644 --- a/python24.spec +++ b/python.spec @@ -5,7 +5,7 @@ Name: %real_name Version: 2.4.4 -Release: alt7 +Release: alt8 %define package_name %real_name %define weight 1001 @@ -44,12 +44,16 @@ Patch10: python-2.4-alt-webbrowser.patch # non-standard /usr/doc dehack Patch11: python-2.4.4-alt-sharedoc.patch +# XXX ignore pydoc dependencies for now +%add_findreq_skiplist %_bindir/pydoc* + Requires: %real_name = %require_ver PreReq: alternatives >= 0.0.6 -BuildPreReq: rpm >= 4.0.4-alt36.d8 rpm-build-python >= 0.18 -# Automatically added by buildreq on Wed Jan 10 2007 (-bi) -BuildRequires: bzlib-devel emacs-common gcc-c++ libdb4-devel libgdbm-devel libncurses-devel libreadline-devel libssl-devel tk-devel zlib-devel +BuildPreReq: rpm >= 4.0.4-alt36.d8, rpm-build-python >= 0.29-alt3 +BuildPreReq: emacs-nox +# Automatically added by buildreq on Sun Dec 31 2006 +BuildRequires: bzlib-devel gcc-c++ libdb4-devel libgdbm-devel libncurses-devel libreadline-devel libssl-devel tk-devel zlib-devel %description Python is an interpreted, interactive, object-oriented programming @@ -78,7 +82,6 @@ Conflicts: python22 Conflicts: python = 2.2 Conflicts: python23 Conflicts: python = 2.3 -Provides: %_bindir/%real_name Requires: %name-base Requires: %name-modules %name-modules-encodings Requires: %name-modules-curses %name-modules-xml %name-modules-compiler @@ -102,7 +105,6 @@ Group: Development/Python Provides: %real_name = %require_ver Provides: %name-relaxed = %version-%release Conflicts: %name-strict -Provides: %_bindir/%real_name Requires: %name-base Obsoletes: %python_name-relaxed <= %noversion_from @@ -119,7 +121,7 @@ This is a python with relaxed conflicts: using with python22 are allowed. %package base Summary: Base python modules and executables Group: Development/Python -Requires: %real_name = %require_ver +Provides: /usr/bin/python Provides: %python_name(os.path) Provides: %python_name(pwd) Obsoletes: %python_name-base <= %noversion_from @@ -635,20 +637,24 @@ chmod +x python.sh mv %buildroot{%_libdir/%python_name/config/lib%python_name.a,%_libdir/lib%python_name.a} mv %buildroot{%_mandir/man1/python.1,%_mandir/man1/%python_name.1} +%post base +[ -e /usr/bin/python ] || ln -snf %python_name /usr/bin/python +[ -e /usr/bin/pydoc ] || ln -snf pydoc%suffix_ver /usr/bin/pydoc + %post strict -ln -sf /usr/bin/%python_name /usr/bin/python -ln -sf /usr/bin/pydoc%suffix_ver /usr/bin/pydoc -ln -sf %_sysconfdir/emacs/site-start.d/python.el-%suffix_ver %_sysconfdir/emacs/site-start.d/python.el +ln -sf %python_name /usr/bin/python +ln -sf pydoc%suffix_ver /usr/bin/pydoc +ln -sf python.el-%suffix_ver %_sysconfdir/emacs/site-start.d/python.el %post relaxed %register_alternatives %python_name -- python pydoc %triggerpostun strict -- python22, python23, python-relaxed, %python_name-relaxed, python2.3, python2.3-relaxed -ln -sf /usr/bin/pydoc%suffix_ver /usr/bin/pydoc -ln -sf /usr/bin/%python_name /usr/bin/python -ln -sf %_sysconfdir/emacs/site-start.d/python.el-%suffix_ver %_sysconfdir/emacs/site-start.d/python.el +ln -sf pydoc%suffix_ver /usr/bin/pydoc +ln -sf %python_name /usr/bin/python +ln -sf python.el-%suffix_ver %_sysconfdir/emacs/site-start.d/python.el for n in idle modulator pynche; do - ln -sf %_bindir/${n}%suffix_ver %_bindir/$n + ln -sf ${n}%suffix_ver %_bindir/$n done %preun relaxed @@ -804,6 +810,18 @@ done %_libdir/%python_name/lib-dynload/_tkinter.so %changelog +* Sun Mar 18 2007 Alexey Tourbin 2.4.4-alt8 +- this release prepares python-base to be part of base build system +- /usr/bin/python is now provided by python-base; no file-level + conflict is induced, and python-strict/relaxed logic must still work +- removed extra python dependencies from python-base; python-base + is now self-contained +- moved time.so, re.py, and string.py from python-modules to + python-base, so that python-base provides most common dependencies +- also moved parser.so, token.py, and symbol.py from python-modules-compiler + to python-base, to satisfy rpm-build-python dependencies +- in %%post scripts, replaced absolute symbolic links with relative ones + * Mon Jan 08 2007 Fr. Br. George 2.4.4-alt7 - Documentation search path relocate - Replace many of 24 and 2.4 with macros (for upcoming 2.5)