Заставить мой собственный пакет debian разрешить зависимость R от определенного репозитория

Я создал пакет ubuntu / debian, который устанавливает приложение, зависящее от R. При установке я хочу, чтобы пакет устанавливал R из репозитория по адресу:

deb http://cran.uk.r-project.org/bin/linux/ubuntu веселый /

потому что этот репозиторий содержит последнюю версию R. Я попытался добавить пакет в файл sources.list из сценария предварительной установки пакетов, но, похоже, это не сработало.

Есть идеи, как я могу принудительно использовать этот репозиторий?


person Community    schedule 22.06.2009    source источник


Ответы (2)


Вам действительно не следует устанавливать другие пакеты из сценария preinst. Это делает невозможным для apt или dpkg выяснение зависимостей пакетов. Правильный способ - указать актуальную версию как зависимость в файле debian/control:

Depends: R (>= x.y)

Например:

Depends: libapr0 (>= 2.0.54)

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

person Bruno De Fraine    schedule 22.06.2009
comment
Я не имел в виду фактическую установку пакета из сценария preinst, просто добавлял другой репозиторий, содержащий последнюю версию R. Мой сценарий preinst выглядит так: #! / Bin / sh # добавить репозиторий для новой версии из R echo deb cran.uk.r-project.org/bin/linux/ убунту веселый / | sudo tee -a /etc/apt/sources.list sudo apt-get update Когда пакет был установлен, R все еще был загружен из обычного репозитория, а файл sources.list по какой-то причине не изменился. - person ; 22.06.2009
comment
Похоже, что мой сценарий preinst появился на одну строку выше, его нужно разбить на 4. - person ; 22.06.2009

Вы можете изучить функциональные возможности Synaptic Force Version (см. http://linuxph.wordpress.com/2010/11/19/force-version-in-synaptic)

person Gani Mendoza    schedule 07.12.2010
comment
какое-то объяснение поможет этому ответу - person dove; 05.12.2012