From: Igor Vlasenko <vlasenko@imath.kiev.ua> To: devel@lists.altlinux.org Cc: Vitaly Kuznetsov <vitty@altlinux.ru> Subject: [devel] I: arepo: next steps Date: Mon, 27 Feb 2012 20:13:16 +0200 Message-ID: <20120227181316.GA8941@dad.imath.kiev.ua> (raw) Уважаемые коллеги, В общем, так понимаю, arepo стагнировал, а это вещь нужная. Решил, раз нет возражений, заняться arepo плотнее. Что уже сделано: подготовил патчи к arepo, добавляющие 1) поддержку репозиториев без noarch компоненты (по просьбе Сергея) 2) модульный конфиг-файл для arepo, c директивой "include: |" Отличие от прототипа в том, что поменял тип строки yaml c '>' на '|', т.е. есть возможность задать пути с пробелами внутри. include: | /home/vpupkin/Рабочий Стол/NX-client-arepo-t6.conf Повесил заявку http://bugzilla.altlinux.org/show_bug.cgi?id=26985 надеюсь, эти изменения скоро будут в Сизифе. Что хочу сделать: I. распрямить работу arepo с apt. arepo сейчас, чтобы узнать EPOCH-VERSION-RELEASE пакета NAME, создает aptbox и выполняет apt-get install --yes --print-uris NAME Если apt-get install завершился успешно, получаем путь к rpm файлу в локальной файловой системе, затем открываем полученный rpm файл с помощью python-rpm и извлекаем значения из RPM Header'а. Это и слишком медленный путь, и слишком глючный. Симптомы глюка: В t6 обновился libpng12. Ожидалось, что arepo пересоберет i586-libpng12. Однако arepo пересобрал не только i586-libpng12, но и около 30 других пакетов, именно все имевшиеся зависящие от i586-libpng12 пакеты, включая wine, поскольку из-за несоответствия версий libpng12 и i586-libpng12 они оказались не устанавливаемыми и apt-get install --yes --print-uris завершался для них неуспешно. Я хочу переделать этот кусок, чтобы напрямую брать данные из кеша apt. В результате и ускорится холостой пробег arepo, и больше не будет таких глюков, и появится возможность работать с сетевыми репозиториями. II. вырезать из arepo.py низкоуровневую работу с rpm в отдельный скрипт. Собственно arepo.py пусть и дальше занимается тем, чем и занимался, т.е. созданием и обновлением x86_32 репозитория, а отдельный скрипт araperpm, rpm2arepo или как его назвать.py будет заниматься конкретно созданием i586-name-V-R.src.rpm из name-V-R.i586.rpm. Это не повлияет на производительность, так как специфика питона - что любой скрипт легко выступает в роли библиотеки. И arepo будет просто загружать rpm2arepo.py как свою библиотеку. Это и существенно упростит отладку, и, главное, встраивать в сборочницу весь arepo смысла не имеет, сборочнице нужна только функциональность rpm2arepo.py. Все остальное - сборка пакетов и менеджмент репозиториев - в сборочнице уже есть, имеющаяся высокоуровневая часть arepo - это по сути дублирование скриптов сборчницы, но не полное, недостаточного качества и написанное на python. Мое предложение -- arepo надо разрезать на две части и встраивать в сборчницу сразу низкоуровневый скрипт конверсии rpm, условное название rpm2arepo.py. -- Dr. Igor Vlasenko -------------------- Topology Department Institute of Math Kiev, Ukraine
next reply other threads:[~2012-02-27 18:13 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-02-27 18:13 Igor Vlasenko [this message] 2012-02-27 23:42 ` Dmitry V. Levin 2012-02-28 12:12 ` Michael Shigorin 2012-02-28 12:32 ` Vitaly Kuznetsov 2012-02-28 17:41 ` Igor Vlasenko 2012-02-28 18:59 ` Vitaly Kuznetsov 2012-02-28 19:08 ` Led 2012-02-28 20:38 ` Vitaly Kuznetsov 2012-02-28 21:33 ` Led 2012-02-28 22:20 ` Michael Shigorin 2012-02-28 22:23 ` Dmitry V. Levin 2012-02-28 22:34 ` Led 2012-02-28 23:04 ` Dmitry V. Levin 2012-02-28 23:28 ` Led 2012-04-04 23:08 ` Dmitry V. Levin 2012-02-29 6:09 ` Vitaly Kuznetsov 2012-02-29 8:31 ` Michael Shigorin 2012-02-29 12:45 ` Vitaly Kuznetsov 2012-02-29 11:51 ` Led 2012-02-28 14:04 ` Dmitry V. Levin 2012-03-01 12:09 ` Vitaly Kuznetsov 2012-03-01 12:10 ` Vitaly Kuznetsov 2012-02-28 17:09 ` Igor Vlasenko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20120227181316.GA8941@dad.imath.kiev.ua \ --to=vlasenko@imath.kiev.ua \ --cc=devel@lists.altlinux.org \ --cc=vitty@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git