如何通过cygwin上的控制台安装以前的软件包版本? [英] How to install previous version of package by console on cygwin?
问题描述
我需要编写一个脚本来部署许多使用svn-1.6-17的cygwin应用程序。所有我的尝试都是通过安装或svn-1.7,或什么都没有完成。
我试图安装subversion,subversion-1.6,subversion-1.6-17。
如何通过cygwin上的控制台安装以前的版本的软件包?
我刚刚通过这个,我添加这个来帮助下一个人。注意:这种技术可能适用于任何cygwin包。
我们有一个第三方产品直接与subversion服务器通信,但保持其目录为1.6格式。如果本地目录更新,工具将断开。但是我需要一种方法来在工具处于坏状态时进行 svn cleanup
。
这里我如何做这个:
-
Cygwin Time Machine 在fruitbat.org维护以前版本的档案。每个版本包含一个setup.bz2(压缩的setup.ini文件)和该版本包的相关归档集合。
-
我搜索了 cygwin-announce 邮件列表更新subversion。
-
接下来,我浏览了fruitbat.org 以前版本的索引从那个日期,直到我发现svn 1.6的最后一个版本,这是2011年7月1日的版本。 / p>
-
我从fruitbat上的相应目录下载了setup.bz2(在这种情况下: ftp://www.fruitbat.org/pub/cygwin/circa/2011/07/01/062011/setup.bz2 )。我使用bunzip2解压缩setup.bz2到一个简单的文本文件。我找到了subversion的条目,并复制安装tarball的路径(release / subversion / subversion-1.6.17-1.tar.bz2)。您要查找的部分如下所示:
@ subversion
sdesc:版本控制系统
ldesc :Subversion是一个版本控制系统,旨在成为一个引人注目的
替换CVS在开源社区
类别:Devel
需要:libapr1 libaprutil1 libdb4.5 libexpat1 libgcc1 libintl8 libneon27 libsasl2 libserf0_1 libsqlite3_0 zlib0 cygwin
版本:1.6.17-1
安装:release / subversion / subversion-1.6.17-1.tar.bz2 775392 ed0c4a3cc494564c0539dffedcd5e8b6
source:release / subversion / subversion- 1.6.17-1-src.tar.bz2 5551632 1b41eede9a14ea4cedcc462b06b1f7cb
[上一页]
版本:1.6.16-1
安装: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 tarball的相对路径:
install:release / subversion / subversion-1.6.17-1.tar.bz2 775392
-
我检索了 tarball for subversion ,并将其解压缩到临时目录(temp)。我将temp / usr / bin的内容移动到svn16目录。
现在,搜索路径并获得svn 1.6的功能如下:
PATH =〜/ svn16:$ PATH svn up
注意:看起来Cygwin Time Machine不再允许目录浏览。这意味着您需要从根开始查找一个包。
更新了链接,因为我只是需要这样做。
I need to write a script that deploy many cygwin applications with svn-1.6-17. All my attempts were finished by installing or svn-1.7, or nothing.
I tried to install subversion, subversion-1.6, subversion-1.6-17. It all was useless.
How I can install previous version of package by console on cygwin?
I just went through this and I'm adding this to help the next person. Note: this same technique will probably work for any cygwin package.
We have a third party product that talks directly to the subversion server, but keeps its directories in the 1.6 format. If the local directories are updated, the tool breaks. But I needed a way to do a svn cleanup
for times when the tool got in a bad state.
Here's how I went about doing this:
Cygwin Time Machine at fruitbat.org maintains archives of previous releases. Each release consists of a setup.bz2 (the compressed setup.ini file) and a collection of related archives for the packages of that release.
I searched the cygwin-announce mailinglist for updates of subversion. The last update for 1.6 was June 10, 2011.
Next, I walked through the fruitbat.org indexes of previous releases from that date until I found the last release of svn 1.6, It was the July 1, 2011 release.
I downloaded setup.bz2 from the corresponding directory on fruitbat (in this case: ftp://www.fruitbat.org/pub/cygwin/circa/2011/07/01/062011/setup.bz2). I used bunzip2 to unpack setup.bz2 to a simple text file. I found the entry for subversion and copied the path of the install tarball (release/subversion/subversion-1.6.17-1.tar.bz2). The section you're looking for looks like this:
@ 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
We're interested in this line that gives the relative path to the 1.6 svn tarball:
install: release/subversion/subversion-1.6.17-1.tar.bz2 775392
I retrieved the tarball for subversion and extracted it to a temporary directory (temp). I moved the contents of temp/usr/bin to a svn16 directory.
Now, I can prepend that directory to the search path and get the functionality of svn 1.6 like so:
PATH=~/svn16:$PATH svn up
Note: It looks like the Cygwin Time Machine no longer allows directory browsing. This means you'll need to start from the root an dig a bit to find a package.
Updated with links as I just needed to do this again.
这篇关于如何通过cygwin上的控制台安装以前的软件包版本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!