acesspost wrote:
>>>Статьи читал http://mcmcc.bat.ru/clam_rar3.html , там патчи
>>>есть только
>>>до версии 0.84, а у меня в портах на FreeBSD только 0.85.1
>>>>смотрю внутрь clamav-0.84-2.fc3.src.rpm и
>>clamav-0.85.1-2.src.rpm сборки
>>от McMCC - патчи clamav-0.84-libunrar3.patch там не отличаются
>> Почему тогда не получается?
>> Делаю так:
> FreeBSD 4.11, все порты последние
> Качаю патчи для clamav и unrar
>http://mcmcc.bat.ru/clamav/unrar-3.4.3_fix.patch>http://mcmcc.bat.ru/clamav/clamav-0.84-libunrar3.patch>> cd /usr/ports/archivers/unrar
> make fetch
> make extract
> cd /usr/ports/archivers/unrar/work/unrar
> patch<unrar-3.4.3_fix.patch
> gmake -f makefile.unix lib
>> cp /usr/ports/archivers/unrar/work/unrar/libunrar3.so /usr/local/lib
> cp /usr/ports/archivers/unrar/work/unrar/dll.hpp /usr/local/include
> cp /usr/ports/archivers/unrar/work/unrar/dll.hpp
> /usr/local/include/libunrar3
> cp /usr/ports/archivers/unrar/work/unrar/libunrar3.so /usr/lib
> cp /usr/ports/archivers/unrar/work/unrar/dll.hpp /usr/include
> cp /usr/ports/archivers/unrar/work/unrar/dll.hpp
> /usr/include/libunrar3
>> cd /usr/ports/archivers/unrar
> make clean
сборку либы анраровой я обсуждать пожалуй не буду, но вот это все вверху
- это порнография полная...
хочешь сделать не так криво - собери отдельный порт
у меня сохранился скрипт для сборки своего порта, вроде там особых
изменений не надо будет делать:
#!/bin/sh
DIST_FILE=unrar-3.4.3_fix.patch
DIST_FILE_FULL=/usr/ports/distfiles/${DIST_FILE}
PORT_DIR=/usr/ports/archivers/libunrar3
SRC_PORT_DIR=/usr/ports/archivers/unrar
rm -rf ${PORT_DIR}
rsync -avz ${SRC_PORT_DIR}/ ${PORT_DIR}/
if [ ! -f ${DIST_FILE_FULL} ]; then
wget http://mcmcc.bat.ru/clamav/${DIST_FILE} -O${DIST_FILE_FULL}
fi
cd ${PORT_DIR}
echo "PATCHFILES=${DIST_FILE}" > ${PORT_DIR}/Makefile.local
echo "PATCH_DIST_STRIP=-p1" >> ${PORT_DIR}/Makefile.local
perl -pi -e 's/(\@\$\{SED\} -e)/$1 "s\|all:\tunrar\|all:\tlib\|" -e/'
${PORT_DIR}/Makefile
perl -pi -e 's/^(PORTNAME=\s*)\S+$/${1}libunrar3/' ${PORT_DIR}/Makefile
perl -pi -e 's/^.*INSTALL_PROGRAM.+\/unrar.*$/\t\@\$\{MKDIR\}
\$\{PREFIX\}\/include\/libunrar3
\t\$\{INSTALL_DATA\} \$\{WRKSRC\}\/dll.hpp \$\{PREFIX\}\/include\/libunrar3
\t\$\{INSTALL_DATA\} \$\{WRKSRC\}\/libunrar3.so \$\{PREFIX}\/lib
/' ${PORT_DIR}/Makefile
make makesum
make patch
make build NOPORTDOCS=yo
make deinstall install
там много строк перенеслось, но я думаю, что разобраться можно
> cd /usr/ports/security/clamav
> make fetch
> make extract
make extract сам выполнит fetch при необходимости
кстати, я не вижу выполненного make patch
> cd /usr/ports/security/clamav/work/clamav-0.85.1/libclamav
> patch<clamav-0.84-libunrar3.patch
кузявее выполнять
cd /usr/ports/security/clamav/work/clamav-0.85.1
patch -p1 < clamav-0.84-libunrar3.patch
> cd /usr/ports/security/clamav/work/clamav-0.85.1
> /usr/local/bin/aclocal19
> /usr/local/bin/autoconf259
> /usr/local/bin/automake19
> После automake19 получаю:
> libclamav/Makefile.am:20: `CFLAGS' is a user variable, you should not
> override it;
> libclamav/Makefile.am:20: use `AM_CFLAGS' instead.
> libclamav/Makefile.am:21: `LDFLAGS' is a user variable, you should not
> override it;
> libclamav/Makefile.am:21: use `AM_LDFLAGS' instead.
> Пробовал исправлять в Makefile.am как просят, ошибки не выдает, но далее все
> так же.
>> cd /usr/ports/security/clamav
> make install
не нужно делать make install при таких экспериментах. лучше make build
> После make install:
> ===> Patching for clamav-0.85.1
> ===> Applying FreeBSD patches for clamav-0.85.1
> 1 out of 1 hunks failed--saving rejects to libclamav/unrarlib.h.rej
> => Patch patch-libclamav_unrarlib.h failed to apply cleanly.
> => Patch(es) patch-Makefile.in patch-configure patch-etc::Makefile.in
> patch-libclamav::zziplib::zzip-conf.h patch-libclamav_clamav.h
> patch-libclamav_mspack_mspack.h applied cleanly.
> *** Error code 1
>> Stop in /usr/ports/security/clamav.
>> Где грабли зарыты???
патч от McMCC конфликтует с одним из патчей порта (c
patch-libclamav_unrarlib.h). т. е. если не накладывать патчи порта, то
патч от McMCC накладывается нормально, но потом не накладываются патчи
портовые. и наоборот.
btw: судя по всему, поддержку rar3 включат в релиз.
если же хочется самому и сейчас, то надо просто удалить
patch-libclamav_unrarlib.h из каталога с патчами порта
или просто запустить вот такой скрипт:
#!/bin/sh
DIST_FILE=clamav-0.84-libunrar3.patch
DIST_FILE_FULL=/usr/ports/distfiles/${DIST_FILE}
PORTS_DIR=/usr/ports
PORT_SUBDIR=security/clamav-libunrar3
PORT_DIR=${PORTS_DIR}/${PORT_SUBDIR}
SRC_PORT_SUBDIR=security/clamav
SRC_PORT_DIR=${PORTS_DIR}/${SRC_PORT_SUBDIR}
rm -rf ${PORT_DIR}
rsync -avz ${SRC_PORT_DIR}/ ${PORT_DIR}/
if [ ! -f ${DIST_FILE_FULL} ]; then
wget http://mcmcc.bat.ru/clamav/${DIST_FILE} -O${DIST_FILE_FULL}
fi
cp patch-libclamav::stdlib.patch ${PORT_DIR}/files/
cd ${PORT_DIR}
echo "PATCHFILES=${DIST_FILE}" > ${PORT_DIR}/Makefile.local
echo "PATCH_DIST_STRIP=-p1" >> ${PORT_DIR}/Makefile.local
echo "CPPFLAGS+= -I\${LOCALBASE}/include/libunrar3" >>
${PORT_DIR}/Makefile.local
echo "LDFLAGS+= -lunrar3" >> ${PORT_DIR}/Makefile.local
make clean
make makesum
rm ${PORT_DIR}/files/patch-libclamav_unrarlib.h
make patch
cd work/clamav-0.8*
aclocal
RETVAL=$?
if ! test $RETVAL = 0 ; then
aclocal19
RETVAL=$?
fi
if test $RETVAL = 0 ; then
autoconf
RETVAL=$?
if ! test $RETVAL = 0 ; then
autoconf259
RETVAL=$?
fi
if test $RETVAL = 0 ; then
automake
RETVAL=$?
if ! test $RETVAL = 0 ; then
automake19
RETVAL=$?
fi
if ! test $RETVAL = 0 ; then
echo "Error while executing automake"
fi
else
echo "Error while executing autoconf"
fi
else
echo "Error while executing aclocal"
fi
cd ../..
if test $RETVAL = 0 ; then
make build
fi
p. s. я не помню, как я настраивал mailman для листа (т. е. проходят ли
аттачи), так что на всякий случай оба скрипта сейчас еще приаттачю к
письму...
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694 CRV2-RIPE, CRV-UANIC
----------- следущая часть -----------
A non-text attachment was scrubbed...
Name: patch_unrar.sh
Type: text/x-sh
Size: 972 bytes
Desc: отсутствует
URL: <http://mta.org.ua/pipermail/sendmail-conf/attachments/20050610/d4f59d91/attachment.bin>
----------- следущая часть -----------
A non-text attachment was scrubbed...
Name: patch_clamav.sh
Type: text/x-sh
Size: 1469 bytes
Desc: отсутствует
URL: <http://mta.org.ua/pipermail/sendmail-conf/attachments/20050610/d4f59d91/attachment-0001.bin>