Archlinux — Как появился yaourt-abs
Доброго времени суток всем арчеводам! Этот пост предназначается именно для пользователей этого замечательного дистрибутива, и будет касаться такого популярного инструмента, как yaourt.
Как могли заметить активные пользователи, пару дней назад yaourt перестал собирать пакеты из ABS (Arch Build System) - та самая опция yaourt -Sb, о котором я говорил в предыдущем своем посте. Будучи весьма активным пользователем yaourt'a и этой его возможности, я в сразу же озадачился двумя вопросами: а) что случилось и кто виноват в поломке и б) когда эта проблема будет решена. Так как поиск во всемирной сети ничего толкового не дал, я решил найти ответы на эти вопросы самостоятельно. И нашел :) Ниже - описание проблемы и ее решение.
Итак, первое - причина поломки. Как выяснилось, в этом "виноваты" как авторы yaourt'a, так и... авторы дистрибутива. Что же случилось? Все довольно просто - на домашнем сайте archlinux.org для веб-просмотра репозиториев ABS теперь используется websvn (вместо использовавшегося до этого viewvc). При препарировании yaourt'a оказалось, что при работе с ABS использует именно... веб-интерфейс (?!?!!). Почему работа была организована таким образом - вопрос конечно интересный. Пока система работала с этим можно было смирится, но теперь недостаток такого подхода налицо. С причиной кажется разобрались, перейдем ко второму вопросу.
Тут сложнее. Дело в том, что судя по всему yaourt уже не очень активно поддерживается автором, и ждать решения проблемы можно весьма долго (а может и очень долго). А альтернативы yaourt'у еше не доросли до серьезного применения, а функциональность нужна сейчас. В голову пришла мысль - а не решить ли эту проблему самому, при этом приведя механизм доступа к ABS к удобоваримому виду - через rsync или svn (как рекомендуют разработчики).
Чтобы не изобретать велосипед было решено интегрировать yaourt с abs - утилиты для работы с ABS от разработчиков Арча. Так я и поступил. Результат можно найти тут (здесь можно посмотреть на патч отдельно). Чем же новый пакет отличается от старого? Переписана была только функциональность, связанная с ABS - все остальное осталось как в оригинальном пакете. В список зависимостей добавлен abs. Вроде бы на текущий момент и все. Тестирование провел на 2х разных машинах - регрессий по сравнению с оригинальным yaourt'ом пока не обнаружено? да и быть их вроде бы не должно - патч не очень сложный. Но 100%-ой уверенности нет, так что за все замечания и предложения отдельное спасибо!
Как могли заметить активные пользователи, пару дней назад yaourt перестал собирать пакеты из ABS (Arch Build System) - та самая опция yaourt -Sb, о котором я говорил в предыдущем своем посте. Будучи весьма активным пользователем yaourt'a и этой его возможности, я в сразу же озадачился двумя вопросами: а) что случилось и кто виноват в поломке и б) когда эта проблема будет решена. Так как поиск во всемирной сети ничего толкового не дал, я решил найти ответы на эти вопросы самостоятельно. И нашел :) Ниже - описание проблемы и ее решение.
Итак, первое - причина поломки. Как выяснилось, в этом "виноваты" как авторы yaourt'a, так и... авторы дистрибутива. Что же случилось? Все довольно просто - на домашнем сайте archlinux.org для веб-просмотра репозиториев ABS теперь используется websvn (вместо использовавшегося до этого viewvc). При препарировании yaourt'a оказалось, что при работе с ABS использует именно... веб-интерфейс (?!?!!). Почему работа была организована таким образом - вопрос конечно интересный. Пока система работала с этим можно было смирится, но теперь недостаток такого подхода налицо. С причиной кажется разобрались, перейдем ко второму вопросу.
Тут сложнее. Дело в том, что судя по всему yaourt уже не очень активно поддерживается автором, и ждать решения проблемы можно весьма долго (а может и очень долго). А альтернативы yaourt'у еше не доросли до серьезного применения, а функциональность нужна сейчас. В голову пришла мысль - а не решить ли эту проблему самому, при этом приведя механизм доступа к ABS к удобоваримому виду - через rsync или svn (как рекомендуют разработчики).
Чтобы не изобретать велосипед было решено интегрировать yaourt с abs - утилиты для работы с ABS от разработчиков Арча. Так я и поступил. Результат можно найти тут (здесь можно посмотреть на патч отдельно). Чем же новый пакет отличается от старого? Переписана была только функциональность, связанная с ABS - все остальное осталось как в оригинальном пакете. В список зависимостей добавлен abs. Вроде бы на текущий момент и все. Тестирование провел на 2х разных машинах - регрессий по сравнению с оригинальным yaourt'ом пока не обнаружено? да и быть их вроде бы не должно - патч не очень сложный. Но 100%-ой уверенности нет, так что за все замечания и предложения отдельное спасибо!