Зачем deltup?
Nosk 27 Августа, 2010 - 19:56
Долго сидел - думал. Так и не понял шутки юмора.
>>> Fetching (36 of 46) media-libs/gst-plugins-bad-0.10.19 >>> Downloading 'http://trumpetti.atm.tut.fi/gentoo/distfiles/gst-plugins-bad-0.10.19.tar.bz2' Searching for a previously downloaded file in /mnt/dist/all/Gentoo/distfiles/ We have the following candidates to choose from gst-plugins-bad-0.10.18.tar.bz2 The best of all is ... gst-plugins-bad-0.10.18.tar.bz2 Checking if this file is OK. Trying to download gst-plugins-bad-0.10.18.tar.bz2-gst-plugins-bad-0.10.19.tar.bz2.dtu --2010-08-27 23:52:06-- http://linux01.gwdg.de/~nlissne/deltup.php?have=gst-plugins-bad-0.10.18.tar.bz2&want=gst-plugins-bad-0.10.19.tar.bz2&url=http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.19.tar.bz2&version=0.7&time=1282924326 Распознаётся linux01.gwdg.de... 134.76.13.21 Устанавливается соединение с linux01.gwdg.de|134.76.13.21|:80... соединение установлено. Запрос HTTP послан, ожидается ответ... 302 Found Адрес: http://91.191.147.227:81/gst-plugins-bad-0.10.18.tar.bz2-gst-plugins-bad-0.10.19.tar.bz2.dtu [переход] --2010-08-27 23:52:08-- http://91.191.147.227:81/gst-plugins-bad-0.10.18.tar.bz2-gst-plugins-bad-0.10.19.tar.bz2.dtu Устанавливается соединение с 91.191.147.227:81... соединение установлено. Запрос HTTP послан, ожидается ответ... 200 OK Длина: 215885 (211K) [application/octet-stream] Saving to: «deltup.php?have=gst-plugins-bad-0.10.18.tar.bz2&want=gst-plugins-bad-0.10.19.tar.bz2&url=http:%2F%2Fgstreamer.freedesktop.org%2Fsrc%2Fgst-plugins-bad%2Fgst-plugins-bad-0.10.19.tar.bz2&version=0.7&time=1282924326» 100%[==================================================================================>] 215 885 7,76K/s в 23s 2010-08-27 23:52:32 (9,30 KB/s) - «deltup.php?have=gst-plugins-bad-0.10.18.tar.bz2&want=gst-plugins-bad-0.10.19.tar.bz2&url=http:%2F%2Fgstreamer.freedesktop.org%2Fsrc%2Fgst-plugins-bad%2Fgst-plugins-bad-0.10.19.tar.bz2&version=0.7&time=1282924326» saved [215885/215885] GOT deltup.php?have=gst-plugins-bad-0.10.18.tar.bz2&want=gst-plugins-bad-0.10.19.tar.bz2&url=http:%2F%2Fgstreamer.freedesktop.org%2Fsrc%2Fgst-plugins-bad%2Fgst-plugins-bad-0.10.19.tar.bz2&version=0.7&time=1282924326 The dtu could not be fetched, downloading full file from original URL --2010-08-27 23:52:32-- http://trumpetti.atm.tut.fi/gentoo/distfiles/gst-plugins-bad-0.10.19.tar.bz2 Распознаётся trumpetti.atm.tut.fi... 130.230.54.100 Устанавливается соединение с trumpetti.atm.tut.fi|130.230.54.100|:80... соединение установлено. Запрос HTTP послан, ожидается ответ... 200 OK Длина: 3009513 (2,9M) [application/x-bzip2] Saving to: «gst-plugins-bad-0.10.19.tar.bz2» 5% [===> ] 152 025 17,0K/s ост 4m 14s
Или я чего-то не понимаю? Зачем он скачивает разницу, а потом всё же её отвергает? Смысла вообще качать тогда?
cat /etc/make.conf
CFLAGS="-O2 -pipe -march=k8 -mtune=k8 -msse3"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
ACCEPT_KEYWORDS=~amd64
GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo http://distfiles.gentoo.org"
FEATURES="ccache -buildpkg userfetch collision-protect metadata-transfer preserve-libs sandbox"
CCACHE_DIR="/var/tmp/ccache"
CCACHE_SIZE="4G"
PORTDIR_OVERLAY="/usr/local/portage"
DISTDIR="/mnt/dist/all/Gentoo/distfiles/"
FETCHCOMMAND="/usr/bin/getdelta.sh \"\${URI}\" -O \"\${DISTDIR}/\${FILE}\""
»
- Для комментирования войдите или зарегистрируйтесь

