github, This comparison is taking too long to generate и sys-kernel/geek-sources

Этот пост для тех слоупоков, которые не читают баги.

Проверять к примеру вон там https://github.com/NigelCunningham/tuxonice-kernel/compare/vanilla-3.12…tuxonice-3.12 и если вы увидели вот это:

This comparison is taking too long to generate

То я вас от всей души поздравляю.

И на первый взгляд казалось бы как оно может задеть sys-kernel/geek-sources? Гитхабовскую фичу compare across forks для получения патчей на данный момент используют:

> grep compare eclass*
eclass/geek-cjktty.eclass: :
${CJKTTY_SRC:=${CJKTTY_SRC:-"https://github.com/Gentoo-zh/linux-cjktty/compare/torvalds:v${CJKTTY_VER/KMV/$KMV}...${CJKTTY_VER/KMV/$KMV}-utf8.diff"}}
eclass/geek-exfat.eclass: :
${EXFAT_SRC:=${EXFAT_SRC:-"https://github.com/damentz/zen-kernel/compare/torvalds:v${EXFAT_VER/KMV/$KMV}...${EXFAT_VER/KMV/$KMV}/exfat.diff"}}
eclass/geek-ice.eclass: :
${ICE_SRC:=${ICE_SRC:-"https://github.com/NigelCunningham/tuxonice-kernel/compare/vanilla-${ICE_VER/KMV/$KMV}...tuxonice-${ICE_VER/KMV/$KMV}.diff"}}
eclass/geek-pf.eclass: :
${PF_SRC:=${PF_SRC:-"https://github.com/pfactum/pf-kernel/compare/mirrors:v${KMV}...pf-${PF_VER/KMV/$KMV}.diff"}}
eclass/geek-zen.eclass: :
${ZEN_SRC:=${ZEN_SRC:-"https://github.com/damentz/zen-kernel/compare/torvalds:v${ZEN_VER/KMV/$KMV}...${ZEN_VER/KMV/$KMV}/master.diff"}}

И если кто еще что-то не понял то отныне эта лазейка прикрыта и банальным wget-ом уже не отделаешься.
Т.е. если оставаться и дальше с github-ом и для гарантированного получения патча остается только:

git clone git://some_url or git fetch --all; git pull --all; \# ага и еще учтите что если на серваке появляется новый branch он вам нужен и локально тоже…
git diff

Я предоставляю возможность вам самим придумать ответы на вопросы каким геморроем это грозит и чем оно все в результате сложнее простого wget-а…

А по факту я пока что у себя в оффлайн под локальное получение патчей исправил только
geek-ice.eclass и эти изменения, как я и обещал ранее, попадут в оверлей 1-го января. Спасибо тебе Nigel Cunningham за то что у тебя есть ветка vanilla…

А все остальные eclass-ы:
geek-cjktty.eclass,
geek-exfat.eclass,
geek-pf.eclass,
geek-zen.eclass
объединяет то, что кроме github-а нет источников для получения актуальных и свежих патчей и нужно либо переделывать также под локальное получение патчей посредством git diff и без задействования github-а либо
искать и задействовать иные источники для получения актуальных патчей либо вовсе выпиливать эти USE флаги…

Но чтобы более комфортно работать с git-ом локально для получения патчей посредством git diff нужен новый eclass. И он должен уметь качать/обновлять причем и при появлении на серваке нового бранча делать

git branch --track ${branch\#\#\*/} НОВЫЙ_БРАНЧ_С_СЕРВАКА

и это не говоря про то что он должен уметь еще и показывать список бранчей и локальный и тот что на серваке ага…

В общем если хотите что-то делать или чем то помогать то делайте это. Иначе после первого числа в оверлее у sys-kernel/geek-sources гарантированно работать будет только USE=ice а дальше я буду попросту отключать поломанные USE флаги по мере возникновения проблем с ними.

Всем успехов, счастья и радости.

Comments