LINUX.ORG.RU
ФорумTalks

Зобанили в гугле, ну почти

 , ,


0

2

На меня тут gitlab санкции наложил при попытке скачать всю пакетную базу Арча разом:

Клонирование в «cdemu-daemon»...
error: RPC failed; HTTP 429 curl 22 The requested URL returned error: 429
fatal: expected flush after ref listing

Санкции, правда, не долгие, на несколько минут всего. Но.

Всё отлично с переездом Арча на новую репу, кроме того, что теперь непонятно, как засинкать пакеты. Там теперь 11490 репозиториев git, если что.

И я так предполагаю, что на git pull будет такая же шляпа.

★★

Последнее исправление: wandrien (всего исправлений: 1)

А вообще, синкай по чуть-чуть. Например по 500 пакетов за раз. Так постпенно всё и скачаешь.

Werenter ★★★
()
Ответ на: комментарий от ratvier

Пардон. Выдал 4.2. Значит на своей.

wandrien ★★
() автор топика
Ответ на: комментарий от greenman

Сейчас предусмотрен только pkgctl, который делает то же самое, только еще и не работает по сырости своей. Старые способы работы с abs больше не способы.

wandrien ★★
() автор топика
Ответ на: комментарий от greenman

Ну вот то, что вместо него было, его теперь тоже выкинули)

Я им не пользовался, так как у меня была клонирована репа с их зеркала на гитхабе. Так что я даже не запомнил, как оно называлось.

wandrien ★★
() автор топика
Ответ на: комментарий от wandrien

Пробовал пару раз. Помню, что в отличие от abs, где запустил и скачал всё сразу, скачивание было попакетным.

greenman ★★★★★
()

Там теперь 11490 репозиториев git, если что.

Вроде все мегакорпы в итоге пришли к выводу, что монорепа эффективнее.

Арчик, значится, бунтарский, против течения пошёл xD

token_polyak ★★★★
()
Последнее исправление: token_polyak (всего исправлений: 1)
Ответ на: комментарий от theNamelessOne

Помню приходилось лет пять назад с гитлабовским апи интегрироваться, и у них этого не было.

theNamelessOne ★★★★★
()
Ответ на: комментарий от theNamelessOne

Хотя ты же git clone дергаешь, а не API напрямую, git же заголовки вроде не возвращает вообще.

Ну можно попробовать libgit2 доку глянуть, но сомневаюсь, что там тоже это поддерживается.

theNamelessOne ★★★★★
()
Последнее исправление: theNamelessOne (всего исправлений: 1)

git умеет качать лпределённую ветку и на определённую глубину истории

grem ★★★★★
()
Ответ на: комментарий от token_polyak

Ага, на каждый пакет - репозиторий о_О

О чём они думали? То есть если кто-то захочет обновить пакет и его зависимости, то ему нужно будет создать отдельные мерджреквесты в каждой из реп?

Например, gimp обычно обновляется вместе с babl и gegl - на каждый из пакетов я создаю коммит в рамках одного пулреквеста.

А теперь представим, что нужно обновить gnome или kde. Как в таком случае устроен процесс? Может я что не так представляю?

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от grem

Не вижу в этом ничего такого, вопрос в том прочему это вызывает проблемы вообще? Реверсирование на то и создано.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от grem

Как по мне, так оба варианта - хуже. Git просто не слишком хорошо справляется с подобными задачами. Тут либо искать/создавать другой инструмент, либо терпеть.

Но логики перехода на новый способ хранения я тоже не понял, да.

wandrien ★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Хорошо, мне нужно обновить 3 зависящих друг от друга пакета из разных реп. Каким будет воркфлоу с отправкой мёрджреквестов? Или предполагаются патчи по почте?

grem ★★★★★
()
Ответ на: комментарий от wandrien

Какими задачами? Я обычно создаю ветку, пихаю в ней коммиты-патчи, создаю пулреквест. Нужно обновить не связанное с этим - создаю ещё одну ветку и серию коммитов И так с любым сторонним проектом.

Сейчас это выглядит как если бы каждый файл проекта лежал в отдельной репе. Есть же примеры кучи проектов, где вся репа в одном месте, а не раскидала по отдельным проектам.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 2)
Ответ на: комментарий от grem

Составить три отдельных пул реквеста =) И запулить их по очереди :) Хотя конечно просится некое объединение. Но насколько я знаю в гите нет такого дабы связать три пул реквеста к трём разным репам в одну сущность, разве что может быть у них есть какая внутренняя нашлёпка? Нинаю… Но как-то они живут же =)

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Но как-то они живут же =)

Так они не живут. Этот переход произошел буквально на прошлой неделе.

До этого была монорепа в svn.

wandrien ★★
() автор топика
Ответ на: комментарий от wandrien

Ну значит будут так жить или они это для переезда сделали. Ой низнаю короч видимо у них там план. Возможно как швейцарские часы.

Там демка амнезии к слову вышла новой.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Ой низнаю короч видимо у них там план. Возможно как швейцарские часы.

Дада. Надо немного подождать, и всё будет хорошо. Главное сидеть тихо и не бухтеть. И далее по копипасте.

wandrien ★★
() автор топика
Ответ на: комментарий от wandrien

Какими правами? Правами для самих себя хотя бы?

grem ★★★★★
()
Ответ на: комментарий от grem

О чём они думали?

