LINUX.ORG.RU

Как переименовать файл (в SRC_URI)?

 ,


0

1

Я хочу скачать исходники в архиве, но не с зеркала, а с левого места (с тега на github).

Проблема в том, что тег сделали короткий, только из версии (vN.M) поэтому имя архива с исходниками получилось vN.M.tag.gz

А генту скачивает все архивы в одну директорию. Со временем произойдёт коллизия.

Читал такую документацию:
http://docs.openembedded.ru/src_uri_variable.html

Не понял, как дать другое имя скачанному файлу (то есть, чтобы в манифесте имя было другое и в /usr/package/distfiles или /var/calculate/remote/distfiles не было коллизий)

А генту скачивает все архивы в одну директорию.

там же есть DL_DIR

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

я вот что нашел - http://www.funtoo.org/Portage_Variables

Starting with EAPI 2, it is possible to rename source tarballs, which comes in handy when pulling down tagged sources from GitHub, using the following trick.

GITHUB_USER="foo"
SRC_URI="https://github.com/${GITHUB_USER}/${PN}/tarball/${PV} -> ${PN}-git-${PV}.tgz"
 
src_prepare() {
  cd "${WORKDIR}"/${GITHUB_USER}-${PN}-*
  S="$(pwd)"
}

Изучай лучше git-r3.eclass

это не совсем то же самое (потому что архив с исходниками и контрольной суммой не образуется на локальном диске). А вдруг потом удалённый сервер затонет? А у меня архив останется.

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

http://devmanual.gentoo.org/ebuild-writing/eapi/
A new syntax is supported which allows customization of the output file name for a given URI. In order to customize the output file name, a given URI should be followed by a "->" operator which, in turn, should be followed by the desired output file name. As usual, all tokens, including the operator and output file name, should be separated by whitespace.

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

А вдруг потом удалённый сервер затонет? А у меня архив останется.

Для этого есть EGIT3_STORE_DIR, хотя я не проверял.

iVS ★★★★★
()

А откуда коллизии-то взяться? У других пакетов свои имена, у этого версии будут меняться и название файла так же будет другим.

shell-script ★★★★★
()

Дополню ответ funeralismatic:

Курить devmanual до просветления. Тут перечислены особенности EAPI, в том числе и Customization of Output File Names in SRC_URI, которое тебя интересует.

Вообще все основные переменные ебилда(SRC_URI, HOMEPAGE, P и т.д.) описаны в devmanual достаточно подробно. А специфические переменные еклассов как правило документированы в самих еклассах, ну и в app-portage/eclass-manpages

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.