RPM - koniec problemów z brakującymi plikami

Artur Frysiak wiget w pld.org.pl
Pią, 31 Maj 2002, 11:09:57 CEST


On Thu, May 30, 2002 at 05:03:50PM +0200, Jakub Bogusz wrote:
> On Sun, May 26, 2002 at 04:03:31PM +0200, Filip Kalinski wrote:
> > Pamiętacie problemy z glibcem, lub (ostatnio) mozillą (czyli brakujące
> > pliki)?
> > 
> > Teraz rpm sam wyświetli listę plików których nie ma w żadnym pakiecie, a
> > są zainstalowane :-)
> > 
> > Zapraszam do testowania (release 74).
> 
> -rrpm-4_0_4 czeka ;>
> Na razie nie mam jak testować.

A jak sobie radzi ze specami "wielopakietowymi" jak np gtk+2.spec i inne
z -devel, -static , -foo, -bar, -baz ?

BTW moja nowa reinkarnacja helpera do wyszukiwania zaginonych plików:
w ~/.rpmmacros:

%_dumpfilelistdest	%{_builddir}/%{name}-%{?epoch:%epoch:}%{version}-%{release}-filelist.txt
%__local_install_post %{?buildroot:%{?_dumpfilelistdest:find %{buildroot} |sed 's|%{buildroot}||'|sort >%{_dumpfilelistdest}}}

w /usr/lib/rpm/{arch}-linux/macros:
%__local_install_post	%{nil}

%__spec_install_post\
    %{__arch_install_post}\
    %{__os_install_post}\
    %{__local_install_post}\
%{nil}

i ~/bin/rpmbb w załączniku.
-- 
Artur Frysiak
http://www.pld.org.pl/
-------------- następna część ---------
#!/bin/sh

RPMBUILD="nice -20 rpmbuild -bb"
RPMQPL="rpm -qpl"
DIFF="gvim -d"

TMP="`mktemp -d ${TMPDIR:-/tmp}/$(basename $0).XXXXXX`"
if [ $? !=	0 ] ; then
	echo "Can't create temporary directory. Exiting ..." >&2
	exit 1
fi
DIFFFILE="$TMP/ls.diff"
RPMFILES="$TMP/rpm.ls"
INSTALLFILES="$TMP/files.ls"
LOGFILE="$TMP/buildlog.txt"

# overide locale setting for rpm output parsing and files sorting
LC_ALL=C
export LC_ALL

$RPMBUILD --define "_dumpfilelistdest $INSTALLFILES" "$@" 2>&1|tee $LOGFILE

if tail -1 $LOGFILE |grep -q '^+ exit 0' ;  then
	$RPMQPL `awk '/^Wrote: / {print $2}' $LOGFILE` |sort > $RPMFILES
	$DIFF $INSTALLFILES $RPMFILES > $DIFFFILE
	echo "Build successfull"
	echo "Buildlog: $LOGFILE"
	echo "BUILD_ROOT files: $INSTALLFILES"
	echo "RPM files: $RPMFILES"
	echo "Diff files: $DIFFFILE"
else
	echo "Build fail"
	echo "Build log in: $LOGFILE"
	exit 1
fi


Więcej informacji o liście dyskusyjnej pld-devel-pl