О том, что если я захочу собрать сам старую версию пакета, которой нету в официальных репах, то смогу легко сделать это в пару команд терминала без выкачивания всего арчевского мира.

А мейнтейнеры думаю себе какую-нибудь удобную тулзу прикрутят

Fizzika ★★
()
Ответ на: комментарий от Fizzika

То есть ментейнеры, перенося репу с svn на git прежде всего думали об удобстве подобного кейса? Ты сам то в это веришь?

grem ★★★★★
()
Ответ на: комментарий от grem

Не верю, но мне стало удобней, чем с монорепой

А ты веришь в то, что ментейнеры арча сами себе добровольно хуже делают?

Fizzika ★★
()

а меня наоборот - разбанили… год не пускали - мол браузер фуфло, а сейчас значит - нормальным стал.

amd_amd ★★★★★
()
Ответ на: комментарий от Fizzika

Я верю, что либо я не туда смотрю и это не дерево репозитория, либо (более вероятно) я не понимаю, какой рабочий процесс они планируют использовать и как он в данный момент выглядит. Пока вот интересно, как в такой структуре репозитория выглядит обновление набора пакетов kde plasma, например.

grem ★★★★★
()
Ответ на: комментарий от Fizzika

О том, что если я захочу собрать сам старую версию пакета, которой нету в официальных репах, то смогу легко сделать это в пару команд терминала без выкачивания всего арчевского мира

А если у этого пакета десяток-другой зависимостей?

greenman ★★★★★
()
Ответ на: комментарий от greenman

А если у этого пакета десяток-другой зависимостей?

Там есть тулза pkgctl, думаю она сможет выкачать нужные гит репы для зависимостей. Сможет ли она откатить версии зависимостей на нужные - не думаю, но я глубоко пока в это не вникал

Fizzika ★★
()
Ответ на: комментарий от grem

либо (более вероятно) я не понимаю, какой рабочий процесс они планируют использовать и как он в данный момент выглядит

Я слышал недавно одну байку (вполне возможно, правдивую)

Арчеводы собирают хаскель с динамической линковкой (из-за этого куча зависимостей haskell-* в репозиториях), при том что хаскель не имеет стабильного ABI, и по-хорошему всё это нужно собирать статически

Дело в том, что чувак, который ответственный за всё это дело, живёт в китае под великим впном, и ему комфортно собирая всё на своей машинке и пушить именно вот таким способом (там то ли ширина канала влияет, то ли ещё чего)

Короче там весело на самом деле %)

Fizzika ★★
()
Ответ на: комментарий от wandrien

За что купил, за то и продаю %)

«The resulting package is bigger and my limited upload bandwidth is a real problem (~50KiB/s). The difference is also in hours for each rebuild.»

Но это 5 лет назад было, может сейчас всё действительно покультурней с билд-фермой и прочим)

Кстати может быть туда прикрутят гитлаб пайплайны для каждого пакета, и в таком случае подход с репой для каждого пакета действительно имеет смысл?

Fizzika ★★
()

Сижу прикручиваю аналог USE-флагов к Арчу. Задавайте ваши ответы.

pkgname=kicad
pkgver=5.1.10
pkgrel=6
pkgdesc="Electronic schematic and printed circuit board (PCB) design tools"
arch=('x86_64')
url="http://kicad-pcb.org/"
license=('GPL')

#############################

if declare -F useflags &>/dev/null ; then
    useflags KICAD_SCRIPTING
fi
: "${KICAD_SCRIPTING:=OFF}"

#############################

depends=('wxgtk3' 'boost-libs' 'glew' 'curl' 'glm' 'ngspice' 'opencascade' 'libcloudproviders')
if test "$KICAD_SCRIPTING" = ON ; then
  depends+=('python' 'python-wxpython')
fi

wandrien ★★
() автор топика
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от grem

11490 репозиториев.

Если делать git pull каждый 30 секунд, то на перебор всех репозиториев потребуется четверо суток - это без учёт работы самого кода git pull.

Очень «удобно» зеркалировать это……

wandrien ★★
() автор топика
Ответ на: комментарий от wandrien

К сожалению, здесь скорее не присутствуют ментейнеры пакетов основных репозиториев Arch, поэтому они не расскажут, как устроен процесс. В статье про contributing мне попалось только упоминание про AUR. Даже непонятно, как на основе всей этой кучи реп происходит раскидывание по репозиториям main, contrib и т.п. Предположу, что на основе каких-либо списков. Странно svn репа была более «монолитной».

Интересно, много ли здесь пользователей поддерживающих пакеты в AUR на регулярной основе, а не по принципу «выложил один раз и забыл»?

grem ★★★★★
()
Ответ на: комментарий от grem

Даже непонятно, как на основе всей этой кучи реп происходит раскидывание по репозиториям main, contrib и т.п.

Нет таких. Есть core, extra и multilib + их тестовые варианты.

Тут как раз сделали всё по уму, теперь отдельная репа фиксирует изменения: https://gitlab.archlinux.org/archlinux/packaging/state

wandrien ★★
() автор топика
Ответ на: комментарий от wandrien

Наконец-то! То есть теперь что-то по расписанию запихивает из 11 тыс. реп в неё? Правда можно было б и один реп dev держать со всеми пакетами, а state как состояние для пользователей. Ну ладно, может им так удобнее.

grem ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)