Dnia 10-11-2004, śro o godzinie 16:33 +0100, Andrzej Krzysztofowicz
napisał(a):
> Taaaa
> A jak to ma dzialac, jesli ustawisz %{_bindir} dla tego pakietu na cos innego
> niz /usr/bin ?
> Makra nie sa 'sobie a muzom', tylko po to, by mozna zmieniac ich wartosc.
>
dzięki, bede pamiętał
> > +%{__chown} %{USER} %{_var}/log/CDWserver/log 2> /dev/null || :
> > +%{__chown} %{USER} %{_var}/log/CDWserver/sessions 2> /dev/null || :
>
> Hmmm w %pre ?
> Przed KAZDA instalacja pakietu ?
>
UPS, musiało mi poplątać sie przy przenoszeniu
--
jabber: wolvverine [ at ] chrome [ dot ] pl
e-mail: wolvverine [ at ] tlen [ dot ] pl
--- webCDwriter.spec 2004-11-08 01:30:37.000000000 +0100
+++ webCDwriter.pld.spec 2004-11-10 20:43:45.096949888 +0100
@@ -6,29 +6,39 @@
Summary: Network CD Writing tool
Summary(pl): Narzędzie do sieciowego nagrywania CD
Name: webCDwriter
-Version: 2.6.6
+Version: 2.6.91
Release: 0.1
License: GPL v2+
Group: Networking/Daemons
-Source0: http://JoergHaeger.de/webCDwriter/download/%{name}-%{version}.tar.bz2
-# Source0-md5: bdc0d5efa2866ae80247ea9fb6d34c0b
+Source0: http://joerghaeger.de/webCDwriter/download/%{version}/%{name}-%{version}.tar.bz2
+#Patch:
+# Source0-md5:
# Source0Download: http://joerghaeger.de/webCDwriter/TARs.html
-Source1: %{name}.init
URL: http://JoergHaeger.de/webCDwriter/
+
BuildRequires: rpmbuild(macros) >= 1.159
+BuildRequires: pam-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: binutils
+BuildRequires: libstdc++-devel
+
Requires(pre): /bin/chown
Requires(pre): /bin/id
Requires(pre): /usr/bin/find
-Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/bin//getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
-Requires(pre): /usr/sbin/usermod
+Requires(pre): /usr/sbin//usermod
Requires(post,preun): /sbin/chkconfig
-Requires(postun): /usr/sbin/userdel
-Requires(postun): /usr/sbin/groupdel
-Requires: cdrtools
-Requires: mkisofs
+Requires(postun): /usr/sbin//userdel
+Requires(postun): /usr/sbin//groupdel
+Requires: cdrtools >= 2.01
+Requires: cdrtools-readcd >= 2.01
+Requires: cdrtools-mkisofs >= 2.01
+Requires: cdrtools-utils >= 2.01
Requires: mpg123
+
Provides: group(%{CDWgroup})
Provides: user(%{CDWuser})
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -45,14 +55,14 @@
network (not complete yet).
%description -l pl
-webCdwriter może być używany do udostępniania pojedynczej nagrywarki
+webCdwriter służy do udostępniania pojedynczej nagrywarki
dla wszystkich użytkowników sieci. Zawiera serwer CDWserver oraz
klientów: webCDcreator i rcdrecord. CDWserver przechowuje pliki
transmitowane przez klientów, zarządza nagrywarką używając do tego
celu cdrecord. webCDcreator jest apletem Javy uruchamianym z
-przeglądarki (Mozilla, Netscape...), pomagającym transmitować pliki.
-rcdrecord jest uruchamianym w powłoce klientem który spełnia funkcje
-cdrecord w sieci (jeszcze nie skończony).
+przeglądarki (Mozilla, Netscape, Internet Explorer,...), pomagającym
+transmitować pliki. rcdrecord jest uruchamianym w powłoce klientem który
+spełnia funkcje cdrecord w sieci (jeszcze nie skończony).
%package rcdrecord
Summary: Network CD Writing tool - remote client
@@ -69,67 +79,131 @@
%setup -q
%build
-./configure \
- --user=%{CDWuser} \
- --group=%{CDWgroup}
-
-%{__make} CXXFLAGS="%{rpmcflags} -Wall -D_REENTRANT"
+./configure --pam
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},/etc/rc.d/init.d,/home/services/CDWserver/bin}
-%{__make} \
- BINDIR=$RPM_BUILD_ROOT%{_bindir} \
- HOMEBINDIR=$RPM_BUILD_ROOT/home/services/CDWserver/bin \
- install
-
-rm -f $RPM_BUILD_ROOT%{_bindir}/*-dummy
-
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/CDWserver
+%{__make} install
+#TO DO:
+# kompilacja klienta w javie
+
+#umieszczenie pliku rc startującego serwer we właściwym katalogu
+mkdir $RPM_BUILD_ROOT/etc/rc.d
+mkdir $RPM_BUILD_ROOT/etc/rc.d/init.d
+mv $RPM_BUILD_ROOT/etc/init.d/CDWserver $RPM_BUILD_ROOT/etc/rc.d/init.d/CDWserver
%clean
-rm -rf $RPM_BUILD_ROOT
+if [ ! -e $RPM_BUILD_ROOT/dev/ ]; then
+ rm -rf $RPM_BUILD_ROOT
+fi
%pre
-if [ "$1" = 2 ] && ! /bin/id -u %{CDWuser} >/dev/null 2>&1 && \
- id -u webCDwriter >/dev/null 2>&1; then
- OLDUID=`/bin/id -u webCDwriter`
- /usr/sbin/usermod -u 109 -d /home/services/CDWserver -m -l webCDwriter %{CDWuser} 1>&2
- find /home/services/CDWserver -uid $OLDUID -exec chown %{CDWuser} {} \;
-fi
+# Add the "webCDwriter" user and group
if [ -n "`/usr/bin/getgid %{CDWgroup}`" ]; then
- if [ "`/usr/bin/getgid %{CDWgroup}`" != "27" ]; then
- echo "Error: group %{CDWgroup} doesn't have gid=27. Correct this before installing %{name}." 1>&2
- exit 1
- fi
-else
+ if [ "`/usr/bin/getgid %{CDWgroup}`" != "27" ]; then
+ echo "Error: group %{CDWgroup} doesn't have gid=27. Correct this before installing %{name}." 1>&2
+ exit 1
+ fi
+ else
/usr/sbin/groupadd -g 27 %{CDWgroup}
fi
+
if [ -n "`/bin/id -u %{CDWuser} 2>/dev/null`" ]; then
- if [ "`/bin/id -u %{CDWuser}`" != 109 ]; then
- echo "Error: user %{CDWuser} doesn't have uid=109. Correct this before installing %{name}." 1>&2
+ if [ "`/bin/id -u %{CDWuser}`" != 109 ]; then
+ echo "Error: user %{CDWuser} doesn't have uid=109. Correct this before installing %{name}." 1>&2
+ exit 1
+ fi
else
- /usr/sbin/useradd -u 109 -r -d /home/services/CDWserver -s /bin/false -c "%{name} user" -g %{CDWgroup} %{CDWuser} 1>&2
- fi
+ /usr/sbin//useradd -c "systemowy użytkownik dla %{name}" -u 109 -r -d /home/services/CDWserver -s /bin/false -g %{CDWgroup} %{CDWuser} 1>&2
fi
+
%post
-/sbin/chkconfig --add CDWserver
-if [ -f /var/lock/subsys/CDWserver ]; then
- /etc/rc.d/init.d/CDWserver restart >&2
-else
- echo "Run \"/etc/rc.d/init.d/CDWserver start\" to start webCDwriter daemon." >&2
+# Since rpm will not change the owner of an existing %config file
+%{__chown} %{USER} /etc/CDWserver/accounts 2> /dev/null || :
+%{__chown} %{USER} /etc/CDWserver/config 2> /dev/null || :
+%{__chown} %{USER} /etc/CDWserver/key.txt 2> /dev/null || :
+%{__chown} %{USER} /etc/CDWserver/password 2> /dev/null || :
+%{__chmod} 600 /etc/CDWserver/password 2> /dev/null || :
+%{__chown} %{USER} %{_var}/log/CDWserver/CDinfos 2> /dev/null || :
+%{__chown} %{USER} %{_var}/log/CDWserver/connects 2> /dev/null || :
+%{__chown} %{USER} %{_var}/log/CDWserver/log 2> /dev/null || :
+%{__chown} %{USER} %{_var}/log/CDWserver/sessions 2> /dev/null || :
+
+if [ -e %{_bindir}/CDWserver-GPL ]; then
+ rm -f %{_bindir}/CDWserver-GPL
fi
+ if [ -x /sbin/chkconfig ]; then
+ /sbin/chkconfig --add CDWserver
+ fi
+
+ if [ -x /sbin/insserv ]; then
+ /sbin/insserv /etc/rc.d/init.d/CDWserver
+ fi
+
+# make "setuid root copies" of cdrdao, cdrecord, mkisofs and readcd
+for tool in cdrdao cdrecord mkisofs readcd
+do
+ if [ ! -e %{_var}/CDWserver/bin/$tool ]; then
+ if [ -e %{_bindir}/$tool ]; then
+ cp -af %{_bindir}/$tool %{_var}/CDWserver/bin/ || :
+ else
+ cp -af /usr/local/bin/$tool %{_var}/CDWserver/bin/ 2> /dev/null || :
+ fi
+ fi
+ if [ -e %{_var}/CDWserver/bin/$tool ]; then
+ %{__chown} root.%{CDWgroup} %{_var}/CDWserver/bin/$tool || :
+ %{__chmod} 4750 %{_var}/CDWserver/bin/$tool || :
+ fi
+ done
+
+#move projects files to new localization (FHS)
+
+ if [ -e /home/CDWserver/ ]; then
+ echo "Przenoszę pliki Projektów do %{_var}/CDWserver/projects/..."
+ mv /home/CDWserver/* %{_var}/CDWserver/projects/ 2> /dev/null || :
+ rmdir /home/CDWserver/
+ fi
+
+ echo
+ echo
+ echo "Jak uruchomić:"
+ echo
+ echo "1. Wydaj polecenie \"/etc/rc.d/init.d/CDWserver start\" aby uruchomić serwer webCDwriter!"
+ echo
+ echo "2. Otwórz przeglądarke i wpisz URL (pamietaj o firewall-u, jeśli blokuje połaczenie)"
+ echo
+ echo " \"http://127.0.0.1:12411\" or \"http://`hostname`:12411\""
+ echo
+ echo "aby sprawdzić stan serwera webCDwriter."
+ echo
+
%preun
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/CDWserver ]; then
- /etc/rc.d/init.d/CDWserver stop >&2
+ /etc/rc.d/init.d/CDWserver stop || :
+
+ if [ -x /sbin/chkconfig ]; then
+ /sbin/chkconfig --del CDWserver
+ fi
+
+ if [ ! -e %{_var}/spool/CDWserver/bin/ ]; then
+ rm -rf %{_var}/spool/CDWserver/*
fi
- /sbin/chkconfig --del CDWserver
fi
%postun
+if [ $1 = 0 ]; then
+ if [ -x /sbin/insserv ]; then
+ /sbin/insserv /etc/rc.d/init.d
+ fi
+fi
+
+if [ $1 -ge 1 ]; then
+ /etc/rc.d/init.d/CDWserver condrestart
+fi
+
if [ "$1" = "0" ]; then
%userremove %{CDWuser}
%groupremove %{CDWgroup}
@@ -140,25 +214,78 @@
%doc CREDITS ChangeLog README *.html
%attr(754,root,root) /etc/rc.d/init.d/CDWserver
%dir %attr(0755,%{CDWuser},%{CDWgroup}) /etc/CDWserver
+/etc/pam.d/cdwserver
+/etc/CDWserver/mime.types
%attr(0600,%{CDWuser},%{CDWgroup}) %config(noreplace) %verify(not md5 mtime size) /etc/CDWserver/accounts
-%config(noreplace) %verify(not md5 mtime size) /etc/CDWserver/config*
+%config(noreplace) %attr(650, %{CDWuser}, %{CDWgroup}) %verify(not md5 mtime size) /etc/CDWserver/config
+%attr(650, root, %{CDWgroup}) %verify(not md5 mtime size) /etc/CDWserver/config.default
+%config(noreplace) %attr(650, root, %{CDWgroup}) %verify(not md5 mtime size)/etc/CDWserver/config-root
%config(noreplace) %verify(not md5 mtime size) /etc/CDWserver/greeting
%config(noreplace) %verify(not md5 mtime size) /etc/CDWserver/waitForCD
%attr(0600,%{CDWuser},%{CDWgroup}) %config(noreplace) %verify(not md5 mtime size) /etc/CDWserver/password
-%attr(4754,root,%{CDWgroup}) %{_bindir}/*
%exclude %{_bindir}/files2cd
%exclude %{_bindir}/image2cd
%exclude %{_bindir}/rcdrecord
+
+%dir %attr(0700,%{CDWuser},%{CDWgroup}) %{_var}/log/CDWserver
+%dir %attr(0700,%{CDWuser},%{CDWgroup}) %{_var}/spool/CDWserver
+%dir %{_var}/CDWserver
+
+%attr(4710, root, %{CDWgroup}) %{_bindir}/cdrecord-dummy
+%attr(4710, root, %{CDWgroup}) %{_bindir}/cdrdao-dummy
+%attr(4710, root, %{CDWgroup}) %{_bindir}/CDWrootGate
+%attr(4710, root, %{CDWgroup}) %{_bindir}/CDWverify
+%attr(4710, root, %{CDWgroup}) %{_bindir}/CDWverify-dummy
+%attr(4710, root, %{CDWgroup}) %{_bindir}/setScheduler
+
+%{_bindir}/dvd+rw-format-dummy
+%{_bindir}/growisofs-dummy
+%{_bindir}/MD5Verify.jar
+%{_bindir}/tar2rpm.sh
+%{_sbindir}/CDWpasswd
%attr(755,root,root) %{_sbindir}/CDWserver
-%dir %attr(0700,%{CDWuser},%{CDWgroup}) /var/log/CDWserver
-%dir %attr(0700,%{CDWuser},%{CDWgroup}) /var/spool/CDWserver
-# cleanup (and patches) needed
-#/etc/CDWserver/export/*
-#%dir %attr(0755, %{CDWuser}, %{CDWgroup}) /etc/CDWserver/export
-%dir %attr(0700, %{CDWuser}, %{CDWgroup}) /home/services/CDWserver
-%dir %attr(0700, %{CDWuser}, %{CDWgroup}) /home/services/CDWserver/bin
-#%attr(0700, %{CDWuser}, %{CDWgroup}) /home/services/CDWserver/bin/*-dummy
-/var/CDWserver
+%{_sbindir}/CDWuseradd
+%dir %{_var}/CDWserver/bin/
+%dir %{_var}/CDWserver/export/
+%{_var}/CDWserver/export/*
+%dir %{_var}/CDWserver/http/
+%config(noreplace) %{_var}/CDWserver/http/about.html
+%config(noreplace) %{_var}/CDWserver/http/config.html
+%dir %{_var}/CDWserver/http/config/
+%{_var}/CDWserver/http/config/*
+%{_var}/CDWserver/http/default.css
+%{_var}/CDWserver/http/exampleProject.txt
+%config(noreplace) %{_var}/CDWserver/http/favicon.ico
+%config(noreplace) %{_var}/CDWserver/http/footer
+%config(noreplace) %{_var}/CDWserver/http/head*
+%config(noreplace) %{_var}/CDWserver/http/help*.html
+%config(noreplace) %{_var}/CDWserver/http/index*.html
+%config(noreplace) %{_var}/CDWserver/http/messages*
+%dir %{_var}/CDWserver/http/rcdrecord/
+%{_var}/CDWserver/http/rcdrecord/*
+%config(noreplace) %{_var}/CDWserver/http/status*.html
+%config(noreplace) %{_var}/CDWserver/http/support*.html
+%{_var}/CDWserver/http/*.png
+%dir %{_var}/CDWserver/http/webCDcreator/
+%config(noreplace) %{_var}/CDWserver/http/webCDcreator/*.html
+%config(noreplace) %{_var}/CDWserver/http/webCDcreator/*.jnlp
+%dir %{_var}/CDWserver/http/webCDcreator/4netscape/
+%{_var}/CDWserver/http/webCDcreator/4netscape/*
+%dir %{_var}/CDWserver/http/webCDcreator/4plugin/
+%{_var}/CDWserver/http/webCDcreator/4plugin/*
+%dir %{_var}/CDWserver/http/webCDcreator/4pluginRSA/
+%{_var}/CDWserver/http/webCDcreator/4pluginRSA/*
+%dir %{_var}/CDWserver/http/webCDcreator/doc/
+%{_var}/CDWserver/http/webCDcreator/doc/*
+%dir %{_var}/CDWserver/http/webCDcreator/help/
+%{_var}/CDWserver/http/webCDcreator/help/*
+%dir %{_var}/CDWserver/http/webCDcreator/i18n/
+%{_var}/CDWserver/http/webCDcreator/i18n/*
+%dir %{_var}/CDWserver/http/webCDcreator/icons/
+%{_var}/CDWserver/http/webCDcreator/icons/*
+%dir %{_var}/CDWserver/http/webCDcreator/errors/
+%{_var}/CDWserver/http/webCDcreator/errors/*.html
+%dir %attr(700, %{CDWuser}, %{CDWgroup}) %{_var}/CDWserver/projects/
%files rcdrecord
%defattr(644,root,root,755)
_______________________________________________
pld-devel-pl mailing list
[EMAIL PROTECTED]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl