Поддержание актуального архива distfiles, Beda, 20-Мрт-05, 05:04 [смотреть все] Потребовалось создать FTP, с архивом distfiles - но немогу понять, как правильно это делать... На ум пришло несколько решений, но времени уйдет жутко много, если их все тестировать - может кто подсказать, в каком направлении двигатся?1. 'make checksum' - в каждой директории это решение самое медленное - я столкнулся с невозможностью автоматизировать процес, т.к. некоторые ports запускают диалоги (как samba) или выдается предупреждение, что требуется заход на сайт (как xmill) 2. 'make fetch' или 'make fetch-recursive' самое неудачное решение (лично для меня) - медлено... т.к. пробует для выкачивания весь списк доступных ftp Скачать например папку distfiles с ftp.freebsd.org - недостаточно (там к сожалению не все), хочется реализовать такой проект - обновляемся по cvsup ports, дальше обновляем distfiles, файлы архивов которые устарели или убраны из ports переместить в архив (кстати, тут забавный момент с портами, которые отмечены как "marked as broken" - что с ними делать?) |
- Поддержание актуального архива distfiles, AMDmi3, 01:09 , 21-Мрт-05 (1)
- Поддержание актуального архива distfiles, Beda, 02:42 , 21-Мрт-05 (2)
>То есть нужно все-все дистфайлы выкачать? да, хотелось бы... идея состоит в том, чтобы обновив по cvsup /usr/ports - оставить в distfiles файлы только для текущего состояния... а предыдущие версии и все остальное, перенести в архив или на болванки. >Тебе, видимо, нужно большего, поэтому пиши свой скрипт, который строит базу данных >по /usr/ports/*/*/distinfo, и, после cvsup, проверяет, какие файлы присутствуют в старой ...тут я столкнулся с такой проблемой, некоторые порты не имеют distinfo, но имеют Makefile - что делать с такой ситуацией? >базе данных и при этом отсутствуют в новой - их следует >переместить в архив. Заодно для всего проверяет MD5. ...тут столкнулся с отсутствием MD5... точнее с отсутсвием хеша, в файле distinfo попадаются записи: MD5 (platon.tar.gz) = IGNORE это значит что? что архив, даже если и изменился внутри - не изменил название? >Можно пойти дальше, и вообще отказать от make fetch, >ftp искать перебором всех (или части) ссылок из ports/Mk/bsd.sites.mk ...но даже в этом случае, будут недоступны архивы, лежащие на сайтах и требующие подтверждения с лицензией... что можно придумать для этой проблемы? А вообще-то странная ситуация... что во фре нет уже готового решения для создания такого хранилища архивов. Например для создания зеркала официального веб-сайта есть настройки и решения, а для distfiles - нет... скорее всего из-за различия в политике лицензирования, но раз внесли в официальное дерево портов - то можно и облегчить доступ к архивам... и поддержания актуального состояния.
- Поддержание актуального архива distfiles, butcher, 09:40 , 21-Мрт-05 (3)
- Поддержание актуального архива distfiles, Beda, 10:48 , 21-Мрт-05 (4)
>Советую посмотреть пакет утилит sysutils/portupgrade >С ней в составе идёт утилита portsclean, поможет удалить лишние distfiles'ы. как я понял - portsclean удаляет "лишние"... исходя из того, какие порты установлены у меня :) а мне нужны все порты.
- Поддержание актуального архива distfiles, butcher, 11:10 , 21-Мрт-05 (5)
- Поддержание актуального архива distfiles, newser, 11:38 , 21-Мрт-05 (6)
- Поддержание актуального архива distfiles, Beda, 13:12 , 21-Мрт-05 (9)
>>как я понял - portsclean удаляет "лишние"... исходя из того, какие порты >>установлены у меня :) а мне нужны все порты. > >Нет, он следит за тем, какие дистфайлы устарели и не используются ниодним >портом. Я у себя переодически запускаю portsclean -D, чтобы удалить старые. >...хм, я правильно понял? что 'portsclean -D' все равно, установлен порт у меня на машине, или нет ?? будет интересно узнать, а есть опция переноса, а не удаления архива? или как вариант - каким либо способом пометить архив (например изменить дату или владельца... и т.д.)? и к сожалению - это только часть решения проблемы... более актуально - получение архивов в автоматическом режиме, особенно тех, что требуют регистрации на сайтах разработчиков.
- Поддержание актуального архива distfiles, butcher, 13:17 , 21-Мрт-05 (10)
- Поддержание актуального архива distfiles, Beda, 13:41 , 21-Мрт-05 (11)
>Установите наконец пакет portupgrade и почитайте мануалы Ок, сегодня посмотрю... до просветления :) >Всё автоматизировать точно не получится. жаль... что будет более правильно при написании своего скрипта - обход дерева портов через поиск distinfo или Makefile? или генерировать INDEX - и использовать его?
|