Как установить предыдущую версию пакета с консоли на Cygwin? - PullRequest
7 голосов
/ 14 марта 2012

Мне нужно написать скрипт, который развертывает многие приложения cygwin с svn-1.6-17. Все мои попытки были закончены установкой или svn-1.7, или ничего.

Я пытался установить Subversion, Subversion-1.6, Subversion-1.6-17. Все было бесполезно.

Как я могу установить предыдущую версию пакета с консоли на Cygwin?

Ответы [ 2 ]

9 голосов
/ 23 октября 2012

Я только что прошел это, и я добавляю это, чтобы помочь следующему человеку. Примечание: эта же техника, вероятно, подойдет для любого пакета Cygwin.

У нас есть сторонний продукт, который напрямую обращается к серверу Subversion, но сохраняет свои каталоги в формате 1.6. Если локальные каталоги обновляются, инструмент ломается. Но мне нужен был способ сделать svn cleanup для случаев, когда инструмент попал в плохое состояние.

Вот как я это сделал:

  • Cygwin Time Machine на crouchingtigerhiddenfruitbat.org поддерживает архивы предыдущих выпусков. Каждый выпуск состоит из файла setup.bz2 (сжатый файл setup.ini) и набора связанных архивов для пакетов этого выпуска.

  • Я искал в списке рассылки cygwin-announce обновления обновлений Subversion. Последнее обновление для 1.6 было 10 июня 2011 года.

  • Далее я прошел по crouchingtigerhiddenfruitbat.org индексам предыдущих выпусков с этой даты, пока не нашел последний выпуск svn 1.6, это был выпуск 1 июля 2011 года.

  • Я загрузил файл setup.bz2 из соответствующего каталога на crouchingtigerhiddenfruitbat (в данном случае: http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/2011/07/01/062011/setup.bz2). Я использовал bunzip2, чтобы распаковать файл setup.bz2 в простой текстовый файл. Я нашел запись для subversion и скопировал путь установки tarball (release / subversion / subversion-1.6.17-1.tar.bz2). Раздел, который вы ищете, выглядит следующим образом: <pre> @ subversion sdesc: "A version control system" ldesc: "Subversion is a version control system that aims to be a compelling replacement for CVS in the open source community" category: Devel requires: libapr1 libaprutil1 libdb4.5 libexpat1 libgcc1 libintl8 libneon27 libsasl2 libserf0_1 libsqlite3_0 zlib0 cygwin version: 1.6.17-1 install: release/subversion/subversion-1.6.17-1.tar.bz2 775392 ed0c4a3cc494564c0539dffedcd5e8b6 source: release/subversion/subversion-1.6.17-1-src.tar.bz2 5551632 1b41eede9a14ea4cedcc462b06b1f7cb [prev] version: 1.6.16-1 install: release/subversion/subversion-1.6.16-1.tar.bz2 1476151 ecbc29b1e1d9694bf8792e3871efa5f8 source: release/subversion/subversion-1.6.16-1-src.tar.bz2 5557232 cb12425d2345a57341f16ad0ff559b84

  • Нас интересует эта строка, которая дает относительный путь к архиву 1.6 svn: <pre> install: release/subversion/subversion-1.6.17-1.tar.bz2 775392

  • Я получил tarball для subversion и извлек его во временный каталог (temp). Я переместил содержимое temp / usr / bin в каталог svn16.

Теперь я могу добавить этот каталог к ​​пути поиска и получить функциональность svn 1.6, например, так:

PATH=~/svn16:$PATH svn up

Примечание: Похоже, что Cygwin Time Machine больше не позволяет просматривать каталоги. Это означает, что вам нужно начать с root и немного покопаться, чтобы найти пакет.

Обновлено со ссылками, поскольку мне просто нужно было сделать это снова.

Примечание 2: Обновлены ссылки на crouchingtigerhiddenfruitbat

7 голосов
/ 18 июня 2012

1) Загрузите пакет subversion с сайта загрузки, предлагаемого установщиком cygwin. Я лично взял его отсюда (64-разрядная версия) и сохранил его в пустой каталог.

РЕДАКТИРОВАТЬ: Если вы хотите 32-разрядную версию, просто удалите "_64" изURL.

Choose A Download site

2) Запустите установщик cygwin и выберите Install from Local Directory, когда он попросит выбрать источник загрузки.

3) Найдите всеотносится к subversion.Удалите ненужную версию и установите старую.Более новая версия уже удалена из образа.

enter image description here

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