111 lines
3.3 KiB
Plaintext
111 lines
3.3 KiB
Plaintext
Update rpm to 4.14.2.1:
|
|
* update setup.sh, download 4.14.2.1 tarball
|
|
* update tools.sh, build 4.14.2.1
|
|
* update base.sh: not needed
|
|
* update rpm.spec, see below
|
|
* drop python dependency
|
|
|
|
#TARBALL: ftp.rpm.org/releases/rpm-4.14.x/rpm-4.14.2.1.tar.bz2
|
|
#TARBALL: http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz
|
|
#MD5SUM: fdb8b8857f103b087b6aed5b78dd9b4f;rpm-4.14.2.1.tar.bz2
|
|
#MD5SUM: f73afcb308aefde7e6ece4caa87b22a9;SOURCES/db-6.0.20.tar.gz
|
|
#-----------------------------------------------------------------------------
|
|
Summary: Package manager
|
|
Name: rpm
|
|
Version: 4.14.2.1
|
|
Release: 1
|
|
License: GPLv2
|
|
URL: http://rpm.org
|
|
Group: LFS/BASE
|
|
Vendor: Elizabeth
|
|
Source0: ftp.rpm.org/releases/rpm-4.14.x/%{name}-%{version}.tar.bz2
|
|
Source1: http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz
|
|
Source2: macros
|
|
Requires: filesystem
|
|
%description
|
|
Package manager
|
|
#-----------------------------------------------------------------------------
|
|
%prep
|
|
%setup -q -n %{name}-%{version}
|
|
%setup -q -T -D -a 1 -n %{name}-%{version}
|
|
sed -i 's/--srcdir=$db_dist/--srcdir=$db_dist --with-pic/' db3/configure
|
|
%build
|
|
ln -vs db-6.0.20 db
|
|
./configure \
|
|
--prefix=%{_prefix} \
|
|
--program-prefix= \
|
|
--sysconfdir=/etc \
|
|
--with-crypto=openssl \
|
|
--with-cap \
|
|
--with-acl \
|
|
--without-external-db \
|
|
--without-archive \
|
|
--without-lua \
|
|
--disable-dependency-tracking \
|
|
--disable-silent-rules \
|
|
--disable-rpath \
|
|
--disable-plugins \
|
|
--disable-inhibit-plugin
|
|
|
|
# --enable-python python bindings
|
|
# --with-python=2.7 python bindings
|
|
# --with-archive build rpm2archive - requires libarchive
|
|
# --with-lua build with lua support
|
|
|
|
tools.sh:
|
|
--prefix=/tools \
|
|
--program-prefix= \
|
|
--sysconfdir=/tools/etc \
|
|
--with-crypto=openssl \
|
|
--without-external-db
|
|
--without-archive \
|
|
--without-lua \
|
|
--disable-dependency-tracking \
|
|
--disable-silent-rules \
|
|
--disable-rpath \
|
|
--disable-plugins \
|
|
--disable-inhibit-plugin
|
|
--disable-shared \
|
|
--enable-static \
|
|
--enable-zstd=no \
|
|
--enable-lmdb=no \
|
|
|
|
|
|
Read base.spec to get list of packages to install
|
|
|
|
BASE.SPEC GENERATOR:
|
|
TODO for base.sh
|
|
Make a base.spec generator
|
|
list= $( ls rpm dir )
|
|
for i in $list; do
|
|
case $i in
|
|
filespec*) ;;
|
|
*) LIST+="Requires: ${i} " ;;
|
|
esac
|
|
done
|
|
write header
|
|
write requires
|
|
write end
|
|
then build base package
|
|
|
|
RPM PACKAGE INSTALLER:
|
|
fetch package name start with base ( sort unique )
|
|
determine binary package name insert into name = ${REPOPATH}/package name-* to process
|
|
do until - process names, de dupe names
|
|
requirements = $( rpm -qp --requires ${RPMS}/${RPM_ARCH}/${RPM_BINARY}): > ${REQUIRES}/${RPM_NAME} 2>&1 || true
|
|
work string = $( rpm <name> requirements )
|
|
determine requires [ rpm -qp --requires <filespec> ] if / then filespec add to rpm list
|
|
determine requires [ rpm -qp --requires <libary ] ] if ( then library add to rpm list
|
|
determine requires [ rpm -qp --requires <package> ] else package add to rpm list
|
|
binary name = strip current name from list of package names
|
|
no more
|
|
LIST+="${REPOPATH}/${i##Requires:}* "
|
|
rpm -qp --requires ${RPMS}/${RPM_ARCH}/${RPM_BINARY} > ${REQUIRES}/${RPM_NAME} 2>&1 || true
|
|
# rpm -q --whatprovides [file name]
|
|
for i in ${LIST}; do
|
|
find requires
|
|
msg_line "installing: ${i} :"
|
|
rpm --upgrade --verbose --hash --noscripts --root ${ROOTPATH} --dbpath ${DBPATH} "${REPOPATH}/${i}-*"
|
|
msg_success
|
|
done
|