why is database location under /${prefix} ?
Panu Matilainen
pmatilai at laiskiainen.org
Fri Jul 10 06:25:41 UTC 2009
On Fri, 10 Jul 2009, Panu Matilainen wrote:
> On Tue, 7 Jul 2009, Rob Maidment wrote:
>
>>
>> I have built RPM 4.7.0 and installed it as per the instructions in the
>> INSTALL file, culminating in a successful call to “make install”. My
>> linux is “from scratch”, the kernel version is 2.6.27.4.
>>
>> Following the install of RPM there is no RPM database (the Packages file
>> does not exist anywhere). If I execute “rpm --initdb” a folder called
>> “${prefix}” (literally, but without the quotes) is created under root and
>> I end up with the following files:
>>
>>
>>
>> /${prefix}/var/lib/rpm/Packages
>>
>> /${prefix}/var/lib/rpm/__db.000
>>
>> /${prefix}/var/lib/rpm/__db.001
>>
>> /${prefix}/var/lib/rpm/__db.002
>>
>> /${prefix}/var/lib/rpm/__db.003
>>
>> /${prefix}/var/lib/rpm/__db.004
>>
>>
>>
>> If I then try to install a package I get the following error: “ERROR:
>> Cannot get shared lock on RPM Database.”
>>
>>
>>
>> Does anyone know why my database is in such a strange location, and why I
>> cannot install any packages?
>
> This is obviously a bug that needs fixing, but giving an explicit
> prefix such as --prefix=/usr to ./configure should work.
Actually more to the point, it's just localstatedir which ends up being
wrong, so instead of --prefix just give it --localstatedir=/var or such
to get a sensible location for the rpmdb.
- Panu -
More information about the Rpm-list
mailing list