From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,TVD_SPACE_RATIO autolearn=no version=3.2.5 To: ALT Linux Team general development X-PHP-Originating-Script: 0:func.inc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Fri, 27 Jan 2012 10:48:36 +0400 From: Vitaly Kuznetsov Message-ID: X-Sender: vitty@altlinux.ru User-Agent: Roundcube Webmail/0.5.3 Subject: [devel] Python3 modules X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2012 06:48:48 -0000 Archived-At: List-Archive: List-Post: Hi, в Сизиф можно пробовать собирать модули Python3. Пример добавления сборки модуля python3 можно посмотреть тут: http://git.altlinux.org/people/vitty/packages/?p=python-module-pyinotify.git;a=blobdiff;f=python-inotify.spec;h=ae430437fd845b5b2f6e4bdfee1cd0fec2433efd;hp=e7ce7248c80122ca2a5d6d0caff4eb9addf0bb08;hb=d718aa362381a13aca7aaa30c491ac87a4e62181;hpb=03ef7c31960e761d7b2865c66f6b93265d42ad95 Макросы для сборки модулей python3 содержатся в пакете rpm-build-python3 и аналогичны тем, что используются у нас для python. Специфика: 1) При сборке модуля python3 из того же исходника, из которого собирается модуль python требуется оборачивать такую сборку в %if_with python3 2) Группа пакетов - Development/Python3 3) Python3/rpm-build-python3 - не базовая система, для использования макросов нужно писать BuildRequires(pre): rpm-build-python3 4) Автоматический поиск Requires/Provides работает только для %python3_sitelibdir{-noarch}. Возможно, стоит добавить механизм для явного указания других путей (с исключением поиска там зависимостей с помощью python2), я подумаю. В отличие от python зависимости на python3-base генерируются явно (к примеру, "python3.2(os)"). 5) Скомпилированные .pyo/.pyc у python3 кладутся в специальный каталог __pycache__ в директории с исходником. Не забывайте их паковать. При смене версии python3 потребуется полная пересборка. Если для сборки вам требуется бутстрап - оставляйте, пожалуйста соответствующие ручки вида %def_with, это сильно упрощает формирование задания на обновление. Для этих же целей, наверное, стоит автоматически навешивать какую-нибудь группу вида @python3 на все пакеты, из которых собралось что-то, требующее python3.*(*). Ошибки/пожелания приветствуются, передавайте их мне любым удобным для вас способом.