Woher soll ich das wissen?
Probiers aus.
Nachtrag: Aus den Sourcen lässt sich problemlos zunächst die libupnp und dann das Binary ushare kompilieren und auch mit checkinstall in RPMs umwandeln.
Allerdings muß vor dem Bau von ushare die libupnp installiert werden. Lief in 5 Minuten glatt durch. Das sollte also zumindest mal nicht das Problem sein.
Nachtrag die 2.: Hier zwei SPEC-Files zum Bau der beiden RPMs ohne checkinstall, auf die Schnelle gebastelt.
Code:
Name: libupnp
Summary: Linux* SDK for UPnP* Devices (libupnp)
Version: 1.3.1
Release: 0
License: GPL
Group: Multimedia/Server
Source: libupnp-1.3.1.tar.gz
BuildRoot: %{_tmppath}/build-root-%{name}
Packager: MeMyselfandI
Distribution: SuSE 10.0
Prefix: /usr
Url: http://upnp.sourceforge.net/
Provides: libupnp
Requires: glibc glibc-devel
%description
The Linux SDK for UPnP Devices is an SDK for development of UPnP device
and control point applications for Linux. It consists of the core UPnP
protocols along with a UPnP-specific eXtensible Markup Language (XML) parser
supporting the Document Object Model (DOM) Level 2 API and an optional,
integrated mini web server for serving UPnP related documents.
%prep
rm -rf $RPM_BUILD_ROOT
mkdir $RPM_BUILD_ROOT
%setup -q
%build
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
./configure --prefix=%{prefix}
make -j 2
%install
make DESTDIR=$RPM_BUILD_ROOT 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
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}
%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) libupnp und
Code:
Name: ushare
Summary: GeeXboX uShare is a UPnP (TM) A/V Media Server.
Version: 0.9.7
Release: 0
License: GPL
Group: Security
Source: ushare-0.9.7.tar.bz2
BuildRoot: %{_tmppath}/build-root-%{name}
Packager: MeMyselfandI
Distribution: SuSE 10.0
Url: http://ushare.geexbox.org/
Provides: ushare
Requires: libupnp >= 1.3.1
%description
GeeXboX uShare is a UPnP (TM) A/V Media Server. It implements the server
component that provides UPnP media devices with information on available
multimedia files. uShare uses the built-in http server of libupnp to
stream the files to clients.
GeeXboX uShare is able to provide access to both images, videos, music
or playlists files (see below for a complete file format support list).
It does not act as an UPnP Media Adaptor and thus, can't transcode
streams to fit the client requirements.
uShare is written in C for the GeeXboX project (see http://www.geexbox.org/).
It is designed to provide access to multimedia contents to GeeXboX but can of
course be used by any other UPnP client device.
It should compile and run on any modern POSIX compatible system such as Linux.
GeeXboX uShare is free software - it is licensed under the terms of the GNU
General Public License (GPL).
%prep
rm -rf $RPM_BUILD_ROOT
mkdir $RPM_BUILD_ROOT
%setup -q
%build
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
./configure
make -j 2
%install
make DESTDIR=$RPM_BUILD_ROOT 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
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}
%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) ushare. Benutzung auf eigene Gefahr, alles nur schnell zusammengeflickt.
1. Den obigen Code als Textfile abspeichern, lbupnp.spec und ushare.spec.
2. Sourcecode runterladen libupnp-1.3.1.tar.gz bzw. ushare-0.9.7.tar.bz2.
3. Beide Archive in /usr/src/packages/SOURCES kopieren und das Ganze mit rpmbuild bauen.
Code:
rpmbuild -bb Dateiname.spec
Oder besser (baut gleich ein src.rpm mit zum Rebuild für andere Gegebenheiten).
Code:
rpmbuild -ba Dateiname.spec
4. Siehe auch
Greetz,
RM
Lesezeichen