dadv: (Default)
Choose your future ([personal profile] dadv) wrote2010-04-25 06:19 pm

Ещё некромантии: clamav-0.96 & FreeBSD 4.11

Если кто ещё не в курсе: начиная с 15 апреля 2010 версии clamav 0.94.x и старее отключаются с очередным обновлением баз:

All ClamAV releases older than 0.95 are affected by a bug in freshclam which prevents incremental updates from working with signatures longer than 980 bytes.
You can find more details on this issue on our bugzilla (see bug #1395)

This bug affects our ability to distribute complex signatures (e.g. logical signatures) with incremental updates.

So far we haven’t released any signatures which exceed this limit.
Before we do we want as many users as possible to upgrade to the latest version of ClamAV.

Starting from 15 April 2010 our CVD will contain a special signature which disables all clamd installations older than 0.95 – that is to say older than 1 year.

Обновить версию до 0.96 можно и на FreeBSD 4.11. После обновления дерева портов:

echo '_GCCVERSION=029504' >> /etc/make.conf
cd /usr/ports/security/clamav
fetch http://www.grosbein.net/freebsd/patches/clamav-0.96.diff.gz
gunzip clamav-0.96.diff.gz
patch -p1 < clamav-0.96.diff
make clean config # отключить LLVM
make all deinstall install


При отключенном LLVM (новая фича в clamav-0.96) вполне возможно собрать эту версию системным gcc-2.95.4 и clamav работает. Для того, чтобы использовать и LLVM, нужно сначала поставить пакетом gcc-3.4 (14Mb) и собирать порт им:

pkg_add -r ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/4.11-RELEASE/packages/lang/gcc-3.4.4_20041224.tgz
или
pkg_add -r http://www.grosbein.net/freebsd/gcc-3.4.6_20051206.tgz
make USE_GCC=3.4 clean config all deinstall install


Всё замечательно работает. Установка дополнительной версии gcc не влияет на системный компилятор и не сказывается на работе системы. Новым gcc софт собирается, только если это явно затребовать (например, через USE_GCC=3.4, см. выше).

[identity profile] reedcat.livejournal.com 2010-04-30 05:35 am (UTC)(link)
[root@mail /usr/ports/security/clamav]$make clean config
"Makefile", line 111: Could not find bsd.port.options.mk
make: fatal errors encountered -- cannot continue

[identity profile] dadv.livejournal.com 2010-04-30 06:21 am (UTC)(link)
> После обновления дерева портов

bsd.port.options.mk находится в /usr/ports/Mk/

[identity profile] reedcat.livejournal.com 2010-04-30 07:07 am (UTC)(link)
Так обновил... Что, перенести туда? :)

[identity profile] dadv.livejournal.com 2010-04-30 07:46 am (UTC)(link)
При штатном обновлении ничего никуда не надо переносить, оно там автоматически появится.

[identity profile] reedcat.livejournal.com 2010-04-30 08:02 am (UTC)(link)
тьфублин... ну да, у меня не ports-all апдейтились, а только ports-security

ports-base добавить достаточно будет?


