Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:ayearout:SOGo
gnustep-base
gnustep-base.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gnustep-base.spec of Package gnustep-base
# Spec file for GNUstep Base (version 1.19.3) # on openSUSE Build Service # Comments to richard@rstonehouse.co.uk/wstephenson@kde.org # Modified by Adam Yearout <ayearout@royal.wednet.edu> %define gs_makever 2.2 %define gs_basever 1.19 %define gnustep_sh GNUstep.sh %define gs_config /etc/GNUstep/GNUstep.conf %define init_dir /etc/init.d %define gs_sysinit %{init_dir}/gdomap %define gs_daemon gdomap %define profile_dir /etc/profile.d %define gs_userstart GNUstep-start.sh # Definitions for use in the '%files' list; will # need changed if building for a non-FHS system: %define gs_doc_man /usr/share/man %define gs_headers /usr/include %ifarch x86_64 %define gs_libraries /usr/lib64 %else %define gs_libraries /usr/lib %endif %define gs_library %{gs_libraries}/GNUstep %define gs_tools /usr/bin %define gs_makefiles /usr/share/GNUstep/Makefiles # Use SUSE version as release suffix %define releasesuffix %{?suse_version} Name: gnustep-base Version: %{gs_basever}.3 Release: 1 Source: %{name}-%{version}.tar.gz License: GPL 3 Vendor: The GNUstep Project URL: http://www.gnustep.org/ Distribution: GNUstep 2.0 for openSUSE Linux Packager: Adam Yearout <ayearout@royal.wednet.edu> BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: %insserv_prereq coreutils grep BuildRequires: gnustep-make libffi-devel gcc-objc gmp-devel libxml2-devel libxslt-devel mDNSResponder-devel openssl-devel tar zlib-devel Summary: GNUstep Base library package Group: System/GUI/GNUstep Requires: gnustep-make >= %{gs_makever}, gmp >= 3.1.1, libxml2 >= 2.3, openssl, mDNSResponder-lib, zlib %description The GNUstep Base Library is a powerful fast library of general- purpose, non-graphical Objective C classes, inspired by the superb OpenStep API but implementing Apple and GNU additions to the API as well. It includes, for example, classes for unicode strings, arrays, dictionaries, sets, byte streams, typed coders, invocations, notifications, notification dispatchers, scanners, tasks, files, networking, threading, remote object messaging support (distributed objects), event loops, loadable bundles, attributed unicode strings, xml, mime, user defaults. This package was configured for the FHS file system layout, customised for SUSE. %package devel Summary: Development files for the GNUstep Base library package Group: Development/Libraries Requires: gnustep-base %description devel The GNUstep Base Library is a powerful fast library of general- purpose, non-graphical Objective C classes, inspired by the superb OpenStep API but implementing Apple and GNU additions to the API as well. It includes, for example, classes for unicode strings, arrays, dictionaries, sets, byte streams, typed coders, invocations, notifications, notification dispatchers, scanners, tasks, files, networking, threading, remote object messaging support (distributed objects), event loops, loadable bundles, attributed unicode strings, xml, mime, user defaults. This package includes development headers. It was configured for the FHS file system layout, customised for SUSE. %prep %setup -q %build # Source GNUstep environment variables. This is done unconditionally # to ensure that the values appropriate to this build get defined, # irrespective of what happened to be in force for the build system. set +x . %{gs_config} GNUSTEP_SH_EXPORT_ALL_VARIABLES="yes" . ${GNUSTEP_MAKEFILES}/%{gnustep_sh} set -x # Configure and make. CPPFLAGS="-Wno-unused" \ ./configure --libdir=%{_libdir} \ --enable-ffi make %install # Source GNUstep environment variables. This is done unconditionally # to ensure that the values appropriate to this build get defined, # irrespective of what happened to be in force for the build system. set +x . %{gs_config} GNUSTEP_SH_EXPORT_ALL_VARIABLES="yes" . ${GNUSTEP_MAKEFILES}/%{gnustep_sh} set -x # Install into RPM "build root" directory. make -e DESTDIR=${RPM_BUILD_ROOT} \ GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \ install # Strip debugging symbols, if local build # (bypass if using openSUSE Build Service). %if ! 0%{?opensuse_bs} for bin in $(find ${RPM_BUILD_ROOT}/usr/{,s}bin -type f -perm /111) do if file ${bin} | grep -q "^${bin}:[[:space:]]*ELF .*, not stripped$" then strip --strip-unneeded ${bin} fi done for lib in $(find ${RPM_BUILD_ROOT}%{gs_libraries} -type f -perm /111) do if file ${lib} | grep -q "^${lib}:[[:space:]]*ELF .*, not stripped$" then strip --strip-debug ${lib} fi done %endif # Create startup/shutdown script for gdomap service. # Note this version of the code is designed to fit in # with SuSE linux's version of sys V init. mkdir -p ${RPM_BUILD_ROOT}%{init_dir} cat > ${RPM_BUILD_ROOT}%{gs_sysinit} << "EOF" #!/bin/sh # # GNUstep daemons # ### BEGIN INIT INFO # Provides: %{gs_daemon} # Required-Start: $syslog $local_fs # Should-Start: # Required-Stop: $syslog $local_fs # Should-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: %{gs_daemon} service # Description: Start up the %{gs_daemon} service # used by GNUstep applications. ### END INIT INFO . /etc/rc.status . %{gs_config} case "${1}" in start) echo -n "Starting %{gs_daemon}: " startproc ${GNUSTEP_SYSTEM_TOOLS}/%{gs_daemon} echo # Remember status and be verbose rc_status -v ;; stop) echo -n "Stopping %{gs_daemon}: " killproc ${GNUSTEP_SYSTEM_TOOLS}/%{gs_daemon} echo # Remember status and be verbose rc_status -v ;; restart|reload) ${0} stop ${0} start # Remember status and be quiet rc_status ;; status) echo -n "Checking for service %{gs_daemon} " checkproc ${GNUSTEP_SYSTEM_TOOLS}/%{gs_daemon} rc_status -v ;; *) echo "Usage: %{gs_sysinit} {start|stop|status|restart|reload}" exit 1 esac rc_exit EOF chmod 755 ${RPM_BUILD_ROOT}%{gs_sysinit} # Create scripts to source GNUstep environment variables, # start up user GNUstep services gdnc & gpbs, and update cache # of services and applications, on user login. mkdir -p ${RPM_BUILD_ROOT}%{profile_dir} cat > ${RPM_BUILD_ROOT}%{profile_dir}/%{gs_userstart} << "EOF" #!/bin/sh . %{gs_config} function runtool { local toolpath=${GNUSTEP_SYSTEM_TOOLS}/${1} # Check whether the tool exists if [ -x ${toolpath} ] then # Check whether the tool is already running for this user if ! ps -U $(id -u) -o cmd --no-headers | grep -q "^${toolpath}\>" then ${toolpath} fi fi unset toolpath } if [ -d ${HOME}/${GNUSTEP_USER_DIR} ] then # Start up the GNUstep Distributed Notification Center daemon runtool gdnc # Start up the GNUstep PasteBoard Server daemon, if we're running X [ ${DISPLAY} ] && runtool gpbs # Start up the GNUstep Sound daemon if we have portaudio sound if portaudiolib=$(/sbin/ldconfig -p | grep '^[[:space:]]*libportaudio.so[[:space:]]') \ && [ -e $(echo ${portaudiolib} | sed 's/^.*=>[[:space:]]*\([^[:space:]]*\)$/\1/') ] then runtool gnustep_sndd fi unset portaudiolib # Run 'make_services' in background if possible. We run it in a subshell; # otherwise, shells with job control (like bash) output an annoying # message when make_services is done, while we want it to happen silently. [ -x "${GNUSTEP_SYSTEM_TOOLS}/make_services" ] \ && ("${GNUSTEP_SYSTEM_TOOLS}/make_services" &) fi EOF chmod 755 ${RPM_BUILD_ROOT}%{profile_dir}/%{gs_userstart} # Link rcgdomap to init.d script mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} ln -sf ../..%{gs_sysinit} $RPM_BUILD_ROOT%{_sbindir}/rc%{gs_daemon} %clean ##### UNCOMMENT THE FOLLOWING LINE WHEN TESTED ##### #rm -rf ${RPM_BUILD_ROOT} %files %defattr (-, root, root) # The gnustep-base library %{gs_libraries}/libgnustep-base.* # Tools - note that the gdomap daemon needs to be made suid # root, and this must be done here. If set earlier, setting # the user and group name here will reset it (argh!) %{gs_tools}/autogsdoc %{gs_tools}/cvtenc %{gs_tools}/defaults %{gs_tools}/gdnc #%attr (6755, root, root) %{gs_tools}/%{gs_daemon} %{gs_tools}/%{gs_daemon} %{_sbindir}/rc%{gs_daemon} %{gs_tools}/gspath %{gs_tools}/make_strings %{gs_tools}/HTMLLinker %{gs_tools}/pl* %{gs_tools}/sfparse %{gs_tools}/xmlparse # Library files %{gs_library} # Makefiles %{gs_makefiles} # Add /usr/share for man pages %{gs_doc_man}/man1/* %{gs_doc_man}/man8/* # Add %{gs_daemon} startup script & profiles as configuration files %config %{gs_sysinit} %config %{profile_dir}/%{gs_userstart} # Documentation files %doc ANNOUNCE ChangeLog COPYING COPYING.LIB INSTALL NEWS README %files devel %defattr (-, root, root) # Header files %{gs_headers}/* %post if [ "${1}" = "1" ] then # Path to GNUstep libraries was added to ld.so.conf in gnustep-make. # Run ldconfig to add gnustep-base libraries to the library cache. /sbin/ldconfig # Add lines for %{gs_daemon} into /etc/services, if not already there grep -q '^%{gs_daemon}' /etc/services \ || (echo -e "%{gs_daemon}\t\t538/tcp\t\t\t\t# GNUstep distributed objects" >> /etc/services \ && echo -e "%{gs_daemon}\t\t538/udp\t\t\t\t# GNUstep distributed objects" >> /etc/services) # Add the %{gs_daemon} service. Note this is not started # automatically - the user will need to start it using YaST2. %{fillup_and_insserv -fy %{gs_daemon}} fi %preun if [ "${1}" = "0" ] then # Stop the gdomap service %stop_on_removal %{gs_daemon} # Remove lines for gdomap from /etc/services mv -f /etc/services /etc/services.orig grep -v "^%{gs_daemon}[[:space:]]*538" /etc/services.orig > /etc/services rm -f /etc/services.orig fi %postun /sbin/ldconfig %restart_on_update %{gs_daemon} %insserv_cleanup %changelog * Tue Jul 27 2010 Adam Yearout <ayearout@royal.wednet.edu> - 1.19.3-1 - Updated for GNUstep Base 1.19.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor