SPECS (rpm-4_5): rpm.spec - deem. need different sources for db due md5

Jakub Bogusz qboosh at pld-linux.org
Wed Sep 3 20:51:56 CEST 2008


On Wed, Sep 03, 2008 at 07:15:16PM +0300, Elan Ruusamäe wrote:
> On Wednesday 03 September 2008 18:15:30 Jakub Bogusz wrote:
> > On Wed, Sep 03, 2008 at 04:44:34PM +0200, glen wrote:
> > > Author: glen                         Date: Wed Sep  3 14:44:34 2008 GMT
> > > Module: SPECS                         Tag: rpm-4_5
> > > ---- Log message:
> > > - deem. need different sources for db due md5
> > >
> > > -Source19:	http://download.oracle.com/berkeley-db/db-%{reqdb_ver}.tar.gz
> > > +Source19:	http://download.oracle.com/berkeley-db/db-4.5.20.tar.gz
> > >  # Source19-md5:	b0f1c777708cb8e9d37fb47e7ed3312d
> > > +Source20:	http://download.oracle.com/berkeley-db/db-4.7.25.tar.gz
> > > +# Source20-md5:	ec2b87e833779681a0c3a814aa71359e
> > >  %patchset_source -f
> > > http://www.oracle.com/technology/products/berkeley-db/db/update/%{reqdb_v
> > >er}/patch.%{reqdb_ver}.%g 1 %{reqdb_patch}
> > > Patch1067:	%{name}-disable-features.patch
> > >  Patch1070:	%{name}-rpmrc-ac.patch
> > > @@ -656,8 +658,12 @@
> > >  %prep
> > >  %setup -q
> > >  %if %{with internal_db}
> > > +%if "%{pld_release}" == "th"
> > > +%{__tar} -zxf %{SOURCE20} -C db3 --strip-components=1
> > > +%else
> > >  %{__tar} -zxf %{SOURCE19} -C db3 --strip-components=1
> > >  %endif
> > > +%endif
> >
> > Uh oh. Haven't "internal db" madness reached its maximum yet?
> >
> > Serveral issues now:
> > - It makes rpm sources weight almost 30MB(!) (compared to 7MB from
> > upstream, which IIRC include yet one more copy of db sources)
> see below
> 
> > - files (patches) list is conditional, not strictly defined by spec
> >   alone
> isn't this against our policy that sources/patches shouldn't be conditional, 
> or what do you mean?

That was the point, patch list shouldn't be conditional and %patchset gave
conditional results.

As for Ac/Th db sources, cost of including 10+MB of sources to avoid
spec branch is too big.

> > - using different version of db than system one requires to provide
> >   db utils (db_recover, db_dump etc.) in that particular version as well
> 
> i haven't had successful build with internal db, so no %files update yet...
> 
> > What are profits?
> > None if version of internal db ever changes. This would mean need to
> > maintain some old db version even if Oracle stops.
> 
> how do you suggest solving this bug?
> https://bugs.launchpad.net/pld-linux/ac/+bug/247567

As for db maintenance - I though about db changes themselves, not
clashes.

Currently _this_ bug is worked around by internal db used in nss_db, but
it seems more general problem with glibc importing too much from nss
module (think about different versions of mysql or ldap libs).
I'm not sure if it still exists with current glibc, IIRC I've seen some
comments on libc-alpha or so.


BTW, just found funny rpm "bug" (originated from patch about 9 years
ago, when rpm didn't accept specs with non-ascii characters):
https://bugzilla.redhat.com/show_bug.cgi?id=226377#c14


-- 
Jakub Bogusz    http://qboosh.pl/


More information about the pld-devel-en mailing list