UPD: недостаточно :(
Edited 2010-04-30 08:07 (UTC)

[identity profile] dadv.livejournal.com 2010-04-30 08:58 am (UTC)(link)
Там ещё зависимость от свежего bzip2, потому что в четверке глючный и вообще. Полностью дерево обновлять надо.

[identity profile] reedcat.livejournal.com 2010-04-30 07:41 pm (UTC)(link)
обновил... но все равно options.mk не находит, сволочь :(

[identity profile] dadv.livejournal.com 2010-04-30 08:13 pm (UTC)(link)
А он там есть? Если нет, надо сказать cvsup -L1 -h cvsup.freebsd.org /usr/src/share/examples/cvsup/ports-supfile. Надеюсь там этот файл никто не редактировал. Если редактировал, то вытащить оригинальный ports-supfile любым способом, хоть через cvsweb, хоть обновлением src до RELENG_4.

[identity profile] reedcat.livejournal.com 2010-04-30 09:30 pm (UTC)(link)
Редактировал этот файл (ports-supfile) я...
И только в двух местах - имя сайта с которого качать и наборы портов, какие качать.


загрузка с -L1 ничего такого нового не дала.

[identity profile] dadv.livejournal.com 2010-04-30 09:35 pm (UTC)(link)
Ещё раз:

1. Взять оригинальный файл и не трогать его содержимое.
2. Использовать указанную выше команду, то есть качать с cvsup.freebsd.org, а не, например, с какого-нибудь полупротухшего местного зеркала.

[identity profile] reedcat.livejournal.com 2010-04-30 09:36 pm (UTC)(link)
ровно так и делаю. правил я, естественно, копию...

[identity profile] dadv.livejournal.com 2010-04-30 09:44 pm (UTC)(link)
Вывод ls -l /usr/ports/Mk в студию.

[identity profile] reedcat.livejournal.com 2010-04-30 09:51 pm (UTC)(link)
Ну, вот нету там bsd.options... Ж( Ой, есть...

[dol@mail ~]$ls -l /usr/ports/Mk
total 766
-rw-r--r-- 1 root wheel 13879 30 ��� 12:02 bsd.apache.mk
-rw-r--r-- 1 root wheel 10361 30 ��� 12:02 bsd.autotools.mk
-rw-r--r-- 1 root wheel 2652 31 ��� 22:07 bsd.cmake.mk
-rw-r--r-- 1 root wheel 3312 3 ��� 2009 bsd.commands.mk
-rw-r--r-- 1 root wheel 14946 26 ��� 17:42 bsd.database.mk
-rw-r--r-- 1 root wheel 7660 12 ��� 2008 bsd.destdir.mk
-rw-r--r-- 1 root wheel 13383 30 ��� 12:02 bsd.efl.mk
-rw-r--r-- 1 root wheel 8263 20 ��� 23:19 bsd.emacs.mk
-rw-r--r-- 1 root wheel 5409 13 ��� 2009 bsd.fpc.mk
-rw-r--r-- 1 root wheel 6661 15 ��� 01:36 bsd.gcc.mk
-rw-r--r-- 1 root wheel 20746 28 ��� 10:30 bsd.gecko.mk
-rw-r--r-- 1 root wheel 35041 28 ��� 23:05 bsd.gnome.mk
-rw-r--r-- 1 root wheel 19510 2 ��� 07:30 bsd.gnustep.mk
-rw-r--r-- 1 root wheel 6773 30 ��� 12:02 bsd.gstreamer.mk
-rw-r--r-- 1 root wheel 21285 30 ��� 12:02 bsd.java.mk
-rw-r--r-- 1 root wheel 4953 30 ��� 12:02 bsd.kde.mk
-rw-r--r-- 1 root wheel 5240 7 ��� 00:52 bsd.kde4.mk
-rw-r--r-- 1 root wheel 3398 20 ��� 01:38 bsd.ldap.mk
-rw-r--r-- 1 root wheel 23927 14 ��� 2009 bsd.linux-apps.mk
-rw-r--r-- 1 root wheel 7897 30 ��� 12:02 bsd.linux-rpm.mk
-rw-r--r-- 1 root wheel 771 30 ��� 2007 bsd.local.mk
-rw-r--r-- 1 root wheel 18951 30 ��� 12:02 bsd.lua.mk
-rw-r--r-- 1 root wheel 1956 30 ��� 12:02 bsd.mail.mk
-rw-r--r-- 1 root wheel 5514 30 ��� 12:02 bsd.ocaml.mk
-rw-r--r-- 1 root wheel 2496 14 ��� 03:56 bsd.octave.mk
-rw-r--r-- 1 root wheel 4857 30 ��� 12:02 bsd.openssl.mk
-rw-r--r-- 1 root wheel 9937 25 ��� 23:25 bsd.perl.mk
-rw-r--r-- 1 root wheel 13369 23 ��� 20:48 bsd.php.mk
-rw-r--r-- 1 root wheel 216960 28 ��� 01:58 bsd.port.mk
-rw-r--r-- 1 root wheel 556 29 ��� 2007 bsd.port.options.mk
-rw-r--r-- 1 root wheel 139 25 ��� 1999 bsd.port.post.mk
-rw-r--r-- 1 root wheel 140 25 ��� 1999 bsd.port.pre.mk
-rw-r--r-- 1 root wheel 17022 30 ��� 12:02 bsd.port.subdir.mk
-rw-r--r-- 1 root wheel 26404 30 ��� 12:02 bsd.python.mk
-rw-r--r-- 1 root wheel 9918 22 ��� 00:13 bsd.qt.mk
-rw-r--r-- 1 root wheel 18288 29 ��� 03:59 bsd.ruby.mk
-rw-r--r-- 1 root wheel 2492 30 ��� 12:02 bsd.scons.mk
-rw-r--r-- 1 root wheel 4287 30 ��� 12:02 bsd.sdl.mk
-rw-r--r-- 1 root wheel 68931 6 ��� 05:53 bsd.sites.mk
-rw-r--r-- 1 root wheel 14635 30 ��� 12:02 bsd.tcl.mk
-rw-r--r-- 1 root wheel 17489 30 ��� 12:02 bsd.wx.mk
-rw-r--r-- 1 root wheel 2307 30 ��� 12:02 bsd.xfce.mk
-rw-r--r-- 1 root wheel 14457 25 ��� 2009 bsd.xorg.mk
[dol@mail ~]$
Edited 2010-04-30 21:51 (UTC)

[identity profile] dadv.livejournal.com 2010-04-30 09:56 pm (UTC)(link)
И всё равно "Could not find bsd.port.options.mk" ?
Тогда содержимое /etc/make.conf в студию.

[identity profile] reedcat.livejournal.com 2010-04-30 10:08 pm (UTC)(link)
[dol@mail ~]$cat /etc/make.conf | sed -e '/^#/d'
CPUTYPE=p4
BDECFLAGS= -W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
-Wcast-qual -Wchar-subscripts -Winline \
-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
-Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings
NO_FORTRAN= true # do not build g77 and related libraries
WITHOUT_X11=YES
X11BASE=${LOCALBASE}
PERL_VER=5.8.8
PERL_VERSION=5.8.8
NOPERL=yes
_GCCVERSION=029504

[identity profile] reedcat.livejournal.com 2010-04-30 10:38 pm (UTC)(link)
Совсем что-то все рассыпалось...

===> accessibility/at-spi-reference failed
*** Error code 1
"Makefile", line 58: Could not find bsd.port.options.mk
make: fatal errors encountered -- cannot continue
"Makefile", line 50: warning: "(cd /usr/ports/archivers/hs-zip-archive-ghc/../../lang/ghc && make -V PORT_HADDOCK)" returned non-zero status
"Makefile", line 58: Could not find bsd.port.options.mk
make: fatal errors encountered -- cannot continue
"Makefile", line 42: warning: "(cd /usr/ports/archivers/hs-zlib/../../lang/ghc && make -V PORT_HADDOCK)" returned non-zero status
Variable __JAVA_PORTS_POSSIBLE is recursive.
===> archivers/javatar failed
*** Error code 1
2 errors

[identity profile] dadv.livejournal.com 2010-05-01 03:21 am (UTC)(link)
uname -rs в студию.

[identity profile] reedcat.livejournal.com 2010-05-01 01:16 pm (UTC)(link)
Легко :)

[dol@mail ~]$uname -rs
FreeBSD 4.11-RELEASE-p11

[identity profile] dadv.livejournal.com 2010-05-01 03:25 pm (UTC)(link)
Либо 4.11-STABLE, на которых я трижды успешно проделал указанное, чем-то существенно отличаются от 4.11-RELEASE(-pN), либо в данной конкретной инсталляции FreeBSD 4.11-RELEASE-p11 что-то сильно поломано... Если в ядре есть options KTRACE, можно ещё сделать ktrace -i make clean all и потом kdump|less и посмотреть там в самый конец, по какому реально пути ищется bsd.port.options.mk.

[identity profile] reedcat.livejournal.com 2010-05-02 07:00 am (UTC)(link)
Скорее второе... :(

Надо как можно скорее пересаживать всех на новый сервер на семерке и прекращать заниматься некромантией :)

[identity profile] dadv.livejournal.com 2010-04-30 06:52 am (UTC)(link)
Классный юзерпик :-)

[identity profile] reedcat.livejournal.com 2010-04-30 07:08 am (UTC)(link)
Ага... Самое приятное, что не фотошоп... Фото реального кота... :)

[identity profile] dadv.livejournal.com 2010-04-30 07:49 am (UTC)(link)
Тоже реальная кошка и не фотошоп.