RPM Bauen mit einer Datei mit Leerzeichen?
Hallo, ich kämpfe mit einer RPM Spec in meinem Projekt, in der ich die Dateien, die verpackt werden sollen, zur Laufzeit übergeben werden (-f filelist). Eine der Dateien hat ein Leerzeichen und ich wollte jetzt keinen Workaround mehr (umbenennen in der Versionsverwaltung), sondern es gangbar machen. Meine Lösung sollte ein AWK script verwenden, das die Dateiliste bei Dateien mit Leerzeichen diese mit double quotes einfasst. Das ging dann auch, aber nun habe ich folgenden Fehler den ich nicht verstehe: Processing files: lbdmf-1.0.2-1 error: File must begin with "/": ./usr/share/lbdmf/UMLSamples/SecondStageModels/lbDMF Manager.xmi Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/lbdmf-1.0.2-buildroot error: Installed (but unpackaged) file(s) found: /usr/share/lbdmf/UMLSamples/SecondStageModels/lbDMF Manager.xmi RPM build errors: File must begin with "/": ./usr/share/lbdmf/UMLSamples/SecondStageModels/lbDMF Manager.xmi Installed (but unpackaged) file(s) found: /usr/share/lbdmf/UMLSamples/SecondStageModels/lbDMF Manager.xmi Was mache ich falsch? Ich möchte, dass das mit den Leerzeichen in Dateinamen funktioniert um nicht irgendwann wieder vor dem Problem zu stehen. Danke, Lothar Meine Spec: Name: lbdmf Summary: Distributed Multiplatform Framework Version: 1.0.2 Release: 1 License: LGPL Group: Development/Tools Source: %{name}-%{version}.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot Packager: Lothar Behrens <lothar.behrens@lollisoft.de> Distribution: SUSE Prefix: /usr Url: http://www.lollisoft.de Autoreqprov: on Provides: lbdmf %if %suse_version <= 910 BuildRequires: bison flex wxGTK-devel >= 2.6.2 unixODBC-devel >= 2.2.11 update-desktop-files gcc-c++ Requires: unixODBC >= 2.2.11 desktop-file-utils %else BuildRequires: bison flex wxGTK-devel >= 2.8.8 desktop-file-utils unixODBC-devel >= 2.2.11 gcc-c++ Requires: unixODBC >= 2.2.11 desktop-file-utils %endif %description This is a framework to develop software. It's origin goal was to make me independent from other (commercial) frameworks and development tools. This release also is tested to build properly on SuSE Linux 9.1, openSuSE 10.1 and 11.1. You will need to install the following packages when building on 10.1: * GTK+-devel from DVD/CD * latest wxGTK version in src tgz from www.wxwidgets.org * pkgconfig from your install DVD/CD * unixODBC from the vendor at www.unixodbc.org and compile it. * pgsqlodbc.so in version 07.03.0200 from www.postgresql.org %prep rm -rf $RPM_BUILD_ROOT mkdir $RPM_BUILD_ROOT %setup -q %build CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \ ./configure --prefix=$RPM_BUILD_ROOT%{prefix} if [ "$SMP" != "" ]; then make -j 2 else make fi %install make DESTDIR="%{buildroot}" install-strip cd $RPM_BUILD_ROOT find . -type d -fprint $RPM_BUILD_DIR/file.list.%{name}.dirs find . -type f -fprint $RPM_BUILD_DIR/file.list.%{name}.files.tmp sed '/\/man\//s/$/.gz/g' $RPM_BUILD_DIR/file.list.%{name}.files.tmp > $RPM_BUILD_DIR/file.list.%{name}.files.pre pwd echo $RPM_BUILD_ROOT awk -f /usr/src/packages/BUILD/%{name}-%{version}/Projects/CPP/wrapspaces.awk < $RPM_BUILD_DIR/file.list.%{name}.files.pre > $RPM_BUILD_DIR/file.list.%{name}.files find . -type l -fprint $RPM_BUILD_DIR/file.list.%{name}.libs sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' $RPM_BUILD_DIR/file.list.%{name}.dirs > $RPM_BUILD_DIR/file.list.%{name} sed 's,^\.,\%attr(-\,root\,root) ,' $RPM_BUILD_DIR/file.list.%{name}.files >> $RPM_BUILD_DIR/file.list.%{name} sed 's,^\.,\%attr(-\,root\,root) ,' $RPM_BUILD_DIR/file.list.%{name}.libs >> $RPM_BUILD_DIR/file.list.%{name} %post echo "[Desktop Entry]" > "%{prefix}/share/applications/wxWrapper.desktop" echo "Encoding=UTF-8" >> "%{prefix}/share/applications/wxWrapper.desktop" echo "Name=Rapid Database GUI Designer" >> "%{prefix}/share/applications/wxWrapper.desktop" echo "Type=Application" >> "%{prefix}/share/applications/wxWrapper.desktop" echo "Comment=Database designer based on wxWrapper" >> "%{prefix}/share/applications/wxWrapper.desktop" echo "Exec=wxWrapper" >> "%{prefix}/share/applications/wxWrapper.desktop" echo "TryExec=wxWrapper" >> "%{prefix}/share/applications/wxWrapper.desktop" echo "Icon=%{prefix}/share/lbdmf/lbdmf.png" >> "%{prefix}/share/applications/wxWrapper.desktop" echo "Categories=Development;" >> "%{prefix}/share/applications/wxWrapper.desktop" ldconfig %postun rm %{prefix}/share/applications/wxWrapper.desktop %clean rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_DIR/file.list.%{name} rm -rf $RPM_BUILD_DIR/file.list.%{name}.libs rm -rf $RPM_BUILD_DIR/file.list.%{name}.files rm -rf $RPM_BUILD_DIR/file.list.%{name}.files.tmp rm -rf $RPM_BUILD_DIR/file.list.%{name}.dirs %files -f ../file.list.%{name} %defattr(-,root,root,0755) -- | Rapid Prototyping | XSLT Codegeneration | http://www.lollisoft.de Lothar Behrens Ginsterweg 4 65760 Eschborn -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (1)
-
Lothar