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=-1.8 required=5.0 tests=AWL,BAYES_00, RCVD_IN_SORBS_WEB,SPF_PASS autolearn=no version=3.2.5 Date: Sun, 2 Dec 2012 01:50:29 +0200 From: Igor Vlasenko To: devel@lists.altlinux.org Message-ID: <20121201235029.GA31387@dad.imath.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.5.21 (2010-09-15) X-imath-kiev-ua-MailScanner-Information: Please contact the ISP for more information X-imath-kiev-ua-MailScanner-ID: EF1726C86DE.A276E X-imath-kiev-ua-MailScanner: Found to be clean X-imath-kiev-ua-MailScanner-From: vlasenko@imath.kiev.ua Subject: [devel] =?utf-8?b?0KHRgtC10Log0YDQtdGI0LXQvdC40Lkg0LDQstGC0L4=?= =?utf-8?b?0LzQsNGC0LjQt9Cw0YbQuNC4LiBsdmwuMyAoYyDQsdCw0YHQvdGP0LzQuCk=?= 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: Sat, 01 Dec 2012 23:50:42 -0000 Archived-At: List-Archive: List-Post: Стек решений автоматизации. [Спойлер]начало немного скучное, но в конце пойдут басни.[/Спойлер] Третий уровень - утилиты обработки репозитория. От утилит второго уровня - утилит работы с пакетами - утилиты третьего уровня отличаются тем, что к ним подключена библиотека работы с репозиториями. Основной режим этой библиотеки -- утилите настраиваются 2 репозитория. Репозиторий источник (origin) и результирующий репозиторий (destination). На вход подаются имена пакетов, утилита ищет их в обеих репозиториях, есть критерий сравнения (например, пакет должен быть старше) и если критерий выполнен, то выполняется действие. В предыдущем мануале я давал примеры с level2 утилитой srpmbackport, и совсем опустил тему с level2 утилитами импорта вроде srpmimport-fc или srpmimport-mga. С одной стороны, это направление еще в разработке, еще не готово для работы из коробки. С другой стороны, я и сам этими утилитами практически не пользуюсь, разве что нужно сконвертировать левый внедистрибутивный пакет от апстрима. Почему так? Потому, что если пакет дистрибутивный, то гораздо удобнее пользоваться не утилитами 2-го уровня, а специально настроенной под этот дистрибутив утилитой 3-го уровня. Вот пример из сегодняшней жизни. Изучал вопрос, как насчет подключить что-нибудь к Raspberry Pi по i2c. наткнулся на http://binerry.de/post/27067411903/i2c-level-shifter-i2c-bridge там была и схемка в формате fritzing prototype. Oops! а смотреть-то ее не чем, fritzing у нас не собран. Непорядок. Пинаем робота, чтобы пришел на помощь: $ fcmass fritzing Записан: ./OUT/fritzing-0.7.5b-alt1_2.src.rpm Молодец. Собираем: $ hsh ./OUT/fritzing-0.7.5b-alt1_2.src.rpm 2>&1 | tee hsh.log [ . . . ] E: Невозможно найти пакет quazip-devel Отлуп. попробуем в обход: $ fcmass quazip Записан: ./OUT/quazip-0.5-alt1_1.src.rpm $ hsh ./OUT/quazip-0.5-alt1_1.src.rpm 2>&1 | tee hsh.log [ . . . ] Wrote: /usr/src/RPM/SRPMS/quazip-0.5-alt1_1.src.rpm Wrote: /usr/src/RPM/RPMS/x86_64/quazip-0.5-alt1_1.x86_64.rpm Wrote: /usr/src/RPM/RPMS/x86_64/quazip-devel-0.5-alt1_1.x86_64.rpm Wrote: /usr/src/RPM/RPMS/x86_64/quazip-debuginfo-0.5-alt1_1.x86_64.rpm 8.43user 1.60system 0:17.16elapsed 58%CPU (0avgtext+0avgdata 232464maxresident)k0inputs+0outputs (0major+755716minor)pagefaults 0swaps Ура! сработало. Пробуем опять: $ hsh ./OUT/fritzing-0.7.5b-alt1_2.src.rpm 2>&1 | tee hsh.log [ . . . ] Wrote: /usr/src/RPM/SRPMS/fritzing-0.7.5b-alt1_2.src.rpm Wrote: /usr/src/RPM/RPMS/x86_64/fritzing-0.7.5b-alt1_2.x86_64.rpm Wrote:/usr/src/RPM/RPMS/x86_64/fritzing-debuginfo-0.7.5b-alt1_2.x86_64.rpm 391.82user 25.10system 6:59.92elapsed 99%CPU (0avgtext+0avgdata 1826656maxresident)k0inputs+0outputs (0major+8215063minor)pagefaults 0swaps Готово. Еще сходил на autoimports.altlinux.org и отпинал тамошнего робота, чтобы он собрал и выложил в публичное пользование quazip и fritzing, но поскольку тот уже робот четвертого уровня, то он не тема сегодняшней статьи. Пока писал статью, Игорь повесил баг с просьбой собрать plee-the-bear под i586. Там кривой cmake, и в свое время я просто плюнул и прибил в нем гвоздями ExclusiveArch: x86_64. Открываю fcimport.git/hooks/plee-the-bear.pl ------------------------------------------- push @SPECHOOKS, sub { my ($spec, $parent) = @_; # 0.5.1-1, 0.6.0-7 @ugly cmake $spec->get_section('package','')->push_body('ExclusiveArch: x86_64'."\n"); }; ------------------------------------------- и комментирую строчку с get_section('package','')->push_body('ExclusiveArch: x86_64'."\n"); Пинаю робота: $ fcmass plee-the-bear $ Ноль реакции. Оказывается, в Сизифе plee-the-bear-0.6.0-alt4_7.src.rpm, в Федоре plee-the-bear-0.6.0-7.fc19.src.rpm, релизы равны, робот считает, что обновлять там нечего. Придется применить силу :) $ fcmass plee-the-bear --strategy force Записан: ./OUT/plee-the-bear-0.6.0-alt5_7.src.rpm Пробую собрать под i586, смотрю на уродливейший выхлоп от cmake c -L " " Где рвет командную строку пополам, в результате чего ничего не линкуется, вздыхаю и возвращаюсь к этой статье. Как видим, робот не волшебник, подготовить пакет он может, но собирать и тестировать его все равно нам. -- Dr. Igor Vlasenko -------------------- Topology Department Institute of Math Kiev, Ukraine -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.