Peter Palfrader <wea...@debian.org> writes: > We should get proper syncing back soon, and ideally also fix ftpsync > such that it just works for everyone, including you. I don't think > downgrading is necessart just yet. > >> Here is my most recent ftpsync log: >> Oct 21 16:17:14 punk ftpsync[52281]: Latest recorded rsync transfer >> speed: 867 KB/s > > After that, it tries to write the tracefile and this seems failed. > > It seems it failed while writing the new tracefile. It ends with > writing some log line from cleanup() into the trace file [1]. > > It wrote Trigger:, but never wrote any Architectures: or related > information, suggesting it fell over in that part of the code: > > | if [[ ${INFO_TRIGGER:-} ]]; then > | echo "Trigger: ${INFO_TRIGGER}" > | fi > | > | if [[ -d ${TO}/dists ]]; then > | ARCH=$(find ${TO}/dists \( -name 'Packages.*' -o -name > 'Sources.*' \) -printf '%h\n' 2>/dev/null | > | sed -Ene 's#.*/binary-([^/]+)$#\1#p; s#.*/(source)$#\1#p' | > sort -u | tr '\n' ' ') > | if [[ $ARCH ]]; then > | echo "Architectures: ${ARCH}" > | fi > | fi > | if [[ ${ARCH_INCLUDE} ]]; then > | echo "Architectures-Configuration: INCLUDE $(tr ' ' '\n' <<< > ${ARCH_INCLUDE} | sort -u | tr '\n' ' ')" > | elif [[ ${ARCH_EXCLUDE} ]]; then > | echo "Architectures-Configuration: EXCLUDE $(tr ' ' '\n' <<< > ${ARCH_EXCLUDE} | sort -u | tr '\n' ' ')" > | else > | echo "Architectures-Configuration: ALL" > | fi > | echo "Upstream-mirror: ${RSYNC_HOST}" > | echo "Rsync-Transport: ${RSYNC_TRANSPORT}" > > ... > > Can you tell us more about your environment? Do you have find/sed > variants we did not test with?
We're running in a FreeBSD jail. The GNU versions of both the findutils and sed are available as installable FreeBSD packages, but to keep them out of the way of the base system counterparts, they get installed as gfind and gsed. I have these packages installed now, but it won't use them unless the binaries are called by those names. On our site, running 'uname' with no options returns "FreeBSD". That will allow for a testable condition in the script if you want to have ftpsync check for that. I haven't experimented with it, but I'm almost certain it's BSD sed that's breaking it. The only difference between the two finds that ever affects my daily usage is that GNU find seems to just default to your current directory if you don't specify path(s) to search in, and in BSD find, at least one path is required to run. It doesn't look like the code above would break any of that, since I don't see find being invoked with no path anywhere here. BSD sed on the other hand has all kinds of uniqueness going on. It's very likely the problem could be fixed by calling gsed on FreeBSD sites, and requiring that FreeBSD sites must have gsed. -- + Brent A. Busby + "Controlling a laser + UNIX Systems Admin + with Linux is crazy..." + University of Chicago + + Physical Sciences Div. + -- Linus Torvalds, + James Franck Institute + creator of Linux