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