From d35834098df548f37a95348db5d403d339d485fd Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Tue, 29 Apr 2003 04:59:35 +0000 Subject: packaging updates from Buchan (This used to be commit e4754e0a2bd2ca7b2495a9d747fe08cdb45c8876) --- packaging/Mandrake/makerpms-cvs.sh | 13 +- packaging/Mandrake/makerpms.sh.tmpl | 4 +- packaging/Mandrake/samba-print-pdf.sh | 70 ++++++--- packaging/Mandrake/samba2.spec.tmpl | 275 ++++++++++++++++++++++------------ 4 files changed, 243 insertions(+), 119 deletions(-) (limited to 'packaging/Mandrake') diff --git a/packaging/Mandrake/makerpms-cvs.sh b/packaging/Mandrake/makerpms-cvs.sh index 72c75b772b..08c4370b31 100644 --- a/packaging/Mandrake/makerpms-cvs.sh +++ b/packaging/Mandrake/makerpms-cvs.sh @@ -22,13 +22,16 @@ done #Change up three directories, rename directory to samba-$VERSION, change back #then run makerpms.sh -( + CURRENT=$(pwd) -cd $(dirname $(dirname $(dirname $CURRENT))) +pushd $(dirname $(dirname $(dirname $CURRENT))) SAMBA_DIR=$(basename $(dirname $(dirname $CURRENT))) mv $SAMBA_DIR samba-$VERSION -cd samba-$VERSION/packaging/Mandrake +pushd samba-$VERSION/source +./autogen.sh +popd +pushd samba-$VERSION/packaging/Mandrake sh makerpms.sh $@ -cd $(dirname $(dirname $(dirname $CURRENT))) +popd mv samba-$VERSION $SAMBA_DIR -) +popd diff --git a/packaging/Mandrake/makerpms.sh.tmpl b/packaging/Mandrake/makerpms.sh.tmpl index ba4eff0e2b..5d06e2bbcc 100644 --- a/packaging/Mandrake/makerpms.sh.tmpl +++ b/packaging/Mandrake/makerpms.sh.tmpl @@ -13,8 +13,8 @@ # # rpm --eval should always give a correct answer for this -SPECDIR=`rpm --eval "%{_specdir}"` -SRCDIR=`rpm --eval "%{_sourcedir}"` +SPECDIR=`rpm "$@" --eval "%{_specdir}"` +SRCDIR=`rpm "$@" --eval "%{_sourcedir}"` # At this point the (SPECDIR and) SRCDIR vaiables must have a value! diff --git a/packaging/Mandrake/samba-print-pdf.sh b/packaging/Mandrake/samba-print-pdf.sh index 07c92b484b..973bb4f90e 100644 --- a/packaging/Mandrake/samba-print-pdf.sh +++ b/packaging/Mandrake/samba-print-pdf.sh @@ -5,7 +5,20 @@ # and turn it into a PDF, informing the user of where it is when it # is done # -# Buchan Milne 20020723 +# (c) Buchan Milne 2002 +# License: GPLv2 +# Changelog +# v0.0.6 20030428 +# - Allow options passed as env. variables from print command +# - Inline and simplify sed (use tr) clean script +# - Ensure file arrives in PREFIX even if TEMP is used without provided name +# - Changes from Joshua M. Schmidlkofer 20030425 +# - Debugging, adjustments, and corrections. +# - Stupid sed sanitizing script. [probably horribly inefficient also]. +# - Temp file usage cleanup. +# v0.0.5 20020723 +# - Add support for preset settings +# - Allow passing of filename provided by client as final filename # # Arguments: # $1 = file (usually passed with %s from samba) @@ -18,61 +31,80 @@ # # If you want to customise any of the following configuration defaults, # you can place them in the file /etc/samba/print-pdf.conf. +# If you need to modify anything in this script, please provide me with your +# changes, preferably in such a way that the changes are configurable. PS2PDF=ps2pdf13 OPTIONS="-dAutoFilterColorImages=false -sColorImageFilter=FlateEncode" +#Values taken from arguments: INPUT=$1 -KEEP_PS=1 -PERMS=640 -INFILE=$(basename $INPUT) -BASEFILE=pdf-service PREFIX="$2" -NAME="$6" WINBASE=$(echo "$3"|sed -e 's,/,\\\\,g') +#NAME=`echo "$6"|sed -e 's/[&/:{}\\\[<>$#@*^!?=|]/-/g;s/\]/-/g'` +NAME=`echo "$6"|tr '[:punct:]' '[-*]'` # Source config file if it exists: CONFFILE=/etc/samba/print-pdf.conf [ -e $CONFFILE ] && . $CONFFILE +#Values not taken as arguments, could be set via env. vars (?) or config file +KEEP_PS=${KEEP_PS=0} +PERMS=${PERMS=640} +BASEFILE=${BASEFILE=pdf-service} +TEMP="${TEMP=$2}" +UMASK=${UMASK=006} + +#Make sure that destination directory exists +mkdir -p "$PREFIX" + +INFILE=$(basename $INPUT) + +umask $UMASK + +[ -n "$NAME" ] && TEMP="$PREFIX" + #make a temp file to use for the output of the PDF -OUTPUT=`mktemp -q $2/$BASEFILE-XXXXXX` +OUTPUT=`mktemp -q $TEMP/$BASEFILE-XXXXXX` if [ $? -ne 0 ]; then - echo "$0: Can't create temp file $2/$BASEFILE-XXXXXX, exiting..." + echo "$0: Can't create temp file $TEMP/$OUTPUT, exiting..." exit 1 fi -if [ "$NAME" != "" ]; then +if [ -n "$NAME" ]; then FINALOUTPUT="$PREFIX/$NAME" else FINALOUTPUT="$OUTPUT" fi -if [ "$7" != "" ]; then +if [ -n "$7" ]; then OPTIONS="$OPTIONS -dPDFSETTINGS=/${7#pdf-}" else OPTIONS="$OPTIONS -dPDFSETTINGS=/default" fi - + WIN_OUTPUT="$WINBASE\\"`basename "$FINALOUTPUT"` +#mv "$INPUT" "$INPUT.ps";INPUT="$INPUT.ps" -# create the PDF: -$PS2PDF $OPTIONS $INPUT "$OUTPUT".pdf >/dev/null 2>&1 -mv -f "$OUTPUT".pdf "$FINALOUTPUT".pdf +# create the pdf +$PS2PDF $OPTIONS "$INPUT" "$OUTPUT.pdf" >/dev/null 2>&1 +mv -f "${OUTPUT}.pdf" "${FINALOUTPUT}".pdf # Generate a message to send to the user, and deal with the original file: MESSAGE=$(echo "Your PDF file has been created as $WIN_OUTPUT.pdf\n") -if [ $KEEP_PS ];then + +# Cleanup +if [ $KEEP_PS != 0 ];then mv -f $INPUT "${FINALOUTPUT}".ps MESSAGE=$(echo "$MESSAGE and your postscript file as $WIN_OUTPUT.ps") # Fix permissions on the generated files - chmod $PERMS "${FINALOUTPUT}".ps + chmod $PERMS "${FINALOUTPUT}".ps "${FINALOUTPUT}".pdf else rm -f $INPUT - chmod $PERMS "${FINALOUTPUT}".ps "${FINALOUTPUT}".pdf # Fix permissions on the generated files + chmod $PERMS "${FINALOUTPUT}".pdf fi - + #Remove empty file from mktemp: -[ "x$NAME" -eq "x" ] && rm -f $OUTPUT +rm -f $OUTPUT # Send notification to user echo -e $MESSAGE|smbclient -M $4 -I $5 -U "PDF Generator" >/dev/null 2>&1 diff --git a/packaging/Mandrake/samba2.spec.tmpl b/packaging/Mandrake/samba2.spec.tmpl index 8723437d17..eda072b419 100644 --- a/packaging/Mandrake/samba2.spec.tmpl +++ b/packaging/Mandrake/samba2.spec.tmpl @@ -13,19 +13,11 @@ # cvs should be submitted for inclusion in samba cvs. %define pkg_name samba -%define ver 3.0alpha22 -%define rel 2mdk -%define vscanver 0.3.1 +%define ver 3.0alpha23 +%define rel 4mdk +%define vscanver 0.3.2a %define libsmbmajor 0 -# Determine whether this is the system samba or not. -%define build_system 0 -%if %build_system -%define samba_major %{null} -%else -%define samba_major 3 -%endif - # Version and release replaced by samba-team at release from samba cvs %define pversion PVERSION %define prelease PRELEASE @@ -59,6 +51,7 @@ # We now do detection of the Mandrake release we are building on: #%define build_cooker %(if [ `awk '{print $3}' /etc/mandrake-release` = "Cooker" ];then echo 1; else echo 0; fi) #%define build_cooker %(if [[ `cat /etc/mandrake-release|grep Cooker` ]];then echo 1; else echo 0; fi) +%define build_mdk92 %(if [ `awk '{print $4}' /etc/mandrake-release` = 9.2 ];then echo 1; else echo 0; fi) %define build_mdk91 %(if [ `awk '{print $4}' /etc/mandrake-release` = 9.1 ];then echo 1; else echo 0; fi) %define build_mdk90 %(if [ `awk '{print $4}' /etc/mandrake-release` = 9.0 ];then echo 1; else echo 0; fi) %define build_mdk82 %(if [ `awk '{print $4}' /etc/mandrake-release` = 8.2 ];then echo 1; else echo 0; fi) @@ -68,6 +61,7 @@ %define build_non_default 0 # Default options +%define build_system 0 %define build_acl 1 %define build_winbind 1 %define build_wins 1 @@ -78,6 +72,10 @@ %define build_cupspc 0 # Set defaults for each version +%if %build_mdk92 +%define build_cupspc 1 +%endif + %if %build_mdk91 %define build_cupspc 1 %endif @@ -105,17 +103,20 @@ %define build_wins 0 %endif + # Allow commandline option overrides (borrowed from Vince's qmail srpm): # To use it, do rpm [-ba|--rebuild] --with 'xxx' # Check if the rpm was built with the defaults, otherwise we inform the user %define build_non_default 0 -%{?_with_acl: %{expand: %%define build_acl 1}} +%{?_with_system: %{expand: %%define build_system 1}} +%{?_without_system: %{expand: %%define build_system 0}} +%{?_with_acl: %{expand: %%global build_acl 1}} %{?_with_acl: %{expand: %%define build_non_default 1}} -%{?_without_acl: %{expand: %%define build_acl 0}} +%{?_without_acl: %{expand: %%global build_acl 0}} %{?_without_acl: %{expand: %%define build_non_default 1}} %{?_with_winbind: %{expand: %%global build_winbind 1}} %{?_with_winbind: %{expand: %%define build_non_default 1}} -%{?_without_winbind: %{expand: %%define build_winbind 0}} +%{?_without_winbind: %{expand: %%global build_winbind 0}} %{?_without_winbind: %{expand: %%define build_non_default 1}} %{?_with_wins: %{expand: %%global build_wins 1}} %{?_with_wins: %{expand: %%define build_non_default 1}} @@ -125,11 +126,11 @@ %{?_with_ldap: %{expand: %%define build_non_default 1}} %{?_without_ldap: %{expand: %%global build_ldap 0}} %{?_without_ldap: %{expand: %%define build_non_default 1}} -%{?_with_ads: %{expand: %%define build_ads 1}} +%{?_with_ads: %{expand: %%global build_ads 1}} %{?_with_ads: %{expand: %%define build_non_default 1}} -%{?_without_ads: %{expand: %%define build_ads 0}} +%{?_without_ads: %{expand: %%global build_ads 0}} %{?_without_ads: %{expand: %%define build_non_default 1}} -%{?_with_scanners: %{expand: %%define build_scanners 1}} +%{?_with_scanners: %{expand: %%global build_scanners 1}} %{?_with_scanners: %{expand: %%define build_non_default 1}} # As if that weren't enough, we're going to try building with antivirus @@ -162,9 +163,21 @@ %endif %global vfsdir examples.bin/VFS +#Standard texts for descriptions: +%define message_bugzilla() %(echo -e -n "Please file bug reports for this package at Mandrake bugzilla \\n(http://qa.mandrakesoft.com) under the product name %{1}") +%define message_system %(echo -e -n "NOTE: This is a prerelease of samba-%{samba_major}, not intended for production\\n use. Rather these packages are provided, parallel installable\\nwith samba-2.2.x, for testing purposes") + + #Workaround missing macros in 8.x: %{!?perl_vendorlib: %{expand: %%global perl_vendorlib %{perl_sitearch}/../}} +# Determine whether this is the system samba or not. +%if %build_system +%define samba_major %{nil} +%else +%define samba_major 3 +%endif + Summary: Samba SMB server. Name: %{pkg_name}%{samba_major} @@ -208,7 +221,7 @@ Patch4: samba-3.0-smbmount-sbin.patch.bz2 %if !%have_pversion # Version specific patches: current version Patch101: samba-Makefile-3.0alpha21.patch.bz2 -Patch102: samba-3.0alpha22-mandrake-packaging.patch.bz2 +#Patch102: samba-3.0alpha22-mandrake-packaging.patch.bz2 Patch110: samba-2.2.7a-fix-build.patch.bz2 %else # Version specific patches: upcoming version @@ -221,6 +234,7 @@ Requires: pam >= 0.64, samba-common = %{version} BuildRequires: pam-devel autoconf readline-devel BuildRequires: libxml2-devel BuildRequires: mysql-devel +BuildRequires: autoconf2.5 %if %build_acl BuildRequires: libacl-devel %endif @@ -260,12 +274,12 @@ This binary release includes encrypted password support. Please read the smb.conf file and ENCRYPTION.txt in the docs directory for implementation details. - +%if %have_pversion +%message_bugzilla samba3 +%endif %if !%build_system -NOTE: This is a prerelease of samba-%{samba_major}, not intended -for production use. If something breaks, file a bug report. +%message_system %endif - %if %build_non_default WARNING: This RPM was built with command-line options. Please see README.%{name}-mandrake-rpm in the documentation for @@ -281,7 +295,9 @@ Group: Networking/Other %if %build_system Provides: samba Obsoletes: samba +Provides: samba-server-ldap Obsoletes: samba-server-ldap +Provides: samba3-server Obsoletes: samba3-server %else #Provides: samba-server @@ -306,21 +322,11 @@ This binary release includes encrypted password support. Please read the smb.conf file and ENCRYPTION.txt in the docs directory for implementation details. - -%if %build_ldap -This package was compiled with LDAP support, which means that -passwords can be stored in LDAP or in smbpasswd files. -To migrate your passwords from smbpasswd into LDAP, try -examples/LDAP/import_smbpasswd.pl using: -%{_datadir}/%{name}/scripts/import_smbpasswd.pl %{SOURCE7} echo "an identical rpm, you need to supply the following options">>%{SOURCE7} echo "at build time: $RPM_EXTRA_OPTIONS">>%{SOURCE7} echo -e "\n%{name}-%{version}-%{release}\n">>%{SOURCE7} -%else +%else echo "This rpm was built with default options">%{SOURCE7} echo -e "\n%{name}-%{version}-%{release}\n">>%{SOURCE7} %endif @@ -667,7 +725,7 @@ echo "Applying patches for current version: %{ver}" (cd source %patch101 ) -%patch102 -p1 -b .mdk +#%patch102 -p1 -b .mdk %patch110 -p1 %else # Version specific patches: upcoming version @@ -680,7 +738,7 @@ echo "Appling patches which should only be applied to prereleases" %endif # Fix quota compilation in glibc>2.3 -%if %build_mdk91 +%if %build_mdk91 || %build_mdk92 #grep "" source/smbd/quotas.c >/dev/null && \ perl -pi -e 's@@@' source/smbd/quotas.c %endif @@ -747,9 +805,7 @@ CFLAGS="$RPM_OPT_FLAGS" %endif --disable-mysqltest \ --program-suffix=%{samba_major} -# --with-pam_smbpass \ # --with-manpages-langs=en,ja,pl \ -# --with-ldap=no \ #%if !%build_system # --with-smbwrapper \ #%endif @@ -759,11 +815,12 @@ CFLAGS="$RPM_OPT_FLAGS" # For some reason passdb/pdb_xml.c doesn't like the flags below ... # and the samba team doesn't always make proto before release ... make proto_exists -make passdb/pdb_xml.o torture +#make passdb/pdb_xml.o torture # torture target broken in alpha22 (only on 9.0?) -make CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" \ - all libsmbclient debug2html smbfilter wins modules -# all libsmbclient debug2html smbfilter wins torture modules +#make CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" \ +# all libsmbclient smbfilter wins modules %{!?_without_debug: torture debug2html} +%make all libsmbclient smbfilter wins modules %{!?_without_debug: torture debug2html} +#%make all libsmbclient debug2html smbfilter wins torture modules # Build VFS modules (experimental) #cd ../%vfsdir #_configure --prefix=%{prefix} \ @@ -787,7 +844,10 @@ echo "Building fprot" %endif %if %build_kaspersky echo "Building Kaspersky" -(cd %{vfsdir}/%{vscandir}/kaspersky;make) +(cd %{vfsdir}/%{vscandir}/kavp + perl -p -i -e "s|/usr/local/|/usr/|g" Makefile.KAV4 + make -f Makefile.KAV4 +) %endif %if %build_mks echo "Building mks" @@ -882,7 +942,7 @@ done # Make link for wins and winbind resolvers ( cd $RPM_BUILD_ROOT/%{_lib}; ln -s libnss_wins%{samba_major}.so libnss_wins%{samba_major}.so.2; ln -s libnss_winbind%{samba_major}.so libnss_winbind%{samba_major}.so.2) -%if 1 +%if %{?_without_debug:0}%{!?_without_debug:1} # Debugging stuff (broken in alpha22) for i in smbtorture msgtest masktest locktest locktest2 nsstest vfstest debug2html;do install -m755 source/bin/$i $RPM_BUILD_ROOT/%{_bindir} @@ -1206,11 +1266,12 @@ fi %{_bindir}/pdbedit%{samba_major} %{_bindir}/tdbbackup%{samba_major} %{_bindir}/profiles%{samba_major} +%{_bindir}/editreg%{samba_major} %attr(755,root,root) /%{_lib}/security/pam_smbpass* -%{_libdir}/%{name}/vfs/vfs_audit.so -%{_libdir}/%{name}/vfs/vfs_netatalk.so -%{_libdir}/%{name}/vfs/vfs_recycle.so -%{_libdir}/%{name}/vfs/vfs_extd_audit.so +%dir %{_libdir}/%{name}/vfs +%{_libdir}/%{name}/vfs/*.so +%dir %{_libdir}/%{name}/pdb + #/usr/share/swat %attr(-,root,root) %config(noreplace) /etc/%{name}/smbusers %attr(-,root,root) %config %{_initrddir}/smb%{samba_major} @@ -1227,8 +1288,9 @@ fi %{_mandir}/man1/smbcontrol*.1* %attr(775,root,root) %dir %{_localstatedir}/%{name}/netlogon %attr(775,root,root) %dir %{_localstatedir}/%{name}/profiles -%attr(775,root,root) %dir %{_localstatedir}/%{name}/printers/* +%attr(775,root,root) %dir %{_localstatedir}/%{name}/printers %attr(1777,root,root) %dir /var/spool/%{name} +%dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/scripts %attr(0755,root,root) %{_datadir}/%{name}/scripts/print-pdf #%attr(0750,root,root) %{_datadir}/%{name}/scripts/smbldap*.pl @@ -1304,16 +1366,20 @@ fi #%{_bindir}/smbsh%{samba_major} %{_bindir}/smbpasswd%{samba_major} %{_bindir}/smbcacls%{samba_major} +%{_bindir}/smbcquotas%{samba_major} %{_bindir}/net%{samba_major} %{_bindir}/smbtree%{samba_major} %{_bindir}/ntlm_auth%{samba_major} #%{_libdir}/smbwrapper%{samba_major}.so +%dir %{_libdir}/%{name} %{_libdir}/%{name}/*.dat #%{_libdir}/%{name}/lowcase.dat #%{_libdir}/%{name}/valid.dat -%attr(-,root,root) %config(noreplace) /etc/%{name}/smb.conf -%attr(-,root,root) %config(noreplace) /etc/%{name}/smb-winbind.conf -%attr(-,root,root) %config(noreplace) /etc/%{name}/lmhosts +%dir %{_sysconfdir}/%{name} +%attr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/smb.conf +%attr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/smb-winbind.conf +%attr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/lmhosts +%dir %{_localstatedir}/%{name} %attr(-,root,root) %{_localstatedir}/%{name}/codepages #%{_mandir}/man1/make_smbcodepage*.1* #%{_mandir}/man1/make_unicodemap*.1* @@ -1347,7 +1413,7 @@ fi %attr(755,root,root) /%{_lib}/libnss_wins%{samba_major}.so* %endif -%if 1 +%if %{?_without_debug:0}%{!?_without_debug:1} %files debug %defattr(-,root,root) %{_bindir}/debug2html%{samba_major} @@ -1381,11 +1447,11 @@ fi %files passdb-mysql %defattr(-,root,root) -%{_libdir}/%{name}/*/pdb_mysql.so +%{_libdir}/%{name}/pdb/*mysql.so %files passdb-xml %defattr(-,root,root) -%{_libdir}/%{name}/*/pdb_xml.so +%{_libdir}/%{name}/pdb/*xml.so #Files for antivirus support: %if %build_fprot @@ -1445,6 +1511,29 @@ fi %endif %changelog +* Mon Apr 28 2003 Buchan Milne 3.0-0.alpha24.0mdk +- Reenable debug package by (--without debug to not build it), fixed post-a23 +- Add bugzilla note for builds from source (also intended for packages made + available on samba FTP site) at samba team request +- Fix build from CVS (run autogen.sh, pass options to all rpm commands) +- Appease distriblint, but not much to be done about /usr/share/swat3/ since + samba-doc owns some subdirs, and samba-swat others, and they can be installed + independantly. +- Apply kaspersky vscan build fix from samba2 +- Final for alpha24 + +* Wed Apr 23 2003 Buchan Milne 3.0-0.alpha23.3mdk +- Small fixes in preparation for testing as system samba +- Make debug package optional (--with debug) since it's often broken +- Add support for 9.2 (including in-line smbd quota patch for glibc2.3) +- Add --with options option, which will just show you the available options and exit + +* Sun Apr 06 2003 Buchan Milne 3.0-0.alpha23.2mdk +- Alpha23 +- buildrequire autconf2.5 +- samba-vscan 0.3.2a +- Remove patch 102 (upstreamed) + * Thu Mar 06 2003 Buchan Milne 3.0-0.alpha22.2mdk - Alpha22 - Add profiles binary to server and ntlm_auth to common -- cgit