On Wed, Jul 06, 2016 at 02:17:58AM +0300, Dmitry V. Levin wrote: > On Wed, Jul 06, 2016 at 12:13:45AM +0300, Alexey Tourbin wrote: > > 2016-07-05 22:54 GMT+03:00 Igor Zubkov : > > > Hi, > > > > > > Разбираясь с проблемами packages.altlinux.org я выяснил интересные вещи. > > > > > > branch = Branch.find_by!(name: '4.0') > > > branch.srpms.count # => 6877 > > > branch.srpms.select('DISTINCT srpms.name').count # => 6868 > > > > > > Тут девять лишних пакетов. srpms.name это Name: из пакета (%{NAME}). > > > > Действительно. > > > > $ rsync -n rsync.altlinux.org::ALTLinux/4.0/branch/files/SRPMS/ |awk > > 'sub(/-[^-]+-[^-]+$/,"",$NF){print$NF}' |sort |uniq -D > > И src.list это подтверждают (для 4.0 и 4.1): > > $ for d in *; do f="$d/latest/files/list/src.list" && test -s "$f" && echo -n "$d: " && cut -f1 "$f" |uniq -d |wc -l; done > 4.0: 9 > 4.1: 10 > 5.0: 0 > 5.1: 0 > c6: 0 > p5: 0 > p6: 0 > p7: 0 > sisyphus: 0 > t6: 0 > > При этом сборка пакетов в 4.0 и 4.1 была выключена более 3 лет назад... $ for a in noarch i586 x86_64; do sed -rn "s/^([^[:space:]]+)[[:space:]][^[:space:]]+[[:space:]]$a[[:space:]].*/\\1/p" 4.0/files/list/bin.list; done |wc -l 20893 $ for a in noarch i586 x86_64; do sed -rn "s/^([^[:space:]]+)[[:space:]][^[:space:]]+[[:space:]]$a[[:space:]].*/\\1/p" 4.0/files/list/bin.list |uniq -d; done |wc -l 0 $ for a in noarch i586 x86_64; do sed -rn "s/^([^[:space:]]+)[[:space:]][^[:space:]]+[[:space:]]$a[[:space:]].*/\\1/p" 4.1/files/list/bin.list |uniq -d; done |wc -l 0 [ldv@wom ALT]$ for a in noarch i586 x86_64; do sed -rn "s/^([^[:space:]]+)[[:space:]][^[:space:]]+[[:space:]]$a[[:space:]].*/\\1/p" 4.1/files/list/bin.list; done |wc -l 24668 Т.е. в обоих случаях это было расхождение версий пакетов между архитектурами. Самый свежий из них в 4.1: $ cut -f1 ../list/src.list |uniq -d |join -o2.3 - ../list/src.list |xargs -r ls -got |head -1 -rw-r--r-- 10 8729583 апр 8 2008 lazarus-0.9.24-alt3.src.rpm -- ldv