The dtu could not be fetched,
Он попытался скачать разницу, но не получилось...
UPD У меня работает
http://paste.pocoo.org/show/255149/
Nosk написал(а): Долго сидел
вообще-то надо вот так:
FETCHCOMMAND="/usr/bin/getdelta.sh \${URI}"У него тоже правильно. Более
У него тоже правильно. Более того, на твою команду портаж ругаться будет, что не используется ${FILE}
да. ругается, но работает. а
да. ругается, но работает. а у Nosk сохраняет разницу вместо
gst-plugins-bad-0.10.18.tar.bz2-gst-plugins-bad-0.10.19.tar.bz2.dtu
в
«deltup.php?have=gst-plugins-bad-0.10.18.tar.bz2&want=gst-plugins-bad-0.10.19.tar.bz2&url=http:%2F%2Fgstreamer.freedesktop.org%2Fsrc%2Fgst-plugins-bad%2Fgst-plugins-bad-0.10.19.tar.bz2&version=0.7&time=1282924326»
eegorov@EGOROV ~ $ grep FETCH
eegorov@EGOROV ~ $ grep FETCH /etc/make.conf FETCHCOMMAND="/usr/bin/getdelta.sh \"\${URI}\" -O \"\${DISTDIR}/\${FILE}\""и все работает....
хм. правда пашет. может у
хм. правда пашет.
может у топикстартера скрипт не тот? старый или ещё что.
не так у него работает как-то.
Предложу неправильный способ.
Столкнулся с подобным не так давно (гентучан в курсе).
Решил для себя эту проблему грубым хаком /usr/bin/getdelta.sh:
@@ -711,6 +711,7 @@ if $FETCH "${DELTUP_SERVER}${query}" then # thanks to deelkar for this much more elegant solution to the "broken pipe" problem with "head -n1" + mv $(ls -c | sed -n 1p) ${best_candidate}-${NEW_FILE}.dtu GOTFILE=$(ls -c | sed -n 1p) output "${YELLOW}GOT ${CYAN}${GOTFILE}\n"Суть - переименование скачанной дельты для обеспечения нормальной работы скрипта.
2eegorov - хм.. до твоего решения почему-то не додумался. Спасибо.
Да пребудет с тобой великий Linux.
Jam666 написал(а): Столкнулся
Yahoo!!! Спасибо! Именно этот грязный хак помог. Началась вся эта непонятка после обновления с portage-2.2_rc67 до portage-2.2_rc69
Раз пошла такая пьянка, может
Раз пошла такая пьянка, может выяснить причину все-таки?
UPD Проверь, чему равна переменная FETCH в скрипте
Это?
cat /usr/bin/getdelta.sh | grep FETCH # - handle metadata.dtd as exception (repoman uses FETCHCOMMAND) add_to_configfile FETCH "/usr/bin/wget -t 1 --passive-ftp" "command to use for downloading" echo -e "${GREEN}FETCHCOMMAND=\"$0 \\\${URI}\"" output "use getdelta.sh for your FETCHCOMMAND, only." && # repoman downloads metadata.dtd with FETCHCOMMAND $FETCH $@ if $FETCH "${localn}${NEW_FILE}" if $FETCH "${DELTUP_SERVER}${query}" $FETCH "${DELTUP_SERVER}${query}" fi # if $FETCH "${DELTUP_SERVER}${query}" $FETCH $ORIG_URIДа нет.
eegorov@EGOROV ~ $ diff -uN /usr/bin/getdelta.sh /tmp/getdelta.sh --- /usr/bin/getdelta.sh 2009-06-28 05:35:43.000000000 +0700 +++ /tmp/getdelta.sh 2010-08-29 10:52:36.577000000 +0700 @@ -479,6 +479,8 @@ exit $? fi +echo $FETCH +exit 0 [ -e deltup-server.msg ] && rm -f deltup-server.msg eegorov@EGOROV ~ $ /tmp/getdelta.sh test /usr/bin/wget -t 1 --passive-ftpUPD
а лучше так
eegorov@EGOROV /tmp $ diff -uN /usr/bin/getdelta.sh /tmp/getdelta.sh --- /usr/bin/getdelta.sh 2009-06-28 05:35:43.000000000 +0700 +++ /tmp/getdelta.sh 2010-08-29 12:32:28.103488620 +0700 @@ -708,6 +708,10 @@ let TIMELIMIT=${FILESIZE}/${BANDWIDTH} [[ $TIMELIMIT -lt $QUEUETIMEOUT ]] && QUEUETIMEOUT=$TIMELIMIT + echo "" + echo $FETCH "${DELTUP_SERVER}${query}" + echo "" + exit 0 if $FETCH "${DELTUP_SERVER}${query}" then # thanks to deelkar for this much more elegant solution to the "broken pipe" problem with "head -n1"и посмотреть, какой командой он пытаеися вытянуть дельту. В моем случае это
wget-1.12-r2 -вот в чём
wget-1.12-r2 -вот в чём собака порылась. изменилось правило для имён файлов при редиректе.
у меня такое же началось после обновления wget
надо в файле
изменить параметр:
на
Спасибо!
Благодарю за фикс!