There is another approach, patching <db51/db.h> to <db.h> in
RPM sources.
The patch isn't large or hard. Changing the AutoFu in RPM _IS_ hard
for other reasons having to do with "features" and "portability" and
particularly the RPM_CHECK_LIB() macro used everywhere for detecting build
pre-requisites for RPM.
$ cd rpm-5.3.6
$ grep "db51/" * */*
...
configure:#include <db51/db.h>
configure:#include <db51/db.h>
configure: if test -f "${__rcl_dir}/db51/db.h"; then
configure: for __rcl_file in _ `find ${__rcl_location} -name "db51/db.h" -type f -print 2>/dev/null`; do
configure: for ac_header in db51/db.h
configure: ac_fn_c_check_header_mongrel "$LINENO" "db51/db.h" "ac_cv_header_db51_db_h" "$ac_includes_default"
configure:#include <db51/dbsql.h>
configure:#include <db51/dbsql.h>
configure: if test -f "${__rcl_dir}/db51/dbsql.h"; then
configure: for __rcl_file in _ `find ${__rcl_location} -name "db51/dbsql.h" -type f -print 2>/dev/null`; do
configure: for ac_header in db51/dbsql.h
configure: ac_fn_c_check_header_mongrel "$LINENO" "db51/dbsql.h" "ac_cv_header_db51_dbsql_h" "$ac_includes_default"
...
There's even Yet Another Alternative that could be pursued,
by adding either a db51-config script, or a db51.pc pkgconfig
file, so that RPM_CHECK_LIB() could discover the necessary
-I include paths to link against Berkeley DB as installed on Arch
linux. Yes db51-config/db51.pc would have to be made to Berkeley DB,
not RPM, on Arch linux.
Build --with-db=internal (and the renaming/symlinks needed) is the
most viable path to building rpm-5.3.6 if you cannot change "system"
Berkeley DB on Arch linux.
There is another approach, patching <db51/db.h> to <db.h> in
RPM sources.
The patch isn't large or hard. Changing the AutoFu in RPM _IS_ hard
for other reasons having to do with "features" and "portability" and
particularly the RPM_CHECK_LIB() macro used everywhere for detecting build
pre-requisites for RPM.
$ cd rpm-5.3.6
$ grep "db51/" * */*
...
configure:#include <db51/db.h> dir}/db51/ db.h"; then check_header_ mongrel "$LINENO" "db51/db.h" "ac_cv_ header_ db51_db_ h" "$ac_includes_ default" dir}/db51/ dbsql.h" ; then check_header_ mongrel "$LINENO" "db51/dbsql.h" "ac_cv_ header_ db51_dbsql_ h" "$ac_includes_ default"
configure:#include <db51/db.h>
configure: if test -f "${__rcl_
configure: for __rcl_file in _ `find ${__rcl_location} -name "db51/db.h" -type f -print 2>/dev/null`; do
configure: for ac_header in db51/db.h
configure: ac_fn_c_
configure:#include <db51/dbsql.h>
configure:#include <db51/dbsql.h>
configure: if test -f "${__rcl_
configure: for __rcl_file in _ `find ${__rcl_location} -name "db51/dbsql.h" -type f -print 2>/dev/null`; do
configure: for ac_header in db51/dbsql.h
configure: ac_fn_c_
...
configure.ac: [db-5.1], [db_create], [db51/db.h],
configure.ac: [db_sql-5.1], [sqlite3_open], [db51/dbsql.h],
...
rpmdb/rpmdb. h:#include <db51/db.h> c:#include <db51/dbsql.h> c:#include <db51/dbsql.h> c:#include <db51/dbsql.h> c:#include <db51/dbsql.h> c:#include <db51/dbsql.h>
rpmdb/rpmrepo.
rpmio/rpmsql.
tools/dbsql.
tools/rpmrepo.
tools/sqlite3.
There's even Yet Another Alternative that could be pursued,
by adding either a db51-config script, or a db51.pc pkgconfig
file, so that RPM_CHECK_LIB() could discover the necessary
-I include paths to link against Berkeley DB as installed on Arch
linux. Yes db51-config/db51.pc would have to be made to Berkeley DB,
not RPM, on Arch linux.
Build --with-db=internal (and the renaming/symlinks needed) is the
most viable path to building rpm-5.3.6 if you cannot change "system"
Berkeley DB on Arch linux.