[opensuse-packaging] Requires: %name = %version-%release
Hi, A lot of openSUSE packages require an exact version-release of another subpackage of the same spec. Is this really needed? While it makes sense for some special packages like *-debuginfo or the gcc subpackages, does a *-devel or even *-doc package really need to depend on the runtime package from the _same build_? IMHO it only makes debugging and testing harder, because one has to update / downgrade certain sets of packages atomically, instead of just upgrading the one package with one patch added. And "one patch added" is usually the only difference (if any) between libxy-version-release and libxy-version-(release+1). Opinions? Should we eliminate these strict dependencies where possible? Or should we use them everywhere? As it is now, it's inconsistent at least. I attached a script that I used for checking which Factory RPMS have such dependencies. The second attachment is the output of the script. Michal aelfred-demo requires aelfred = %version-%release bsh2-demo requires bsh2 = %version-%release castor-demo requires castor = %version-%release castor-test requires castor = %version-%release castor-xml requires castor = %version-%release geronimo-jetty-servlet-container requires geronimo = %version-%release geronimo-tomcat-servlet-container requires geronimo = %version-%release gnu-regexp-demo requires gnu-regexp = %version-%release jakarta-commons-httpclient3-demo requires jakarta-commons-httpclient3 = %version-%release jdepend-demo requires jdepend = %version-%release junit-demo requires junit = %version-%release jython-demo requires jython = %version-%release moodle-af requires moodle = %version-%release moodle-ar requires moodle = %version-%release moodle-be requires moodle = %version-%release moodle-bg requires moodle = %version-%release moodle-bs requires moodle = %version-%release moodle-ca requires moodle = %version-%release moodle-cs requires moodle = %version-%release moodle-da requires moodle = %version-%release moodle-de requires moodle = %version-%release moodle-de_du requires moodle = %version-%release moodle-el requires moodle = %version-%release moodle-es requires moodle = %version-%release moodle-et requires moodle = %version-%release moodle-eu requires moodle = %version-%release moodle-fa requires moodle = %version-%release moodle-fi requires moodle = %version-%release moodle-fr requires moodle = %version-%release moodle-ga requires moodle = %version-%release moodle-gl requires moodle = %version-%release moodle-he requires moodle = %version-%release moodle-hi requires moodle = %version-%release moodle-hr requires moodle = %version-%release moodle-hu requires moodle = %version-%release moodle-id requires moodle = %version-%release moodle-is requires moodle = %version-%release moodle-it requires moodle = %version-%release moodle-ja requires moodle = %version-%release moodle-ka requires moodle = %version-%release moodle-km requires moodle = %version-%release moodle-kn requires moodle = %version-%release moodle-ko requires moodle = %version-%release moodle-lt requires moodle = %version-%release moodle-lv requires moodle = %version-%release moodle-mi_tn requires moodle = %version-%release moodle-ms requires moodle = %version-%release moodle-nl requires moodle = %version-%release moodle-nn requires moodle = %version-%release moodle-no requires moodle = %version-%release moodle-pl requires moodle = %version-%release moodle-pt requires moodle = %version-%release moodle-ro requires moodle = %version-%release moodle-ru requires moodle = %version-%release moodle-sk requires moodle = %version-%release moodle-sl requires moodle = %version-%release moodle-so requires moodle = %version-%release moodle-sq requires moodle = %version-%release moodle-sr requires moodle = %version-%release moodle-sv requires moodle = %version-%release moodle-th requires moodle = %version-%release moodle-tl requires moodle = %version-%release moodle-tr requires moodle = %version-%release moodle-uk requires moodle = %version-%release moodle-vi requires moodle = %version-%release moodle-zh_cn requires moodle = %version-%release struts-webapps-tomcat5 requires struts = %version-%release tomcat55-admin-webapps requires tomcat55 = %version-%release tomcat55-common-lib requires tomcat55-servlet-2.4-api = %version-%release tomcat55-common-lib requires tomcat55-jsp-2.0-api = %version-%release tomcat55-common-lib requires tomcat55-jasper = %version-%release tomcat55-common-lib requires tomcat55-servlet-2.4-api = %version-%release tomcat55-common-lib requires tomcat55-jsp-2.0-api = %version-%release tomcat55-common-lib requires tomcat55-jasper = %version-%release tomcat55-jasper requires tomcat55-servlet-2.4-api = %version-%release tomcat55-jsp-2_0-api requires tomcat55-servlet-2.4-api = %version-%release tomcat55-server-lib requires tomcat55-jasper = %version-%release tomcat55-server-lib requires tomcat55-jasper = %version-%release tomcat55-webapps requires tomcat55 = %version-%release tomcat55 requires tomcat55-common-lib = %version-%release tomcat55 requires tomcat55-server-lib = %version-%release tomcat55 requires tomcat55-common-lib = %version-%release tomcat55 requires tomcat55-server-lib = %version-%release xalan-j2-demo requires xalan-j2 = %version-%release xerces-j2-demo requires xerces-j2 = %version-%release xerces-j2-scripts requires xerces-j2 = %version-%release xml-commons-apis requires xml-commons = %version-%release xml-commons-which requires xml-commons = %version-%release ConsoleKit-devel requires ConsoleKit = %version-%release NetworkManager-devel requires NetworkManager = %version-%release NetworkManager-devel requires NetworkManager-glib = %version-%release NetworkManager-glib requires NetworkManager = %version-%release NetworkManager-gnome requires NetworkManager = %version-%release NetworkManager-kde-devel requires NetworkManager-kde = %version-%release NetworkManager-novellvpn-gnome requires NetworkManager-novellvpn = %version-%release NetworkManager-openvpn-gnome requires NetworkManager-openvpn = %version-%release NetworkManager-openvpn-kde requires NetworkManager-kde = %version-%release NetworkManager-vpnc-gnome requires NetworkManager-vpnc = %version-%release NetworkManager-vpnc-kde requires NetworkManager-kde = %version-%release PolicyKit-gnome-demo requires PolicyKit-gnome = %version-%release anthy-devel requires anthy = %version-%release apt-devel requires apt = %version-%release apt-devel requires apt-libs = %version-%release apt-server requires apt-libs = %version-%release apt requires apt-libs = %version-%release audit-devel requires audit-libs = %version-%release audit requires audit-libs = %version-%release binutils-devel requires binutils = %version-%release bytefx-data-mysql requires mono-core = %version-%release bytefx-data-mysql requires mono-data = %version-%release camlp4 requires ocaml = %version-%release cimple-devel requires cimple = %version-%release cimple-openwbem-adapter requires cimple = %version-%release cimple-openwbem-devel requires cimple = %version-%release cimple-openwbem-devel requires cimple-openwbem-adapter = %version-%release cimple-openwbem-devel requires cimple-devel = %version-%release evolution-data-server-devel requires evolution-data-server = %version-%release evolution-devel requires evolution = %version-%release evolution-pilot requires evolution = %version-%release fftw-devel requires fftw = %version-%release fftw-mpi-devel requires fftw = %version-%release fftw-mpi requires fftw = %version-%release fftw-threads-devel requires fftw-threads = %version-%release fftw-threads-devel requires fftw-devel = %version-%release fftw-threads requires fftw = %version-%release fftw3-devel requires fftw3 = %version-%release fftw3-threads-devel requires fftw3-threads = %version-%release fftw3-threads-devel requires fftw3-devel = %version-%release fftw3-threads requires fftw3 = %version-%release file-devel requires file = %version-%release freeglut-devel requires freeglut = %version-%release freeradius-client-devel requires freeradius-client-libs = %version-%release freeradius-client requires freeradius-client-libs = %version-%release gcc41-32bit requires gcc41 = %version-%release gcc41-ada requires gcc41 = %version-%release gcc41-ada requires libada41 = %version-%release gcc41-c++ requires gcc41 = %version-%release gcc41-c++ requires libstdc++41-devel = %version-%release gcc41-fortran-32bit requires gcc41-32bit = %version-%release gcc41-fortran requires gcc41 = %version-%release gcc41-java requires gcc41 = %version-%release gcc41-locale requires gcc41 = %version-%release gcc41-obj-c++ requires gcc41-objc = %version-%release gcc41-obj-c++ requires gcc41-c++ = %version-%release gcc41-objc-32bit requires gcc41-32bit = %version-%release gcc41-objc requires gcc41 = %version-%release gcc41 requires cpp41 = %version-%release gcc42-32bit requires gcc42 = %version-%release gcc42-ada requires gcc42 = %version-%release gcc42-ada requires libada42 = %version-%release gcc42-c++ requires gcc42 = %version-%release gcc42-c++ requires libstdc++42-devel = %version-%release gcc42-fortran-32bit requires gcc42 = %version-%release gcc42-fortran requires gcc42 = %version-%release gcc42-java requires gcc42 = %version-%release gcc42-locale requires gcc42 = %version-%release gcc42-obj-c++ requires gcc42-objc = %version-%release gcc42-obj-c++ requires gcc42-c++ = %version-%release gcc42-objc-32bit requires gcc42 = %version-%release gcc42-objc requires gcc42 = %version-%release gcc42 requires cpp42 = %version-%release gcc43-32bit requires gcc43 = %version-%release gcc43-ada requires gcc43 = %version-%release gcc43-ada requires libada43 = %version-%release gcc43-c++ requires gcc43 = %version-%release gcc43-c++ requires libstdc++43-devel = %version-%release gcc43-fortran-32bit requires gcc43 = %version-%release gcc43-fortran requires gcc43 = %version-%release gcc43-java requires gcc43 = %version-%release gcc43-locale requires gcc43 = %version-%release gcc43-obj-c++ requires gcc43-objc = %version-%release gcc43-obj-c++ requires gcc43-c++ = %version-%release gcc43-objc-32bit requires gcc43 = %version-%release gcc43-objc requires gcc43 = %version-%release gcc43 requires cpp43 = %version-%release git-arch requires git-core = %version-%release git-cvs requires git-core = %version-%release git-email requires git-core = %version-%release git-svn requires git-core = %version-%release gitk requires git-core = %version-%release gnome-sharp2-complete requires art-sharp2 = %version-%release gnome-sharp2-complete requires gconf-sharp2 = %version-%release gnome-sharp2-complete requires gnome-sharp2 = %version-%release gnome-sharp2-complete requires gnome-vfs-sharp2 = %version-%release gnome-sharp2-complete requires gtkhtml-sharp2 = %version-%release gnome-sharp2-complete requires rsvg-sharp2 = %version-%release gnome-sharp2-complete requires vte-sharp2 = %version-%release gok-devel requires gok = %version-%release graphviz-gd requires graphviz = %version-%release graphviz-guile requires graphviz = %version-%release graphviz-java requires graphviz = %version-%release graphviz-lua requires graphviz = %version-%release graphviz-ocaml requires graphviz = %version-%release graphviz-perl requires graphviz = %version-%release graphviz-php requires graphviz = %version-%release graphviz-python requires graphviz = %version-%release graphviz-ruby requires graphviz = %version-%release graphviz-sharp requires graphviz = %version-%release graphviz-tcl requires graphviz = %version-%release gtk-sharp2-complete requires glade-sharp2 = %version-%release gtk-sharp2-complete requires glib-sharp2 = %version-%release gtk-sharp2-complete requires gtk-sharp2 = %version-%release gtk-sharp2-complete requires gtk-sharp2-doc = %version-%release gtk-sharp2-complete requires gtk-sharp2-gapi = %version-%release hal-devel requires hal = %version-%release ibm-data-db2 requires mono-core = %version-%release id3lib-devel requires id3lib = %version-%release java-1_4_2-cacao-devel requires java-1_4_2-cacao = %version-%release java-1_4_2-gcj-compat-devel requires java-1_4_2-gcj-compat = %version-%release java-1_4_2-ibm-demo requires java-1_4_2-ibm = %version-%release java-1_4_2-ibm-devel requires java-1_4_2-ibm = %version-%release java-1_4_2-ibm-src requires java-1_4_2-ibm = %version-%release java-1_5_0-ibm-demo requires java-1_5_0-ibm = %version-%release java-1_5_0-ibm-devel requires java-1_5_0-ibm = %version-%release java-1_5_0-ibm-src requires java-1_5_0-ibm = %version-%release java-1_5_0-sun-alsa requires java-1_5_0-sun = %version-%release java-1_5_0-sun-alsa requires jre-1.5.0-sun-64 = %version-%release java-1_5_0-sun-demo requires java-1_5_0-sun = %version-%release java-1_5_0-sun-demo requires jre-1.5.0-sun-64 = %version-%release java-1_5_0-sun-devel requires java-1_5_0-sun = %version-%release java-1_5_0-sun-devel requires jre-1.5.0-sun-64 = %version-%release java-1_5_0-sun-jdbc requires java-1_5_0-sun = %version-%release java-1_5_0-sun-jdbc requires jre-1.5.0-sun-64 = %version-%release java-1_5_0-sun-src requires java-1_5_0-sun = %version-%release java-1_5_0-sun-src requires jre-1.5.0-sun-64 = %version-%release java-1_6_0-ibm-demo requires java-1_6_0-ibm = %version-%release java-1_6_0-ibm-devel requires java-1_6_0-ibm = %version-%release java-1_6_0-ibm-jdbc requires java-1_6_0-ibm = %version-%release java-1_6_0-ibm-src requires java-1_6_0-ibm = %version-%release java-1_6_0-sun-alsa requires java-1_6_0-sun = %version-%release java-1_6_0-sun-demo requires java-1_6_0-sun = %version-%release java-1_6_0-sun-devel requires java-1_6_0-sun = %version-%release java-1_6_0-sun-jdbc requires java-1_6_0-sun = %version-%release java-1_6_0-sun-src requires java-1_6_0-sun = %version-%release kernel-syms requires kernel-source = %version-%release ksh-devel requires ksh = %version-%release labltk requires ocaml = %version-%release libapparmor-devel requires libapparmor1 = %version-%release libcfitsio-devel requires libcfitsio0 = %version-%release libcfitsio-doc requires libcfitsio0 = %version-%release libetpan-devel requires libetpan11 = %version-%release libnl-devel requires libnl = %version-%release libtidy-devel requires libtidy = %version-%release libunwind-devel requires libunwind = %version-%release libvolume_id-devel requires libvolume_id = %version-%release mono-complete requires bytefx-data-mysql = %version-%release mono-complete requires ibm-data-db2 = %version-%release mono-complete requires mono-core = %version-%release mono-complete requires mono-data = %version-%release mono-complete requires mono-data-oracle = %version-%release mono-complete requires mono-data-postgresql = %version-%release mono-complete requires mono-data-sqlite = %version-%release mono-complete requires mono-data-sybase = %version-%release mono-complete requires mono-extras = %version-%release mono-complete requires mono-locale-extras = %version-%release mono-complete requires mono-web = %version-%release mono-complete requires mono-winforms = %version-%release mono-data-firebird requires mono-core = %version-%release mono-data-firebird requires mono-data = %version-%release mono-data-oracle requires mono-core = %version-%release mono-data-oracle requires mono-data = %version-%release mono-data-postgresql requires mono-core = %version-%release mono-data-postgresql requires mono-data = %version-%release mono-data-sqlite requires mono-core = %version-%release mono-data-sqlite requires mono-data = %version-%release mono-data-sybase requires mono-core = %version-%release mono-data-sybase requires mono-data = %version-%release mono-data requires mono-core = %version-%release mono-devel requires mono-core = %version-%release mono-extras requires mono-core = %version-%release mono-jscript requires mono-core = %version-%release mono-locale-extras requires mono-core = %version-%release mono-nunit requires mono-core = %version-%release mono-web requires mono-core = %version-%release mono-winforms requires mono-core = %version-%release mozilla-nss-devel requires mozilla-nss = %version-%release ncurses-devel requires ncurses = %version-%release ocaml-docs requires ocaml = %version-%release ocaml-emacs requires ocaml = %version-%release ocaml-ocamldoc requires ocaml = %version-%release openwbem-devel requires openwbem = %version-%release powersave-devel requires powersave = %version-%release python-pygame-doc requires python-pygame = %version-%release sabayon-admin requires sabayon = %version-%release seahorse-devel requires seahorse = %version-%release smart-gui requires smart = %version-%release smart-ksmarttray requires smart = %version-%release smart-ksmarttray requires smart-gui = %version-%release splashy-themes requires splashy = %version-%release tack requires ncurses = %version-%release udev requires libvolume_id = %version-%release x11-input-gunze-tools requires x11-input-gunze = %version-%release x11-input-wacom-devel requires x11-input-wacom-tools = %version-%release x11-input-wacom-tools requires x11-input-wacom = %version-%release yum-updatesd requires yum = %version-%release
Hi Michal, Le mercredi 07 novembre 2007, Michal Marek a écrit :
A lot of openSUSE packages require an exact version-release of another subpackage of the same spec. Is this really needed? While it makes sense for some special packages like *-debuginfo or the gcc subpackages, does a *-devel or even *-doc package really need to depend on the runtime package from the _same build_? IMHO it only makes debugging and testing harder, because one has to update / downgrade certain sets of packages atomically, instead of just upgrading the one package with one patch added. And "one patch added" is usually the only difference (if any) between libxy-version-release and libxy-version-(release+1).
Opinions? Should we eliminate these strict dependencies where possible? Or should we use them everywhere? As it is now, it's inconsistent at least.
I agree that requiring just %name = %version should be sufficient in most cases, and would make upgrading somewhat easier. There might be exceptions though, it really depends on the upstream versioning policy. -- Jean Delvare Suse L3 --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (2)
-
Jean Delvare
-
Michal Marek