Понижаем версию порта freebsd

Иногда после обновления портов FreeBSD оказывается, что софт который вы хотите поставить несовместим в одним из ваших новых портов, в таких случаях необходимо понизить версию порта и поставить более старое ПО. Для этого будем использовать portdowngrade:
cd /usr/ports/ports-mgmt/portdowngrade
make DEFAULT_CVS_SERVER="anoncvs@anoncvs1.FreeBSD.org:/home/ncvs" install clean
rehash

Теперь понижаем версию порта
portdowngrade lang/erlang
отвечаем на несколько вопросов:
1) какой порт понижать, в моём случе 1
2) хотите ли вы продолжить (yes)
3) ввести порядковый номер перечмсленных версий, в моём случае 17

portdowngrade 0.6 by Heiner Eichmann
Please note, that nothing is changed in the ports tree
unless it is explicitly permitted in step 6!

Seeking port lang/erlang ...

Found several matches:
1: lang/erlang
2: lang/erlang-doc
3: lang/erlang-lite

Please choose one: 1

Downgrading port: lang/erlang

Step 1: Checking out port from CVS repository
CVS root directory: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs
The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established.
DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts.

Step 2: Reading the port history from the CVS repository

Step 3: Analyzing the port history from the CVS repository

Step 4: Load port version numbers and present results
Keys: : next page d : details
p : previous page
: leave presentation and downdgrade if wanted
=================================================================
number date portversion comment
1 2009/09/06 13:34:11 r13b01_6 Add "buildplt" target to Makefile. When invoked, it builds a
2 2009/09/06 13:29:38 r13b01_6 Remove NOPRECIOUSMAKEVARS; when ARCH is i386, set ARCH=x86 in
3 2009/09/06 13:20:07 r13b01_6 Use "+=" rather than "=" when modifying CONFIGURE_ENV.
4 2009/07/31 13:53:13 r13b01_6 - bump all port that indirectly depends on libjpeg and have n
5 2009/07/15 16:55:44 r13b01_5 Fix a few "bad example" problems in the rc.d scripts that hav
6 2009/07/01 14:58:04 r13b01_5 The per-thread last floating point exception pointer is not i
7 2009/06/13 10:02:42 r13b01_4 Add bugfix for ei_decode_big.
8 2009/06/12 15:24:53 r13b01_3 files/patch-lib_compiler_src_beam__utils.erl:
9 2009/06/11 16:35:12 r13b01_2 Unbreak PLIST for erlang-lite.
10 2009/06/11 16:32:24 r13b01_1 Mark as MAKE_JOBS_UNSAFE.
11 2009/06/11 11:02:02 r13b01_1 Upgrade to version R13B01.
12 2009/06/10 15:57:29 r13b_1 Remove dependency on GCC 4.3: allow proper CFLAGS to reach li
13 2009/06/04 12:19:13 r13b_1 Bump PORTREVISION due to the recent PLIST changes.
14 2009/06/04 11:20:54 r13b Restore installation of erl_call.
15 2009/06/04 10:32:57 r13b Add missing application: erts-5.7.1.
16 2009/06/03 13:47:14 r13b Upgrade to version R13B.
17 2009/02/23 14:46:31 r12b5_3 - Change default Tcl/Tk version to 8.5
18 2009/01/05 20:36:28 r12b5_2 - Remove conditional checks for FreeBSD 5.x and older
19 2008/11/17 21:30:16 r12b5_2 Fix an issue related to mktime(3) returning -1 when tm_isdst
20 2008/11/06 16:19:03 r12b5_1 The tarball was re-rolled to install the eunit.hrl file.
21 2008/11/05 23:32:21 r12b5 Upgrade to version R12B-5.
22 2008/11/02 14:26:41 r12b4_1 Add correct exit code patch.
23 2008/11/02 13:59:27 r12b4_1 Retire incorrect patch (QAT).
24 2008/11/02 13:50:08 r12b4_1 Create missing empty directory from pkg-plist to avoid a pkg_
Total lines: 180. Command:
Enter version number to change port to (0: exit): 17

Step 5: Checking out choosen date of the port from the CVS repository

Step 6: Modifying the port
Port: lang/erlang
at : 2009/02/23 14:46:31
Подтверждаем физический откат порта, пишем "yes", что нам и нужно.
Если мы хотим посмотреть изменения, без физического отката, пишем "no"
Type 'yes' to bring the port to the state of the date above
or 'no' to exit without changing anything. Note, that this only changes
the port, not the installed software! yes or no:yes

The port has been set to the selected version. Install it if you wish.
If you have portupgrade installed, you should run

portsdb -Uu

now, to see the changes in the ports database. In any case

portupgrade -f erlang

will install the changed port. Note: if you run cvsup, the port
is changed back to the choosen label!

cd /usr/ports/lang/erlang
ee Makefile

И видим уже более старую версию:
PORTNAME= erlang
PORTVERSION= r12b5

ТО , что надо!

Добавить комментарий