directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julius Davies" <juliusdav...@gmail.com>
Subject Re: Version numbers on Dependencies
Date Sat, 02 Dec 2006 01:08:13 GMT
Hi, Ole,

I don't know maven at all yet.  Looking forward to learning more about it!

It would be a shame if Maven doesn't support ">=".  I see ">=" occurs
often in the competition ;-).  Automatic upgrades (security updates,
for example) depend on most packages avoiding "=" dependencies where
possible.

Here is a Debian dependency example:
-------------------------
Package: apache2.2-common
Architecture: any
Depends: ${misc:Depends}, apache2-utils, net-tools, libmagic1,
mime-support, lsb-base
Conflicts: apache2-common, libapache2-mod-php5 (<= 5.1.6-3),
libapache2-mod-php4 (<= 4:4.4.4-2), libapache2-mod-mime-xattr (<=
0.3-2), libapache2-mod-mono (<Replaces: apache2-common


Here is RPM's httpd.spec file:
-------------------------
Name: httpd
Version: 2.2.3
Release: 1
Requires: apr >= 1.2.0, apr-util >= 1.2.0, gawk,
/usr/share/magic.mime, /usr/bin/find, openldap
Provides: webserver
Provides: httpd-mmn = %{mmn}
Conflicts: thttpd
Obsoletes: apache, secureweb, mod_dav


Here is Gentoo's apache-2.2.3.ebuild file:
-------------------------
RDEPEND="dev-lang/perl

        >=dev-libs/apr-1.2.7

        >=dev-libs/apr-util-1.2.7

        dev-libs/expat

        dev-libs/libpcre

        app-misc/mime-types

        sys-libs/zlib

        ssl? ( dev-libs/openssl )

        selinux? ( sec-policy/selinux-apache )

        !mips? ( ldap? ( =net-nds/openldap-2* ) )"

DEPEND="${RDEPEND}

        >=sys-devel/autoconf-2.59-r4"


These three "depedency management systems" either don't mention a
version at all (so allowing the dependency resolution engine to just
do its best), or they use ">=".  The use of "=" is very rare!

(Notice that Debian's use of "<=" less-than is only occuring in the
"Conflicts" section).

Regarding:

> Requires:       jpackage-utils

I was just showing an example where no specific version is mentioned.
We just let RPM's database try its best.

You're right that non-versioned dependencies cause of a lot of:

$%#@$%^$#

But always setting "=" has little value.  I want my automatic
upgrades!  To me this is the whole point of entities like Redhat or
Debian or Gentoo, and JPackage, too!  They use ">=" or "unspecified"
so that I can do automatic upgrades as an enduser.  But they're also
very careful about what they put in the "repository" so that my
automatic upgrades don't cause me to say "$%#@$%^$#".


yours,

Julius


On 12/1/06, Ole Ersoy <ole_ersoy@yahoo.com> wrote:
> Hi Julius,
>
> (JPackage team - could you please comment on this if
> you think any of my rationale is kooko...Just remember
> my mailbox limit is 1 Gig)
>
> I have not investigated it personally, but
> someone from JPackage said that it does.
>
> Yes - It does support non-versioned dependencies :-)
>
> Which I think is the cause of a lot of
>
> $%#@$%^$#
>
> showing up in some of the maven support mailing lists.
>
> Personally I'm concerned about using any dependency
> other than one set by =.
>
> One could make the assumption that someone checked all
> the dependencies outside of =.  But if they missed
> one, and someone uses it...
>
> On the other hand = is the only thing used and the
> application builds and runs, users can be fairly
> certain that it's good to go.  They can also be
> certain that the developers took care in specifying
> versioned dependencies.
>
> This also encourages developers to be careful about
> testing when changing depedencies (Since it takes a
> warm body, at least for now).
>
> Sorry - I missed the point of:
>
> Requires:       jpackage-utils
>
> Could you please elaborate?
>
> Thanks,
> - Ole
>
>
>
>
>
> --- Julius Davies <juliusdavies@gmail.com> wrote:
>
> > Hi, Ole,
> >
> > Probably the wrong venue for this question.
> >
> > Does maven2 support the "=, <, >, <=, >=" ranges
> > possible in RPM?
> >
> >
> http://www.rpm.org/max-rpm/s1-rpm-specref-preamble.html#S3-RPM-SPECREF-REQUIRES
> >
> >
> > # I think both can be in single SPEC file, pinning
> > the depedency.
> > Requires:       jpackage-utils >= 0:1.5;
> > Requires:       jpackage-utils < 0:2.0;
> >
> >
> > Also, does mavn2 support non-versioned dependencies?
> >
> > # Just grab latest and greatest.
> > Requires:       jpackage-utils
> >
> > yours,
> >
> > Julius
> >
> >
> > On 12/1/06, Ole Ersoy <ole_ersoy@yahoo.com> wrote:
> > > I'm testing rpm spec file generation right on
> > > apache-server-main version 1.5 and noticed the
> > > following in the:
> > >
> > > Requires: nlog4j = null
> > >
> > > Requires: spring-core = null
> > >
> > > Requires: spring-beans = null
> > >
> > > Requires: commons-logging = null
> > >
> > > Requires: spring-context = null
> > >
> > > So these dependencies have no corresponding
> > version.
> > >
> > > I'll have a much more complete picture of the
> > whole
> > > build soon, but we may want to start updating
> > versions
> > > on all the poms.
> > >
> > > Cheers,
> > > - Ole
> > >
> > >
> > >
> > >
> >
> ____________________________________________________________________________________
> > > Do you Yahoo!?
> > > Everyone is raving about the all-new Yahoo! Mail
> > beta.
> > > http://new.mail.yahoo.com
> > >
> >
> >
> > --
> > yours,
> >
> > Julius Davies
> > 416-652-0183
> > http://juliusdavies.ca/
> >
>
>
>
>
> ____________________________________________________________________________________
> Do you Yahoo!?
> Everyone is raving about the all-new Yahoo! Mail beta.
> http://new.mail.yahoo.com
>


-- 
yours,

Julius Davies
416-652-0183
http://juliusdavies.ca/

Mime
View raw message