Local Distfiles (Скачивание всех исходников для каждого ebuild'a в портежах и оверл)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Ответить
minder
Сообщения: 331
ОС: AIX, Solaris,RHEL,SLES,Gentoo

Local Distfiles

Сообщение minder »

Подскажет может кто, как скачать все исходники в distfiles для каждого ebuild'a в портежах и оверлеях?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Local Distfiles

Сообщение serzh-z »

Никак, только написав скрипт.

Можно посмотреть, как это делает XOR: Срезы Gentoo Linux (XOR).
Спасибо сказали:
minder
Сообщения: 331
ОС: AIX, Solaris,RHEL,SLES,Gentoo

Re: Local Distfiles

Сообщение minder »

А как тот же яндекс делает зеркало distfiles ?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Local Distfiles

Сообщение serzh-z »

minder писал(а):
19.03.2010 17:08
А как тот же яндекс делает зеркало distfiles ?
Делает зеркало через FTP.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Local Distfiles

Сообщение /dev/random »

minder писал(а):
19.03.2010 17:08
А как тот же яндекс делает зеркало distfiles ?

Оверлеи он не трогает. Просто копирует всё, что есть на официальном сервере.
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian
Контактная информация:

Re: Local Distfiles

Сообщение xorader »

serzh-z дал верную ссылку.

Подытожу:
Я использую этот скрипт для этих целей. Скрипт считывает простенький текстовый конфиг со списком ebuild'ов (и USE флагов для них), которые нада закачать, и оформляет список закаченых тарболлов (плюс делит по категориям в разные списки, если требуется).

Если интересно, могу расписать подробней и выдать готовое решение для Вашего случая.

Только возникает вопрос: для каких целей Вам это ? :-/
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2659
ОС: Gentoo

Re: Local Distfiles

Сообщение ormorph »

ebuild файл.ebuild fetch не оно?

довольно просто написать скрипт используя следующую команду:

find /usr/portage \( -name "*.ebuild" \)
просто выполнить цикл
ну или составить list файл и с помощью sed добавить к перечню файлов команды ebuild $1 fetch, и если надо одновременно по несколько файлов качать, тогда по идее можно самое простое разделить list файл на равное чило файлов зделать исполняемыми, и выполнить их ./file1.sh>log1&./file2.sh>log2&file3.sh>log3
Спасибо сказали:
minder
Сообщения: 331
ОС: AIX, Solaris,RHEL,SLES,Gentoo

Re: Local Distfiles

Сообщение minder »

xorader писал(а):
19.03.2010 17:59
serzh-z дал верную ссылку.

Подытожу:
Я использую этот скрипт для этих целей. Скрипт считывает простенький текстовый конфиг со списком ebuild'ов (и USE флагов для них), которые нада закачать, и оформляет список закаченых тарболлов (плюс делит по категориям в разные списки, если требуется).

Если интересно, могу расписать подробней и выдать готовое решение для Вашего случая.

Только возникает вопрос: для каких целей Вам это ? :-/

Да просто, чтобы локальное зеркало было в конторе, ибо не у всех серверов есть доступ к сети,а оверлеи так же используются и как назло в самый неподходящий момент какой-то distfile не находится в зеркале и приходится его качать с другого севера и тратить время.

Спасибо ormorph. Об этом я как то не подумал...Мне то пришла в голову написать скрипт поиска ebuild, определить версии программ и передать все это emerge c опцией -f, но этот метод не так красив)
Что-то типа такого должно сгодиться:

Код: Выделить всё

find /usr/portage/ -name "*.ebuild"|xargs -I {} ebuild {} fetch
find /var/lib//layman/ -name "*.ebuild"|xargs -I {} ebuild {} fetch
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian
Контактная информация:

Re: Local Distfiles

Сообщение xorader »

minder писал(а):
20.03.2010 22:02
...
Спасибо ormorph. Об этом я как то не подумал...Мне то пришла в голову написать скрипт поиска ebuild, определить версии программ и передать все это emerge c опцией -f, но этот метод не так красив)
Что-то типа такого должно сгодиться:

Код: Выделить всё

find /usr/portage/ -name "*.ebuild"|xargs -I {} ebuild {} fetch
find /var/lib//layman/ -name "*.ebuild"|xargs -I {} ebuild {} fetch


Как сделаете - скажите плз, сколько сейчас полное зеркало весит ? 40-50Gb ? :)
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Local Distfiles

Сообщение /dev/random »

xorader писал(а):
21.03.2010 15:53
Как сделаете - скажите плз, сколько сейчас полное зеркало весит ? 40-50Gb ? :)

