On Jun 20, 2011, at 10:57 AM, Miller, Vincent (Rick) wrote:

> Hi Jeff…thanks for the reply.  See my replies inline.  Also, I have an 
> rpmbuild error at the tail of this message.
> 
> 
> From: Jeff Johnson <n3...@mac.com>
> Reply-To: <rpm-users@rpm5.org>
> Date: Fri, 17 Jun 2011 19:10:33 -0400
> To: <rpm-users@rpm5.org>
> Subject: Re: rpm errors upon running
> 
> 
> On Jun 17, 2011, at 1:43 PM, Miller, Vincent (Rick) wrote:
> 
>> Hi,
>> 
>> I have installed RPM5 on FreeBSD 8.2-RELEASE and am now unable to do 
>> anything useful with it due to errors.  I tried searching the mail archives 
>> for similar issues, but only found a reference to DB_CONFIG in reference to 
>> initializing a the rpm db.  Since this is a brand new install and there were 
>> no db files on the host, I figured it might apply.  It mentions mmapsize, 
>> which is definitely set, but offered no recommendations into calculating 
>> what to set it to.
>> 
> 
> I don't know how you installed, but
> make install
> from a build SHOULD copy a /var/lib/rpm/DB_CONFIG into place.
> 
> The DB_CONFIG file is MANDATORY with @rpm5.org.
> 
> The DB_CONFIG file was put into place and the truss output shows DB_CONFIG 
> being read.
> 
> 
> The contents (from the rpm-5_3 "production" branch) that pertain to locking 
> tunables are
> 
> # ================ Locking
> set_lk_max_locks        16384
> set_lk_max_lockers      16384
> set_lk_max_objects      16384
> mutex_set_max           163840
> 
> The heuristic (that I use) is that the mutex_set_max should be ~10x larger
> than the other values, which is about the right scaling.
> 
> The size of the others depends on how many packages are managed,
> which is an extrinsic quantity that isn't guessable a priori. 16K -> 64K are
> about the right range, and conservative. There's likely something else
> wrong if you appear to need >64K.
> 
> How did you build rpm? From CVS? rpm-5.4.1 or rpm-5.3.11?
> 
> I downloaded a source tarball for 5.3.4 and installed with the commands below 
> after installing various ports  that appeared to be required.  The ports I 
> installed were popt, beecrypt, pcre, gss, and expat.  Some of these ports had 
> their own dependencies  they installed.
> 

You likely want to use the latest "production" rpm-5.3.11 release instead of 
rpm-5.3.4.
The @rpm5.org project does tick,tock monthly releases.

> ./configure —with-expat CPPFLAGS="-I/usr/local/include" 
> LDFLAGS="-L/usr/local/lib" LIBS="-lgss"
> gmake
> gmake install
> 
> 
> How many packages do you have?
> 
> 
> I currently do not have any RPM packages.  There are a couple hundred ports 
> installed, but this should have no bearing on RPM.
> 

OK. In order to use RPM on FreeBSD as an "add-on" you will almost certainly
need to supply some dependencies.

There are two ways to do this:

1) capture the usual provides (like /bin/sh) in a virtual package and
install that first.

2) stub-in dependencies as needed. E.g. you will almost certainly have
to provide "/bin/sh" somehow, which can be done like this
        mkdir -p /etc/rpm/sysinfo
        echo "/bin/sh" >> /etc/rpm/sysinfo/Providename

You are likely to find that the two rules
        1) Every file requires its parent directory
        2) Every symlink requires its endpoint.
to be a bit bothersome as well. Stub those out in /etc/rpm/sysinfo
(or what ever path you have chosen) using
        echo "/usr/bin" >> /etc/rpm/sysinfo/Dirnames
        echo "/path/to/endpoint" >> /etc/rpm/sysinfo/Filelinktos


> 
> 
>> I'll include as much info as I can here, but it'll mean the length of this 
>> mail may be substantial.
>> 
>> The error I receive when I attempt to rpm –qa is:
>> 
> 
> <snipped but not ignored>
> 
>> 
>> # ================ Locking
>> set_lk_max_locks  8000
>> set_lk_max_lockers  8000
>> set_lk_max_objects  8000
>> mutex_set_max 8000
>> 
> 
> Try setting "mutex_set_max" to 80000 not 8000.
> 
> I changed mutex_set_max to 80000 and ran rpm –qa and it did not produce the 
> original error.  Additionally, it appears to have created the __db files in 
> /var/local/lib/rpm/.  This is a good start.
> 
> My next test is to attempt to build an RPM.  I am going with a very simple 
> test, initially, which is to create a new /etc/motd.  When I run rpmbuild on 
> the spec file, I get the following error.  Do you have any thoughts on this?
> 
> [root@freebsd /usr/local/src/rpm/SPECS]# rpmbuild -bb 
> vrsnconfig-FreeBSD-amd64-1.0.spec 
> Executing(%prep): /bin/sh -e /var/local/tmp/rpm-tmp.447
> + umask 022
> + cd /usr/local/src/rpm/BUILD
> + rm -rf /var/local/tmp/vrsnconfig-FreeBSD-amd64-root
> + cd /usr/local/src/rpm/BUILD
> + rm -rf vrsnconfig-FreeBSD-amd64-1.0
> + /bin/mkdir -p vrsnconfig-FreeBSD-amd64-1.0
> + cd vrsnconfig-FreeBSD-amd64-1.0
> + + /usr/bin/gzip/usr/bin/tar -dc -xvvf 
> /usr/local/src/rpm/SOURCES/vrsnconfig-FreeBSD-amd64-1.0.tar.gz -
> 
> x etc/motd
> + STATUS=0
> + [ 0 -ne 0 ]
> + exit 0
> Executing(%build): /bin/sh -e /var/local/tmp/rpm-tmp.447
> + umask 022
> + cd /usr/local/src/rpm/BUILD
> + cd vrsnconfig-FreeBSD-amd64-1.0
> + exit 0
> Executing(%install): /bin/sh -e /var/local/tmp/rpm-tmp.447
> + umask 022
> + cd /usr/local/src/rpm/BUILD
> + /bin/rm -rf /var/local/tmp/vrsnconfig-FreeBSD-amd64-root
> + /bin/mkdir -p /var/local/tmp/vrsnconfig-FreeBSD-amd64-root
> + cd vrsnconfig-FreeBSD-amd64-1.0
> + mkdir /var/local/tmp/vrsnconfig-FreeBSD-amd64-root/etc
> + /usr/bin/install -m644 etc/motd 
> /var/local/tmp/vrsnconfig-FreeBSD-amd64-root/etc
> + exit 0
> Processing files: vrsnconfig-FreeBSD-amd64-1.0-1.amd64
> error: magic_load(ms, NONE/share/file/magic) failed: could not find any magic 
> files!
> Assertion failed: (mg != NULL), function rpmfcClassify, file rpmfc.c, line 
> 1154.

You need to specify a path to what used to be called /etc/magic until
FHS decided to rearrange everything and left the path UNSPECIFIED
(and so distros end-up all doing something different).

There's an AutoFu ./configure option to specify what path magic resides on.

From devtool.con %fbsd8x target
                --with-path-magic=${PREFIX}/share/file/magic

hth

73 de Jeff

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to