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

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


Hi,

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

$ pkglist-query '[%{PROVIDENAME} %{NAME} %{PROVIDEFLAGS:depflags}%{PROVIDEVERSION}\n]' \
  Sisyphus/{x86_64,noarch}/base.bloat/pkglist.classic |\
  sed -rn -e 's/ \+$//' -e 's/^(osgi\([^ ]+) ([^ ]+) ([^ ]+)$/\3 \2 \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:
guava                              osgi(com.google.guava)                                    =25.0.0
guava                              osgi(com.google.guava)                                    =25.0.0.jre
google-guice                       osgi(com.google.inject)                                   =1.4
google-guice                       osgi(com.google.inject)                                   =4.2.2
guice-assistedinject               osgi(com.google.inject.assistedinject)                    =1.4
guice-assistedinject               osgi(com.google.inject.assistedinject)                    =4.2.2
guice-grapher                      osgi(com.google.inject.grapher)                           =1.4
guice-grapher                      osgi(com.google.inject.grapher)                           =4.2.2
guice-jndi                         osgi(com.google.inject.jndi)                              =1.4
guice-jndi                         osgi(com.google.inject.jndi)                              =4.2.2
guice-servlet                      osgi(com.google.inject.servlet)                           =1.4
guice-servlet                      osgi(com.google.inject.servlet)                           =4.2.2
guice-throwingproviders            osgi(com.google.inject.throwingproviders)                 =1.4
guice-throwingproviders            osgi(com.google.inject.throwingproviders)                 =4.2.2
guice-jmx                          osgi(com.google.inject.tools.jmx)                         =1.4
guice-jmx                          osgi(com.google.inject.tools.jmx)                         =4.2.2
atinject                           osgi(javax.inject)                                        =1.0.0
atinject                           osgi(javax.inject)                                        =1.0.0.v20091030
javamail                           osgi(javax.mail)                                          =1.5
javamail                           osgi(javax.mail)                                          =1.5.2
lpg-java-compat                    osgi(net.sourceforge.lpg.lpgjavaruntime)                  =1.1.0
lpg-java-compat                    osgi(net.sourceforge.lpg.lpgjavaruntime)                  =1.1.0.v200803061910
fop                                osgi(org.apache.batik.pdf)                                =1.6.0
fop                                osgi(org.apache.batik.pdf)                                =1.6.0.v200806031500
apache-commons-codec               osgi(org.apache.commons.codec)                            =1.11
apache-commons-codec               osgi(org.apache.commons.codec)                            =1.11.0
ganttproject                       osgi(org.apache.commons.codec)                            =1.4
ganttproject                       osgi(org.apache.commons.codec)                            =1.5
apache-commons-el                  osgi(org.apache.commons.el)                               =1.0.0
apache-commons-el                  osgi(org.apache.commons.el)                               =1.0.0.v200806031608
apache-commons-lang                osgi(org.apache.commons.lang)                             =2.6
apache-commons-lang                osgi(org.apache.commons.lang)                             =2.6.0
apache-commons-logging             osgi(org.apache.commons.logging)                          =1.2
apache-commons-logging             osgi(org.apache.commons.logging)                          =1.2.0
apache-commons-net                 osgi(org.apache.commons.net)                              =3.6
apache-commons-net                 osgi(org.apache.commons.net)                              =3.6.0
xalan-j2                           osgi(org.apache.xml.serializer)                           =2.7.1
xalan-j2                           osgi(org.apache.xml.serializer)                           =2.7.1.v200806030322
eclipse-jdt                        osgi(org.eclipse.jdt.annotation)                          =1.1.100.v20160511.1000
eclipse-jdt                        osgi(org.eclipse.jdt.annotation)                          =2.1.0.v20160511.1000
jetty-alpn-client                  osgi(org.eclipse.jetty.alpn.client)                       =9.4.19
jetty-alpn-client                  osgi(org.eclipse.jetty.alpn.client)                       =9.4.19.v20190610
jetty-alpn-client                  osgi(org.eclipse.jetty.alpn.openjdk8.client)              =9.4.19
jetty-alpn-client                  osgi(org.eclipse.jetty.alpn.openjdk8.client)              =9.4.19.v20190610
jetty-alpn-server                  osgi(org.eclipse.jetty.alpn.openjdk8.server)              =9.4.19
jetty-alpn-server                  osgi(org.eclipse.jetty.alpn.openjdk8.server)              =9.4.19.v20190610
jetty-alpn-server                  osgi(org.eclipse.jetty.alpn.server)                       =9.4.19
jetty-alpn-server                  osgi(org.eclipse.jetty.alpn.server)                       =9.4.19.v20190610
jetty-annotations                  osgi(org.eclipse.jetty.annotations)                       =9.4.19
jetty-annotations                  osgi(org.eclipse.jetty.annotations)                       =9.4.19.v20190610
jetty-ant                          osgi(org.eclipse.jetty.ant)                               =9.4.19
jetty-ant                          osgi(org.eclipse.jetty.ant)                               =9.4.19.v20190610
jetty-jstl                         osgi(org.eclipse.jetty.apache.jstl)                       =9.4.19
jetty-jstl                         osgi(org.eclipse.jetty.apache.jstl)                       =9.4.19.v20190610
jetty-cdi                          osgi(org.eclipse.jetty.cdi.cdi2)                          =9.4.19
jetty-cdi                          osgi(org.eclipse.jetty.cdi.cdi2)                          =9.4.19.v20190610
jetty-cdi                          osgi(org.eclipse.jetty.cdi.core)                          =9.4.19
jetty-cdi                          osgi(org.eclipse.jetty.cdi.core)                          =9.4.19.v20190610
jetty-cdi                          osgi(org.eclipse.jetty.cdi.servlet)                       =9.4.19
jetty-cdi                          osgi(org.eclipse.jetty.cdi.servlet)                       =9.4.19.v20190610
jetty-cdi                          osgi(org.eclipse.jetty.cdi.websocket)                     =9.4.19
jetty-cdi                          osgi(org.eclipse.jetty.cdi.websocket)                     =9.4.19.v20190610
jetty-client                       osgi(org.eclipse.jetty.client)                            =9.4.19
jetty-client                       osgi(org.eclipse.jetty.client)                            =9.4.19.v20190610
jetty-continuation                 osgi(org.eclipse.jetty.continuation)                      =9.4.19
jetty-continuation                 osgi(org.eclipse.jetty.continuation)                      =9.4.19.v20190610
jetty-deploy                       osgi(org.eclipse.jetty.deploy)                            =9.4.19
jetty-deploy                       osgi(org.eclipse.jetty.deploy)                            =9.4.19.v20190610
jetty-fcgi-client                  osgi(org.eclipse.jetty.fcgi.client)                       =9.4.19
jetty-fcgi-client                  osgi(org.eclipse.jetty.fcgi.client)                       =9.4.19.v20190610
jetty-fcgi-server                  osgi(org.eclipse.jetty.fcgi.server)                       =9.4.19
jetty-fcgi-server                  osgi(org.eclipse.jetty.fcgi.server)                       =9.4.19.v20190610
jetty-http                         osgi(org.eclipse.jetty.http)                              =9.4.19
jetty-http                         osgi(org.eclipse.jetty.http)                              =9.4.19.v20190610
jetty-http-spi                     osgi(org.eclipse.jetty.http.spi)                          =9.4.19
jetty-http-spi                     osgi(org.eclipse.jetty.http.spi)                          =9.4.19.v20190610
jetty-http2-client                 osgi(org.eclipse.jetty.http2.client)                      =9.4.19
jetty-http2-client                 osgi(org.eclipse.jetty.http2.client)                      =9.4.19.v20190610
jetty-http2-http-client-transport  osgi(org.eclipse.jetty.http2.client.http)                 =9.4.19
jetty-http2-http-client-transport  osgi(org.eclipse.jetty.http2.client.http)                 =9.4.19.v20190610
jetty-http2-common                 osgi(org.eclipse.jetty.http2.common)                      =9.4.19
jetty-http2-common                 osgi(org.eclipse.jetty.http2.common)                      =9.4.19.v20190610
jetty-http2-hpack                  osgi(org.eclipse.jetty.http2.hpack)                       =9.4.19
jetty-http2-hpack                  osgi(org.eclipse.jetty.http2.hpack)                       =9.4.19.v20190610
jetty-http2-server                 osgi(org.eclipse.jetty.http2.server)                      =9.4.19
jetty-http2-server                 osgi(org.eclipse.jetty.http2.server)                      =9.4.19.v20190610
jetty-io                           osgi(org.eclipse.jetty.io)                                =9.4.19
jetty-io                           osgi(org.eclipse.jetty.io)                                =9.4.19.v20190610
jetty-jaas                         osgi(org.eclipse.jetty.jaas)                              =9.4.19
jetty-jaas                         osgi(org.eclipse.jetty.jaas)                              =9.4.19.v20190610
jetty-jmx                          osgi(org.eclipse.jetty.jmx)                               =9.4.19
jetty-jmx                          osgi(org.eclipse.jetty.jmx)                               =9.4.19.v20190610
jetty-jndi                         osgi(org.eclipse.jetty.jndi)                              =9.4.19
jetty-jndi                         osgi(org.eclipse.jetty.jndi)                              =9.4.19.v20190610
jetty-jspc-maven-plugin            osgi(org.eclipse.jetty.jspc.plugin)                       =9.4.19
jetty-jspc-maven-plugin            osgi(org.eclipse.jetty.jspc.plugin)                       =9.4.19.v20190610
jetty-maven-plugin                 osgi(org.eclipse.jetty.maven.plugin)                      =9.4.19
jetty-maven-plugin                 osgi(org.eclipse.jetty.maven.plugin)                      =9.4.19.v20190610
jetty-nosql                        osgi(org.eclipse.jetty.nosql)                             =9.4.19
jetty-nosql                        osgi(org.eclipse.jetty.nosql)                             =9.4.19.v20190610
jetty-plus                         osgi(org.eclipse.jetty.plus)                              =9.4.19
jetty-plus                         osgi(org.eclipse.jetty.plus)                              =9.4.19.v20190610
jetty-proxy                        osgi(org.eclipse.jetty.proxy)                             =9.4.19
jetty-proxy                        osgi(org.eclipse.jetty.proxy)                             =9.4.19.v20190610
jetty-quickstart                   osgi(org.eclipse.jetty.quickstart)                        =9.4.19
jetty-quickstart                   osgi(org.eclipse.jetty.quickstart)                        =9.4.19.v20190610
jetty-rewrite                      osgi(org.eclipse.jetty.rewrite)                           =9.4.19
jetty-rewrite                      osgi(org.eclipse.jetty.rewrite)                           =9.4.19.v20190610
jetty-security                     osgi(org.eclipse.jetty.security)                          =9.4.19
jetty-security                     osgi(org.eclipse.jetty.security)                          =9.4.19.v20190610
jetty-jaspi                        osgi(org.eclipse.jetty.security.jaspi)                    =9.4.19
jetty-jaspi                        osgi(org.eclipse.jetty.security.jaspi)                    =9.4.19.v20190610
jetty-server                       osgi(org.eclipse.jetty.server)                            =9.4.19
jetty-server                       osgi(org.eclipse.jetty.server)                            =9.4.19.v20190610
jetty-servlet                      osgi(org.eclipse.jetty.servlet)                           =9.4.19
jetty-servlet                      osgi(org.eclipse.jetty.servlet)                           =9.4.19.v20190610
jetty-servlets                     osgi(org.eclipse.jetty.servlets)                          =9.4.19
jetty-servlets                     osgi(org.eclipse.jetty.servlets)                          =9.4.19.v20190610
jetty-spring                       osgi(org.eclipse.jetty.spring)                            =9.4.19
jetty-spring                       osgi(org.eclipse.jetty.spring)                            =9.4.19.v20190610
jetty                              osgi(org.eclipse.jetty.start)                             =9.4.19
jetty                              osgi(org.eclipse.jetty.start)                             =9.4.19.v20190610
jetty-start                        osgi(org.eclipse.jetty.start)                             =9.4.19
jetty-start                        osgi(org.eclipse.jetty.start)                             =9.4.19.v20190610
jetty-unixsocket                   osgi(org.eclipse.jetty.unixsocket)                        =9.4.19
jetty-unixsocket                   osgi(org.eclipse.jetty.unixsocket)                        =9.4.19.v20190610
jetty-util                         osgi(org.eclipse.jetty.util)                              =9.4.19
jetty-util                         osgi(org.eclipse.jetty.util)                              =9.4.19.v20190610
jetty-util-ajax                    osgi(org.eclipse.jetty.util.ajax)                         =9.4.19
jetty-util-ajax                    osgi(org.eclipse.jetty.util.ajax)                         =9.4.19.v20190610
jetty-webapp                       osgi(org.eclipse.jetty.webapp)                            =9.4.19
jetty-webapp                       osgi(org.eclipse.jetty.webapp)                            =9.4.19.v20190610
jetty-websocket-api                osgi(org.eclipse.jetty.websocket.api)                     =9.4.19
jetty-websocket-api                osgi(org.eclipse.jetty.websocket.api)                     =9.4.19.v20190610
jetty-websocket-client             osgi(org.eclipse.jetty.websocket.client)                  =9.4.19
jetty-websocket-client             osgi(org.eclipse.jetty.websocket.client)                  =9.4.19.v20190610
jetty-websocket-common             osgi(org.eclipse.jetty.websocket.common)                  =9.4.19
jetty-websocket-common             osgi(org.eclipse.jetty.websocket.common)                  =9.4.19.v20190610
jetty-javax-websocket-client-impl  osgi(org.eclipse.jetty.websocket.javax.websocket)         =9.4.19
jetty-javax-websocket-client-impl  osgi(org.eclipse.jetty.websocket.javax.websocket)         =9.4.19.v20190610
jetty-javax-websocket-server-impl  osgi(org.eclipse.jetty.websocket.javax.websocket.server)  =9.4.19
jetty-javax-websocket-server-impl  osgi(org.eclipse.jetty.websocket.javax.websocket.server)  =9.4.19.v20190610
jetty-websocket-server             osgi(org.eclipse.jetty.websocket.server)                  =9.4.19
jetty-websocket-server             osgi(org.eclipse.jetty.websocket.server)                  =9.4.19.v20190610
jetty-websocket-servlet            osgi(org.eclipse.jetty.websocket.servlet)                 =9.4.19
jetty-websocket-servlet            osgi(org.eclipse.jetty.websocket.servlet)                 =9.4.19.v20190610
jetty-xml                          osgi(org.eclipse.jetty.xml)                               =9.4.19
jetty-xml                          osgi(org.eclipse.jetty.xml)                               =9.4.19.v20190610
eclipselink                        osgi(org.eclipse.persistence.core)                        =2.6.3
eclipselink                        osgi(org.eclipse.persistence.core)                        =2.6.3.v20160428-59c81c5
eclipselink                        osgi(org.eclipse.persistence.dbws)                        =2.6.3
eclipselink                        osgi(org.eclipse.persistence.dbws)                        =2.6.3.v20160428-59c81c5
eclipselink                        osgi(org.eclipse.persistence.extension)                   =2.6.3
eclipselink                        osgi(org.eclipse.persistence.extension)                   =2.6.3.v20160428-59c81c5
eclipselink                        osgi(org.eclipse.persistence.jpa)                         =2.6.3
eclipselink                        osgi(org.eclipse.persistence.jpa)                         =2.6.3.v20160428-59c81c5
eclipselink                        osgi(org.eclipse.persistence.jpa.jpql)                    =2.6.3
eclipselink                        osgi(org.eclipse.persistence.jpa.jpql)                    =2.6.3.v20160428-59c81c5
eclipselink                        osgi(org.eclipse.persistence.jpa.modelgen)                =2.6.3
eclipselink                        osgi(org.eclipse.persistence.jpa.modelgen)                =2.6.3.v20160428-59c81c5
eclipselink                        osgi(org.eclipse.persistence.moxy)                        =2.6.3
eclipselink                        osgi(org.eclipse.persistence.moxy)                        =2.6.3.v20160428-59c81c5
eclipselink                        osgi(org.eclipse.persistence.sdo)                         =2.6.3
eclipselink                        osgi(org.eclipse.persistence.sdo)                         =2.6.3.v20160428-59c81c5
glassfish-jsp                      osgi(org.glassfish.web.javax.servlet.jsp)                 =2.3.3
glassfish-jsp                      osgi(org.glassfish.web.javax.servlet.jsp)                 =2.3.3.b02
hamcrest-core                      osgi(org.hamcrest.core)                                   =1.3.0
hamcrest-core                      osgi(org.hamcrest.core)                                   =1.3.0.v201303031735
hamcrest                           osgi(org.hamcrest.generator)                              =1.3.0
hamcrest                           osgi(org.hamcrest.generator)                              =1.3.0.v20090501071000
hamcrest                           osgi(org.hamcrest.integration)                            =1.3.0
hamcrest                           osgi(org.hamcrest.integration)                            =1.3.0.v20090501071000
hamcrest                           osgi(org.hamcrest.library)                                =1.3.0
hamcrest                           osgi(org.hamcrest.library)                                =1.3.0.v20090501071000
hibernate-jpa-2.0-api              osgi(org.hibernate.javax.persistence)                     =1.0.1
hibernate-jpa-2.0-api              osgi(org.hibernate.javax.persistence)                     =1.0.1.Final
sat4j                              osgi(org.sat4j.core)                                      =2.3.5
sat4j                              osgi(org.sat4j.core)                                      =2.3.5.v20130405
sat4j                              osgi(org.sat4j.pb)                                        =2.3.5
sat4j                              osgi(org.sat4j.pb)                                        =2.3.5.v20130405
sac                                osgi(org.w3c.css.sac)                                     =1.3.0
sac                                osgi(org.w3c.css.sac)                                     =1.3.0.v200805290154


-- 
ldv


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