Shell

$ lftp distfiles.gentoo.org -e 'du gentoo/distfiles; exit' 0 gentoo/distfiles/cvs-src 128148 gentoo/distfiles/public_html 109 gentoo/distfiles/sword/mods.d 27575 gentoo/distfiles/sword/zip 27684 gentoo/distfiles/sword 114032368 gentoo/distfiles

Т.е. ~109G
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian
Контактная информация:

Re: Local Distfiles

Сообщение xorader »

OMG... в два раза (примерно) потолстело за два года!
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1100
ОС: ArchLinux

Re: Local Distfiles

Сообщение Black »

minder писал(а):
20.03.2010 22:02
Что-то типа такого должно сгодиться:

Код: Выделить всё

find /usr/portage/ -name "*.ebuild"|xargs -I {} ebuild {} fetch
find /var/lib//layman/ -name "*.ebuild"|xargs -I {} ebuild {} fetch

В этом случае будут вытягиваться все версии, а нужна, насколько я понял, последняя. Тогда уж лучше искать каталоги с ебилдами, выдёргивать из них последнюю пару, чтобы получалось app-smthng/program, и скармливать это emerge -f.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian
Контактная информация:

Re: Local Distfiles

Сообщение xorader »

В этом случае будут вытягиваться все версии, а нужна, насколько я понял, последняя. Тогда уж лучше искать каталоги с ебилдами, выдёргивать из них последнюю пару, чтобы получалось app-smthng/program, и скармливать это emerge -f.


В итоге, всё что Вам нужно не скачается по многим причинам (разные USE-флаги, разные архитектуры, маски, локали, фазы луны,....)
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1100
ОС: ArchLinux

Re: Local Distfiles

Сообщение Black »

Может и так. Ну тогда просто делать зеркало и не заморачиваться с поиском ебилдов и скармливанием их ebuild <...> fetch - результат должен быть одинаковым.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
alexgray
Сообщения: 1
ОС: Gentoo Linux

Re: Local Distfiles

Сообщение alexgray »

minder писал(а):
19.03.2010 09:27
Подскажет может кто, как скачать все исходники в distfiles для каждого ebuild'a в портежах и оверлеях?


Поставить этот скрипт и настроить.
app-admin/gentoo-rsync-mirror
И через rsync будет прекрасно синхронизироватся то, что хотите.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Local Distfiles

Сообщение /dev/random »

xorader писал(а):
22.03.2010 13:05
OMG... в два раза (примерно) потолстело за два года!

Ну так.. Закон Мура действует и тут ))
Спасибо сказали:
minder
Сообщения: 331
ОС: AIX, Solaris,RHEL,SLES,Gentoo

Re: Local Distfiles

Сообщение minder »

Black писал(а):
22.03.2010 15:14
minder писал(а):
20.03.2010 22:02
Что-то типа такого должно сгодиться:

Код: Выделить всё

find /usr/portage/ -name "*.ebuild"|xargs -I {} ebuild {} fetch
find /var/lib//layman/ -name "*.ebuild"|xargs -I {} ebuild {} fetch

В этом случае будут вытягиваться все версии, а нужна, насколько я понял, последняя. Тогда уж лучше искать каталоги с ебилдами, выдёргивать из них последнюю пару, чтобы получалось app-smthng/program, и скармливать это emerge -f.

как раз нужны все версии, ибо разные архитектуры и KEYWORDS используются.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2659
ОС: Gentoo

Re: Local Distfiles

Сообщение ormorph »

Black писал(а):
23.03.2010 16:22
Может и так. Ну тогда просто делать зеркало и не заморачиваться с поиском ебилдов и скармливанием их ebuild <...> fetch - результат должен быть одинаковым.

не совсем так, на ftp обычно присутствуют исходники более чем для одного дерева портов, будет качатся много лишнего.
ну и тут сказанно что используются еще и оверлеи, следовательно этих пакетов не будет на ftp.
Спасибо сказали:
minder
Сообщения: 331
ОС: AIX, Solaris,RHEL,SLES,Gentoo

Re: Local Distfiles

Сообщение minder »

На зеркалах много того, чего нет в офиц.дереве. Например, KDE-3.
xorader писал(а):
21.03.2010 15:53
Как сделаете - скажите плз, сколько сейчас полное зеркало весит ? 40-50Gb ? :)

У меня получилось 111G с оверлеями:
hardened-development
jmbsvicetto
jokey
kvm
powerpc
sabayon
sunrise
vmware
voip
vps
webapps-experimental
wschlich-testing
xen
zugaina
Спасибо сказали:
Ответить