# Use --define 'nossl 1' on the command line to disable SSL detection %{!?nossl:%define SSL 1} %define ssldir %{_prefix} # Use --define 'noxlc 1' on the command line to use gcc %{!?noxlc:%define XLC 1} %{?noxlc:%define XLC 0} Name: kdebase Summary: K Desktop Environment - core files Prefix: %{_prefix}/kde URL: http://www.kde.org Release: 2%{!?nossl:ssl} Version: 3.0 # Some code copyrights ("non-commercial" clauses, etc.) are questionable # for inclusion in the AIX Toolbox for Linux Applications. See the changelog. # Source: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/%{name}-%{version}.tar.bz2 Source: %{name}-%{version}-trimmed.tar.bz2 Source1: %{name}-%{version}-cryptodefaults Patch0: %{name}-%{version}-kde-common.patch Patch1: %{name}-%{version}-aix.patch Patch2: %{name}-%{version}-xlc.patch Group: User Interface/Desktops Copyright: GPL BuildRoot: %{_tmppath}/%{name}-buildroot Requires: kdelibs, xpm, freetype2 %{!?nossl:prngd, openssl} BuildPrereq: automake = 1.5, autoconf >= 2.5, freetype2-devel BuildPrereq: qt-devel >= 3.0, kdelibs-devel, xpm-devel %{!?nossl:openssl-devel} %description Core applications for the K Desktop Environment. Included are: kdm (replacement for xdm), kwin (window manager), konqueror (filemanager, web browser, ftp client, ...), konsole (xterm replacement), kicker (application starter and desktop pager), kaudio (audio server), kdehelp (viewer for kde help files, info and man pages), kthememgr (system for managing alternate theme packages) plus other KDE components (kcheckpass, kikbd, kscreensaver, kcontrol, kfind, kfontmanager, kmenuedit, kappfinder). %prep rm -rf $RPM_BUILD_ROOT %setup -q -n %{name}-%{version} # Common patches. %patch0 -p0 -b .aix %patch1 -p0 -b .aix # Per-compiler patches. These will break (or are untested) on the other. %if %{XLC} == 1 %patch2 -p0 -b .xlc %endif find . -type d -name "CVS" -print | xargs rm -rf %if %{XLC} == 0 # Deoptimize. Temporary until compiler is in better shape. for file in `find . -print | xargs grep -l '\-O2'`; do cp $file $file.withO2 sed -e 's/\-O2/-O0/g' < $file.withO2 > $file done %else # xlc does not like 'int main() { main(); return 0; }' for file in `find . \( -name "*.in" -o -name "*.m4" \) -print`; do sed -e 's/AC_CHECK_LIB(\(.*\), main,/AC_CHECK_LIB\(\1, exit,/g' $file > $file.sed mv $file.sed $file done # FIXME: Shouldn't have to do this. rm -f acinclude.m4 configure.files; make -f Makefile.am top_srcdir=. acinclude.m4 rm -f configure.in; make -f Makefile.am top_srcdir=. configure.in aclocal; autoconf %endif %build %{!?noxlc: export CC=xlc CXX=xlC} export KDEDIR=%{prefix} export QTDIR=%{_prefix}/qt export CXXFLAGS="%{!?noxlc: -qrtti=all} %{?noxlc: -frepo}" CFLAGS="%{!?noxlc: -Dinline=_Inline}" # --with-extra-libs=/opt/freeware/lib is for libfreetype.a # --without-motif so nsplugins are not compiled ./configure \ --prefix=%{prefix} \ --with-install-root=$RPM_BUILD_ROOT --disable-debug \ --with-xdmdir=%{prefix}/share/config/kdm %{?noxlc: --enable-final} \ --with-extra-libs=/opt/freeware/lib --without-motif \ %{?nossl:--without-ssl} %{!?nossl:--with-ssl-dir=%{ssldir}} make %install export DESTDIR=$RPM_BUILD_ROOT make RUN_KAPPFINDER=no DESTDIR=$RPM_BUILD_ROOT install %{!?nossl:cp %{SOURCE1} $RPM_BUILD_ROOT%{prefix}/share/config/cryptodefaults} # Stripping decreases size a lot! %if %{XLC} == 0 for file in $RPM_BUILD_ROOT%{prefix}/bin/* $RPM_BUILD_ROOT%{prefix}/lib/*.so; do /usr/bin/strip $file || : done %endif # kdm-related setup mkdir -p $RPM_BUILD_ROOT%{prefix}/share/config/kdm ./kdm/kfrontend/genkdmconf --in $RPM_BUILD_ROOT%{prefix}/share/config/kdm --no-old mkdir -p $RPM_BUILD_ROOT/var/run mkdir -p $RPM_BUILD_ROOT/var/log mkdir -p $RPM_BUILD_ROOT/var/lib mkdir -p $RPM_BUILD_ROOT/usr/bin ln -sf /usr/dt/bin/Xsession $RPM_BUILD_ROOT/usr/bin/startcde ln -sf ../..%{prefix}/bin/startkde $RPM_BUILD_ROOT/usr/bin mkdir -p $RPM_BUILD_ROOT/usr ln -sf ..%{prefix} $RPM_BUILD_ROOT/usr # make kcheckpass suid root chmod 4755 $RPM_BUILD_ROOT%{prefix}/bin/kcheckpass # remove SUID bit from konsole_grantpty chmod 0755 $RPM_BUILD_ROOT%{prefix}/bin/konsole_grantpty # make kdesud setgid chgrp nobody $RPM_BUILD_ROOT%{prefix}/bin/kdesud && \ chmod 2755 $RPM_BUILD_ROOT%{prefix}/bin/kdesud # fix konsole /opt/kde hardcode { cd konsole/other perl -pi -e "s|/opt/kde|%{prefix}|g" * cd - } # install the "linux console" fonts install -d -m 755 $RPM_BUILD_ROOT/usr/lib/X11/fonts/misc for file in konsole/fonts/console*.pcf.gz; do gunzip -c $file | compress - > `echo $file | sed -e 's/gz$/Z/g'` rm $file done install -m 644 konsole/fonts/console*.pcf.Z \ $RPM_BUILD_ROOT/usr/lib/X11/fonts/misc { cd $RPM_BUILD_ROOT find .%{prefix} -type d | sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' > \ $RPM_BUILD_DIR/file.list.%{name} # more kdm setup echo "%attr(-,root,root) %dir /var/run" >> $RPM_BUILD_DIR/file.list.%{name} echo "%attr(-,root,root) %dir /var/log" >> $RPM_BUILD_DIR/file.list.%{name} echo "%attr(-,root,root) %dir /var/lib" >> $RPM_BUILD_DIR/file.list.%{name} find . -type f | sed -e 's,^\.,\%attr(-\,root\,root) ,' \ -e '/\/config\//s|^|%config |' >> \ $RPM_BUILD_DIR/file.list.%{name} find . -type l | sed 's,^\.,\%attr(-\,root\,root) ,' >> \ $RPM_BUILD_DIR/file.list.%{name} sed -e 's/^\(.*\)root,root\(.*\)kdesud$/\1root,-\2kdesud/g' < $RPM_BUILD_DIR/file.list.%{name} \ > $RPM_BUILD_DIR/file.list.%{name}.tmp mv $RPM_BUILD_DIR/file.list.%{name}.tmp $RPM_BUILD_DIR/file.list.%{name} echo "%docdir" %{prefix}/share/doc >> \ $RPM_BUILD_DIR/file.list.%{name} cd - } %clean rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/files.list.%{name} %post # Make sure kdesud has the correct group. chgrp nobody %{prefix}/bin/kdesud cd /usr/lib/X11/fonts/misc && /usr/bin/X11/mkfontdir && chmod 644 fonts.dir %postun if [ "$1" = "0" ]; then cd /usr/lib/X11/fonts/misc && /usr/bin/X11/mkfontdir && chmod 644 fonts.dir fi %files -f ../file.list.%{name} %changelog * Tue Sep 16 2003 Reza Arbab 3.0-2 - Keep share/config/kdm/Xsession from sourcing /etc/profile twice. * Fri Mar 29 2002 Reza Arbab - 3.0 - build with xlC - konsole/doc/More/ansix364.txt removed from Source0: Contains 1984 BYTE Publications copyright with only noncommerical reproduction permission. - nsplugins removed from Source0: Contain Sun Microsystems copyright specified for NON-COMMERCIAL use. - kioslave/nfs removed from Source0: Contains Sun Microsystems copyright, not allowing distribution w/o "express written consent". * Fri Oct 12 2001 Reza Arbab - Fix typo in share/config/kdm/Xstartup. * Fri Oct 12 2001 Reza Arbab - Change default to not start aRts server on KDE startup. * Mon Sep 17 2001 Reza Arbab - 2.2.1 * Fri May 4 2001 Reza Arbab - Update to KDE 2.2. - Enable ssl. - Use libXpm (xpm RPM) rather than built-in XPM capabilities of libXm. * Fri Apr 06 2001 Marc Stephenson - Add xterm to workaround gnome startup problem * Thu Apr 05 2001 Marc Stephenson - Fix passwd problem with kdm - Fix path to GNOME in kdm - Add xterm session in kdm * Wed Mar 28 2001 Marc Stephenson - Fix kdm greeter problem setting environment * Tue Mar 27 2001 Marc Stephenson - Rebuild against new shared objects * Thu Mar 22 2001 pkgmgr - Added -Dregister= to work around g++ compiler bug. * Tue Mar 20 2001 Marc Stephenson - Don't include /usr in directory listing * Wed Mar 14 2001 pkgmgr - Changed kdm to use AIX authenticate(). * Thu Mar 1 2001 pkgmgr - 2.1 * Wed Dec 20 2000 pkgmgr - Modify for AIX Freeware distribution * Thu May 11 2000 Bernhard Rosenkraenzer - initial specfile