[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Rawhide Rpm 4.2.0-65 on Redhat 8.0, 4



On Sun, 2003-02-02 at 09:58, Jeff Johnson wrote:
> On Sun, Feb 02, 2003 at 09:14:23AM -0500, Ted Kaczmarek wrote:
> > Has anyone tried rpm 4.2.0-65 on RH 8 yet?
> 
> I have.
> 
> > If so any opinions?
> 
> rpm-4.2 is mostly "cooked" at this point.
> 
> There are a couple of areas that are going to be painful.
> 
> 1) rpm-4.2 uses db-4.1.24
> 
>    db-4.1.24 is backwards compatible, but has bumped the versions for
>    the on-disk format. Translated into rpm terms, that means that you can
>    freely switch between rpm-4.2, rpm-4.1, and rpm-4.0.4 until you do
>    a --rebuilddb with rpm-4.2. Pushing db-4.1.24 back to rpm-4.1 and
>    rpm-4.0.4 is already in CVS.
> 
> 2) db-4.1.24 is compiled with --enable-posixmutexes using nptl.
> 
>    The latest glibc/kernel supply NPTL, New PThreads for Linux iirc.
>    The implementation, at least on i686, is stable and reliable imho.
> 
>    rpm-4.2 uses a small part of NPTL to share locks implemented using
>    futex(2). Translated to rpm terms, that means that stale lock hangs
>    are gone no matter how rpm exits.
> 
>    What's going to be painful is that rpm locking now depends on
>    which kernel is booted and which glibc is installed. In order
>    to support this ac/dc behavior, rpm checks for the necessary
>    functionality, and sets DB_PRIVATE (i.e. only a single process
>    will access the database) if NPTL is not available.
> 
> 3) rpmbuild in 4.2 generates depdendencies internally, not using
>    the previous find-requires/find-provides mechanism.
> 
>    Expect a few differences for Elf libraries that
> 	a) don't have the executable bit set.
> 	b) have symlinks to a a library without a proper DT_SONAME.
> 
>    The plumbing for perl dependencies is a little different, so there
>    are some differences in what is generated even though the code
>    that generates dependencies hasn't changed at all.
> 
>    OTOH, packages built with rpm-4.2 now have a file class (think:
>    file(1) output) available through --fileclass, a file color
>    (1=Elf32, 2=Elf64, 0=other) display with --filecolor, and the
>    dependencies of each file can be displayed using --fileprovide
>    or --filerequire. There are no legacy issues with the implementation.
> 
> So, if you want to try rpm-4.2 from Raw Hide, I'd suggest
> 
> 0) Save a copy of your database
>   	cd /var/lib
> 	tar czvf rpmdb.tar.gz rpm/Packages
> 
> 1) Upgrade to (at least) glibc-2.3.1-38 and kernel-2.4.20-2.26 so that
>    NPTL is functional.
> 
> 2) Upgrade to rpm-4.2-0.65 or later.
> 
> HTH
> 
> 73 de Jeff
Thanks a bunch Jeff.
Where would rpm be without you :-)
Ted





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []