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
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