[devel] Q: duplicate tcl() self-provides

Dmitry V. Levin ldv на altlinux.org
Ср Ноя 11 19:09:31 MSK 2020


Hi,

У нас в репозитории обнаружилось несколько пакетов, которые содержат сразу
2 разные версии одного и того же tcl(...) в Provides.  Предполагаю, что во
всех случаях это ошибки, поскольку сравнения версий в rpm работают не так,
как ожидают люди, когда у пакета больше одной версии.  Кто-нибудь знает,
зачем это было сделано?

$ pkglist-query '[%{PROVIDENAME} %{NAME} %{PROVIDEFLAGS:depflags}%{PROVIDEVERSION}\n]' \
  Sisyphus/{x86_64,noarch}/base.bloat/pkglist.classic |\
  sed -rn -e 's/ \+$//' -e 's/^(tcl\(([^ ]+)) ([^ ]+) ([^ ]+)$/\4 \3 \1/p' |\
  sort -k2 |\
  uniq -D -f1 |\
  sed -rn -e 's/^([^ ]+) ([^ ]+) ([^ ]+)$/\2 \3 \1/p' |\
  sort -k2,2 |\
  column -t -N 'Package:,Provide Name:,Provide Version:'

Package:  Provide Name:        Provide Version:
tcllib    tcl(doctools::idx)   =1.1
tcllib    tcl(doctools::idx)   =2
tcllib    tcl(doctools::toc)   =1.2
tcllib    tcl(doctools::toc)   =2
tcl       tcl(http)            =1.0
tcl       tcl(http)            =2.9.1
tklib     tcl(ico)             =0.3.2
tklib     tcl(ico)             =1.1
tcllib    tcl(math::bigfloat)  =1.2.2
tcllib    tcl(math::bigfloat)  =2.0.2
tcllib    tcl(md5)             =1.4.4
tcllib    tcl(md5)             =2.0.7
tcllib    tcl(sha1)            =1.1.1
tcllib    tcl(sha1)            =2.0.4
tcllib    tcl(snit)            =1.4.2
tcllib    tcl(snit)            =2.3.2
tcllib    tcl(struct)          =1.4
tcllib    tcl(struct)          =2.1
tcllib    tcl(struct::graph)   =1.2.1
tcllib    tcl(struct::graph)   =2.4.3
tcllib    tcl(struct::matrix)  =1.2.2
tcllib    tcl(struct::matrix)  =2.0.4
tcllib    tcl(struct::tree)    =1.2.2
tcllib    tcl(struct::tree)    =2.1.2
tcllib    tcl(wip)             =1.2
tcllib    tcl(wip)             =2.2


-- 
ldv


Подробная информация о списке рассылки Devel