View previous topic :: View next topic |
Author |
Message |
Bor81 n00b
Joined: 31 Aug 2003 Posts: 68 Location: Kyiv, UA
|
Posted: Wed Nov 26, 2003 11:22 pm Post subject: use mirrors |
|
|
Имеется следующая проблема
в некоторых ebuild'aх имеем такую строчку
Quote: |
RESTRICT="nomirror"
|
которая запрещает обращения за файлами(сорцами) к к фтп мирорам
Вопрос: как обойти этот запрет ?
(уж очень не хочется каждый раз править руками ebuild'ы)
Поясню зачем это нужно
У меня имеется в /etc/make.conf такое
сделана это потому, что не все файлы(сорцы) есть на gentoo'шных миррорах
У меня есть утилита которая проходит по укр. фтпишкам, индексирует и сохраняет данные в базу
а get_src_uri.cgi ищет есть ли в базе файл и перенаправляет на нужный мирор |
|
Back to top |
|
|
Urs n00b
Joined: 25 Aug 2003 Posts: 72 Location: Russia, SPb
|
Posted: Thu Nov 27, 2003 10:57 am Post subject: |
|
|
Наверно, обойти можно только "в лоб".
Пройтись по дереву и вырезать nomirror.
Code: |
find /usr/portage -type f -name *.ebuild -exec perl -pi -e 's/nomirror//' {} \;
|
У меня это заняло около 4 мин.
Либо выкусывать непосредственно в конкретном ebuild'е
Code: |
perl -pi -e 's/nomirror//' <путь к ebuild>
|
Сделать alias. |
|
Back to top |
|
|
Bor81 n00b
Joined: 31 Aug 2003 Posts: 68 Location: Kyiv, UA
|
Posted: Thu Nov 27, 2003 11:19 am Post subject: |
|
|
Urs wrote: |
Сделать alias.
|
ага типа
Quote: |
alias esync="emerge sync && find /usr/portage -type f -name \*.ebuild -exec perl -pi -e 's/nomirror//' {} \;"
|
но это и есть те извраты, которые я немного недолюбливаю
хотелось бы "правильного" решения |
|
Back to top |
|
|
Bor81 n00b
Joined: 31 Aug 2003 Posts: 68 Location: Kyiv, UA
|
Posted: Thu Nov 27, 2003 11:47 am Post subject: |
|
|
Quote: |
root@work portage # time find /usr/portage -type f -name \*.ebuild -exec perl -pi -e 's/nomirror//' {} \;
real 2m6.919s
user 0m31.170s
sys 0m39.305s
|
да уж и тормоз мне этот не нравится
и файли перетягивать при каждом sync'e будет
ну а
Quote: |
emerge -pvuD world
|
так это просто вообще ждал вечность |
|
Back to top |
|
|
Urs n00b
Joined: 25 Aug 2003 Posts: 72 Location: Russia, SPb
|
Posted: Thu Nov 27, 2003 8:16 pm Post subject: |
|
|
Ну, блин, ладно, вот специально ради тебя полез в portage
Значит, открываешь /usr/lib/python2.2/site-packages/portage.py
Находишь там
Code: |
if ("nomirror" in settings["RESTRICT"].split()):
mymirrors=[]
else:
|
Ну и меняешь, например на
Code: |
if ("nomirror" in settings["RESTRICT"].split()):
mymirrors=settings["Bor81_IS_COOL"].split()
else:
|
После этого можно в /etc/make.conf добавить
Code: |
Bor81_IS_COOL="ftp://192.168.0.100/Gentoo"
|
Все.
(Я думал еще компилить придется, но нет, само.) |
|
Back to top |
|
|
Bor81 n00b
Joined: 31 Aug 2003 Posts: 68 Location: Kyiv, UA
|
Posted: Fri Nov 28, 2003 8:26 am Post subject: |
|
|
Urs wrote: |
Значит, открываешь /usr/lib/python2.2/site-packages/portage.py
|
Ну просто смешная ситуация получилась
Quote: |
root@work distfiles # ll /usr/lib/python2.2/site-packages/portage.py
ls: /usr/lib/python2.2/site-packages/portage.py: No such file or directory
|
причем
Quote: |
root@work distfiles # locate portage.py
/usr/lib/python2.2/site-packages/portage.py
|
то есть я перед этим проапдейтил
[ebuild U ] sys-apps/portage-2.0.49-r18 [2.0.49-r15] -build
нашел его здесь
/usr/lib/portage/pym/portage.py
и сделал проще
Code: |
# if ("nomirror" in settings["RESTRICT"].split()):
# # We don't add any mirrors.
# pass
# else:
if (1):
for x in settings["GENTOO_MIRRORS"].split():
|
PS: какой все таки галимый этот питон (ИМХО)
отступы только табами а у меня expandtab |
|
Back to top |
|
|
|