Compare commits

..

11 Commits

Author SHA1 Message Date
Praveen K Paladugu 300467cdce Moved the cert generation 2010-08-10 11:02:27 -05:00
Fedora Release Engineering 0721437f49 dist-git conversion 2010-07-29 05:20:22 +00:00
Praveen K Paladugu 6d2a5044f5 Updated the spec file to follow the upstream packaging format 2009-12-31 20:05:14 +00:00
Bill Nottingham dbb5dd66cc Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:25:14 +00:00
Praveen K Paladugu 8eb31f4f79 removed some hard coded paths in %files 2009-10-01 18:14:51 +00:00
Praveen K Paladugu acf789a807 increased the release after the previous change 2009-09-29 18:02:36 +00:00
Praveen K Paladugu 68810c26ba Hardcoding back the path to /usr/lib in %files 2009-09-29 18:01:13 +00:00
Praveen K Paladugu 8121b3b621 Made a few changes to support python-config test on RHEL5. 2009-09-29 17:29:00 +00:00
Praveen K Paladugu 1386e9a847 Added the new openwsman-2.2.0 sources 2009-09-24 22:57:22 +00:00
srinivas ramanatha d63da6d7c9 Initial Import to EL-5 2008-11-01 10:34:43 +00:00
Huzaifa Sidhpurwala dd3edc2fa1 Initialize branch EL-5 for openwsman 2008-10-13 10:50:40 +00:00
6 changed files with 475 additions and 88 deletions
+181 -11
View File
@@ -1,11 +1,14 @@
--- openwsman-2.0.0/etc/init/openwsmand.sh.in.orig 2008-09-07 00:01:29.000000000 -0500
+++ openwsman-2.0.0/etc/init/openwsmand.sh.in 2008-09-07 00:34:57.000000000 -0500
@@ -4,15 +4,13 @@
diff -up ./etc/init/openwsmand.sh.in.bak ./etc/init/openwsmand.sh.in
--- ./etc/init/openwsmand.sh.in.bak 2010-08-10 10:43:50.158889277 -0500
+++ ./etc/init/openwsmand.sh.in 2010-08-10 10:46:19.345860143 -0500
@@ -4,21 +4,21 @@
# Provides: openwsmand
# Required-Start: $remote_fs
# Required-Stop: $network
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
+# Default-Start:
+# Default-Stop:
# Short-Description: Openwsman Daemon
# Description: openwsmand
# Start/Stop the Openwsman Daemon
@@ -17,12 +20,179 @@
# description: Openwsman Daemon
# processname: openwsmand
@@ -57,7 +55,7 @@ case "$1" in
if [ "x${FQDN}" = "x" ]; then
FQDN=localhost.localdomain
fi
NAME=openwsmand
DAEMON=/usr/sbin/$NAME
-OPTIONS=
+OPTIONS=-S
PIDFILE=/var/run/$NAME.pid
if [ $EUID != 0 ]; then
@@ -37,12 +37,14 @@ lockfile=${SVIlock:-/var/lock/subsys/$NA
if [ -f "/etc/sysconfig/openwsman" ]; then
. /etc/sysconfig/openwsman
fi
-# See how we were called.
-. /etc/rc.status
-# Reset status of this service
-rc_reset
+if [ -f "/etc/SuSe-release" ]; then
+ # See how we were called.
+ . /etc/rc.status
+ # Reset status of this service
+ rc_reset
+fi
case "$1" in
start)
@@ -52,35 +54,43 @@ case "$1" in
echo "Using common server certificate /etc/ssl/servercerts/servercert.pem"
ln -s /etc/ssl/servercerts/server{cert,key}.pem /etc/openwsman/
else
- echo "Generating Openwsman server public certificate and private key"
- FQDN=`hostname --fqdn`
- if [ "x${FQDN}" = "x" ]; then
- FQDN=localhost.localdomain
- fi
-cat << EOF | sh @SYSCONFDIR@/owsmangencert.sh > /dev/null 2>&1
+cat << EOF | sh @libexecdir@/openwsman/owsmangencert.sh > /dev/null 2>&1
--
SomeState
SomeCity
---
-SomeState
-SomeCity
-SomeOrganization
-SomeOrganizationalUnit
-${FQDN}
-root@${FQDN}
-EOF
+ echo "FAILED: Starting openwsman server"
+ echo "There is no ssl server key available for openwsman server to use."
+ echo -e "Please generate one with the following script and start the openwsman service again:\n"
+ echo "##################################"
+ echo "/etc/openwsman/owsmangencert.sh"
+ echo "================================="
+
+ echo "NOTE: The script uses /dev/random device for generating some random bits while generating the server key."
+ echo -e " If this takes too long, you can replace the value of \"RANDFILE\" in @SYSCONFDIR@/ssleay.cnf with /dev/urandom.\n Please understand the implications of doing so."
+
fi
fi
# Start daemons.
echo -n "Starting the $DESCRIPTIVE"
- startproc -p $PIDFILE $DAEMON > /dev/null 2>&1
- rc_status -v
+ if [ -f "/etc/SuSe-release" ]; then
+ startproc -p $PIDFILE $DAEMON > /dev/null 2>&1
+ rc_status -v
+ elif [ -f "/etc/redhat-release" ]; then
+ $DAEMON -S && echo " done." || echo " failed."
+ fi
+
touch $lockfile
;;
stop)
# Stop daemons.
echo -n "Shutting down $DESCRIPTIVE"
- killproc -p $PIDFILE -TERM $DAEMON
- rc_status -v
+ if [ -f "/etc/SuSe-release" ]; then
+ killproc -p $PIDFILE -TERM $DAEMON
+ rc_status -v
+ elif [ -f "/etc/redhat-release" ]; then
+ kill -9 `pidof openwsmand` > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ echo " done"
+ fi
+ fi
rm -f $lockfile
;;
@@ -91,19 +101,40 @@ EOF
;;
reload)
- echo -n "Reload service $DESCRIPTIVE"
- killproc -p $PIDFILE -HUP $DAEMON
- rc_status -v
+ echo -n "Reloading service $DESCRIPTIVE"
+ if [ -f "/etc-SuSe-release" ]; then
+ killproc -p $PIDFILE -HUP $DAEMON
+ rc_status -v
+ elif [ -f "/etc/redhat-release" ]; then
+ killall -HUP openwsmad && echo " done."|| echo " failed."
+ fi
;;
status)
echo -n "Checking for service $DESCRIPTIVE"
- checkproc -p $PIDFILE $DAEMON
- rc_status -v
+ if [ -f "/etc/SuSe-release" ]; then
+ checkproc -p $PIDFILE $DAEMON
+ rc_status -v
+ elif [ -f "/etc/redhat-release" ]; then
+ pidof opewsmand > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ echo " running"
+ else
+ echo " stopped"
+ fi
+ fi
+
+ ;;
+ condrestart)
+ [ -f $lockfile ] && restart || :
;;
*)
- echo "Usage: $0 {restart|start|stop|reload|force-reload|status}"
+ echo "Usage: $0 {restart|start|stop|reload|force-reload|status|condrestart}"
esac
+if [ -f "/etc/SuSe-release" ]; then
rc_exit
+elif [ -f "/etc/redhat-release" ]; then
+exit 0
+fi
diff -up ./etc/owsmangencert.sh.in.bak ./etc/owsmangencert.sh.in
--- ./etc/owsmangencert.sh.in.bak 2010-08-10 10:46:36.554862986 -0500
+++ ./etc/owsmangencert.sh.in 2010-08-10 10:50:45.843859853 -0500
@@ -15,19 +15,34 @@ if [ "$1" = "--force" ]; then
shift
fi
+FQDN=`hostname --fqdn`
+ if [ "x${FQDN}" = "x" ]; then
+ FQDN=localhost.localdomain
+ fi
+
+
echo
echo creating selfsingned certificate
echo "replace it with one signed by a certification authority (CA)"
echo
-echo enter your ServerName at the Common Name prompt
+#echo enter your ServerName at the Common Name prompt
echo
# use special .cnf, because with normal one no valid selfsigned
# certificate is created
-export RANDFILE=/dev/random
-openssl req -days 365 $@ -config $CNFFILE \
+#export RANDFILE=/dev/random
+cat <<EOF |openssl req -days 365 $@ -config $CNFFILE \
-new -x509 -nodes -out $CERTFILE \
-keyout $KEYFILE
+--
+SomeState
+SomeCity
+SomeOrganization
+SomeOrganizationalUnit
+${FQDN}
+root@${FQDN}
+EOF
+
chmod 600 $KEYFILE
+24
View File
@@ -0,0 +1,24 @@
Index: openwsman.conf
===================================================================
--- openwsman-2.0.0/etc/openwsman.conf (revision 3221)
+++ openwsman-2.0.0/etc/openwsman.conf (working copy)
@@ -4,7 +4,7 @@
ssl_cert_file = /etc/openwsman/servercert.pem
ssl_key_file = /etc/openwsman/serverkey.pem
digest_password_file = /etc/openwsman/digest_auth.passwd
-basic_password_file = /etc/openwsman/simple_auth.passwd
+#basic_password_file = /etc/openwsman/simple_auth.passwd
min_threads = 4
max_threads = 10
@@ -15,8 +15,8 @@
# Authentication backend for BASIC authentication. Default is to read a configuration file defined with 'basic_password_file'
#
-#basic_authenticator = libwsman_pam_auth.so
-#basic_authenticator_arg = openwsman
+basic_authenticator = libwsman_pam_auth.so
+basic_authenticator_arg = openwsman
#
# WS-Management unauthenticated wsmid:Identify file
+12
View File
@@ -0,0 +1,12 @@
diff -up ./etc/ssleay.cnf.new ./etc/ssleay.cnf
--- ./etc/ssleay.cnf.new 2009-12-16 17:04:15.000000000 -0600
+++ ./etc/ssleay.cnf 2009-12-16 17:04:55.000000000 -0600
@@ -2,7 +2,7 @@
# SSLeay example configuration file.
#
-RANDFILE = $ENV::HOME/.rnd
+RANDFILE = /dev/random
[ req ]
default_bits = 1024
+183 -77
View File
@@ -1,20 +1,24 @@
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%{!?ruby_sitelib: %global ruby_sitelib %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"] ')}
%{!?ruby_sitearch: %global ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"] ')}
%define ruby_libdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')
Name: openwsman
Version: 2.2.0
Release: 2%{?dist}
Release: 6%{?dist}
License: BSD
Url: http://www.openwsman.org/
Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
Source2: python-config
Patch0: %{name}-initscript.patch
Patch1: %{name}-pam-auth.patch
Patch2: perl-bindings.patch
Patch3: openwsman-randfile.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXXX)
Group: System Environment/Daemons
Summary: Web Services Management libraries
BuildRequires: sblim-sfcc-devel curl-devel libxml2-devel pkgconfig pam-devel openssl-devel swig python python-devel ruby ruby-devel
Summary: Opensource Implementation of WS-Management
BuildRequires: sblim-sfcc-devel curl-devel libxml2-devel pkgconfig pam-devel openssl-devel swig python python-devel ruby ruby-devel libtool
BuildRequires: perl pkgconfig openssl-devel net-tools
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(postun): initscripts
@@ -28,124 +32,226 @@ is based on a suite of web services specifications and usage
requirements that exposes a set of operations focused on and covers
all system management aspects.
%package -n libwsman1
License: BSD
Group: System Environment/Libraries
Summary: Opensource Implementation of WS-Management
Provides: %{name} = %{version}
Obsoletes: %{name} < %{version}
Requires: %{name}-client
%package devel
Summary: Openwsman Development files
%description -n libwsman1
Openwsman library for packages dependent on openwsman
%package -n libwsman-devel
License: BSD
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
%description devel
Openwsman Development files
Summary: Opensource Implementation of WS-Management
Provides: %{name}-devel = %{version}
Obsoletes: %{name}-devel < %{version}
Requires: libwsman1 = %{version}
Requires: %{name}-server = %{version}
Requires: %{name}-client = %{version}
Requires: sblim-sfcc-devel libxml2-devel pam-devel
Requires: curl-devel
%description -n libwsman-devel
Development files for openwsman
%package client
License: BSD
Group: System Environment/Libraries
Summary: Openwsman Client libraries
%description client
Openwsman Client libraries
%package server
License: BSD
Group: System Environment/Daemons
Requires: net-tools
Requires: openwsman-client
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(postun): initscripts
Summary: Openwsman Server and service libraries
%description server
Openwsman Server and service libraries
%package python
Summary: Openwsman Python bindings
License: BSD
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description python
Openwsman python bindings
Summary: Python bindings for openwsman client API
Requires: python
%package -n ruby-%{name}
Summary: Openwsman Ruby bindings
%description python
This package provides Python bindings to access the openwsman client
API.
%package ruby
License: BSD
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: ruby
Requires: ruby(abi) = 1.8
Provides: ruby(%{name}) = %{version}
%description -n ruby-%{name}
Openwsman ruby bindings
Summary: Ruby bindings for openwsman client API
%description ruby
This package provides Ruby bindings to access the openwsman client API.
%package perl
License: BSD
Group: Development/Libraries
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Summary: Perl bindings for openwsman client API
%description perl
This package provides Perl bindings to access the openwsman client API.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
cp -p %{SOURCE2} %{_builddir}/%{name}-%{version}
sed -i -e 's|#!/usr/bin/python2.5|#!%{__python}|' %{_builddir}/%{name}-%{version}/python-config
%build
sh autoconfiscate.sh
chmod a-x src/lib/*.[ch]
chmod a-x src/cpp/*.[ch]
chmod a-x include/*.[ch]
# disable eventing, as Fedora libcurl isn't linked against openssl
# disable tests in 2.1.0, http://www.openwsman.org/bug/263
%configure --with-examples=yes --with-tests=no --enable-python=yes --enable-ruby=yes --enable-eventing=no --disable-more-warnings
echo %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
make %{?_smp_flags}
%configure --enable-python=yes --enable-ruby=yes --enable-eventing=no --disable-more-warnings --disable-static --enable-perl --enable-ipv6 PATH=$PATH:.
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DFEDORA"
make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_flags}
%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
install -m 0644 etc/openwsman.conf %{buildroot}/etc/openwsman
install -m 0644 etc/ssleay.cnf %{buildroot}/etc/openwsman
install -D -m 0755 etc/init/%{name}d.sh %{buildroot}/%{_initrddir}/%{name}d
# move this helper script out of /etc
mkdir -p %{buildroot}/%{_libexecdir}/%{name}/
chmod 0755 %{buildroot}/etc/%{name}/owsmangencert.sh
mv %{buildroot}/etc/%{name}/owsmangencert.sh %{buildroot}/%{_libexecdir}/%{name}/
find %{buildroot} -type f -name \*.la -exec rm \{\} \;
find %{buildroot} -type f -name \*.a -exec rm \{\} \;
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/openwsman/plugins/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/openwsman/authenticators/*.la
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d
install -m 644 etc/openwsman.conf $RPM_BUILD_ROOT%{_sysconfdir}/openwsman
install -m 644 etc/ssleay.cnf $RPM_BUILD_ROOT%{_sysconfdir}/openwsman
install -m 755 etc/init/openwsmand.sh $RPM_BUILD_ROOT%{_sysconfdir}/init.d/openwsmand
ln -sf %{_sysconfdir}/init.d/openwsmand $RPM_BUILD_ROOT%{_sbindir}/rcopenwsmand
%clean
rm -rf %{buildroot}
%post -n libwsman1 -p /sbin/ldconfig
%files
%postun -n libwsman1 -p /sbin/ldconfig
%post server
/sbin/ldconfig
chkconfig --add openwsmand
%preun server
chkconfig --del openwsmand
%postun server
rm -f /var/log/wsmand.log
/sbin/ldconfig
%post client -p /sbin/ldconfig
%postun client -p /sbin/ldconfig
%files -n libwsman1
%defattr(-,root,root)
%{_sbindir}/%{name}d
%{_initrddir}/%{name}d
%{_libexecdir}/%{name}
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/plugins
%dir %{_libdir}/%{name}/authenticators
%{_libdir}/libwsman*.so.*
%{_libdir}/%{name}/plugins/*so.*
%{_libdir}/%{name}/authenticators/*so.*
%dir /etc/openwsman
%config(noreplace) /etc/openwsman/openwsman.conf
%config(noreplace) /etc/openwsman/ssleay.cnf
%{ruby_libdir}/openwsman
%config(noreplace) %{_sysconfdir}/pam.d/openwsman
%doc COPYING README
%doc AUTHORS COPYING ChangeLog README TODO
%{_libdir}/libwsman.so.*
%{_libdir}/libwsman_client.so.*
%{_libdir}/libwsman_curl_client_transport.so.*
%files devel
%files -n libwsman-devel
%defattr(-,root,root)
%{_includedir}/*
%{_libdir}/pkgconfig/*
%{_libdir}/*.so
%{_libdir}/%{name}/plugins/*so
%{_libdir}/%{name}/authenticators/*so
%{_libdir}/pkgconfig/%{name}*.pc
%doc COPYING examples/serialize.c doc/plugin*
%doc AUTHORS COPYING ChangeLog README
%files python
%defattr(-,root,root)
%{python_sitelib}/pywsman.py
%{python_sitearch}/*.so
%doc COPYING
%{python_sitelib}/*.py
#%{python_sitelib}/*.pyc
#%{python_sitelib}/*.pyo
%doc AUTHORS COPYING ChangeLog README
%files -n ruby-%{name}
%files ruby
%defattr(-,root,root)
%{ruby_sitearch}/*.so
%doc COPYING
%{ruby_sitearch}/openwsman.so
%dir %{ruby_sitelib}/openwsman
%{ruby_sitelib}/openwsman/openwsman.rb
%{ruby_sitelib}/openwsman/wsxmlnode.rb
%doc AUTHORS COPYING ChangeLog README
%post
/sbin/ldconfig
/sbin/chkconfig --add %{name}d
%files perl
%defattr(-,root,root)
%{perl_vendorarch}/openwsman.so
%{perl_vendorlib}/openwsman.pm
%doc AUTHORS COPYING ChangeLog README
%preun
if [ $1 = 0 ] ; then
/sbin/service %{name}d stop >/dev/null 2>&1
/sbin/chkconfig --del %{name}d
fi
%postun
/sbin/ldconfig
if [ "$1" -ge "1" ] ; then
/sbin/service %{name}d condrestart >/dev/null 2>&1 || :
fi
%files server
# Don't remove *.so files from the server package.
# the server fails to start without these files.
%defattr(-,root,root)
%dir %{_sysconfdir}/openwsman
%config(noreplace) %{_sysconfdir}/openwsman/openwsman.conf
%config(noreplace) %{_sysconfdir}/openwsman/ssleay.cnf
%attr(0755,root,root) %{_sysconfdir}/openwsman/owsmangencert.sh
%config(noreplace) %{_sysconfdir}/pam.d/openwsman
%attr(0755,root,root) %{_sysconfdir}/init.d/openwsmand
%dir %{_libdir}/openwsman
%dir %{_libdir}/openwsman/authenticators
%{_libdir}/openwsman/authenticators/*.so
%{_libdir}/openwsman/authenticators/*.so.*
%dir %{_libdir}/openwsman/plugins
%{_libdir}/openwsman/plugins/*.so
%{_libdir}/openwsman/plugins/*.so.*
%{_sbindir}/openwsmand
%{_sbindir}/rcopenwsmand
%{_libdir}/libwsman_server.so.*
%doc AUTHORS COPYING ChangeLog README
%files client
%defattr(-,root,root)
%{_libdir}/libwsman_clientpp.so.*
%doc AUTHORS COPYING ChangeLog README
%changelog
* Thu Oct 1 2009 Praveen K Paladugu <praveen_paladugu@dell.com> - 2.2.0-2
- Removed the past hard coding of ruby_libdir
* Wed Sep 24 2009 Praveen K Paladugu <praveen_paladugu@dell.com> - 2.2.0-1
* Tue Aug 10 2010 Praveen K Paladugu <praveen_paladugu@dell.com> - 2.2.0-6
- Moved the cert generation from the the init script.
* Tue Dec 29 2009 Praveen K Paladugu <praveen_paladugu@dell.com> - 2.2.0-5
- Updating the spec file to follow the upstream packaging format.
* Thu Oct 1 2009 Praveen K Paladugu <praveen_paladugu@dell.com> - 2.2.0-4
- removed the hard coding of ruby_libdir
* Tue Sep 29 2009 Praveen K Paladugu <praveen_paladugu@dell.com> - 2.2.0-3
- Changed back the hard coding of /usr/lib
* Tue Sep 29 2009 Praveen K Paladugu <praveen_paladugu@dell.com> - 2.2.0-2
- check for python-configure in configure.ac fails because python-config
- is not part of python-2.4 which is currently available in RHEL
- So added a script python-config to the sources, and allowed configure to
- search in BUILD/opewsman-2.2.0 for python-configure script.
* Wed Sep 23 2009 Praveen K Paladugu <praveen_paladugu@dell.com> - 2.2.0-1
- Added the new 2.2.0 sources.
- Changed the release and version numbers.
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 2.1.0-4
- rebuilt with new openssl
+22
View File
@@ -0,0 +1,22 @@
diff -up openwsman-2.2.0/bindings/perl/Makefile.am.org openwsman-2.2.0/bindings/perl/Makefile.am
--- openwsman-2.2.0/bindings/perl/Makefile.am.org 2009-12-10 13:34:55.000000000 -0600
+++ openwsman-2.2.0/bindings/perl/Makefile.am 2009-12-10 13:35:56.000000000 -0600
@@ -33,6 +33,7 @@ SWIG_INPUT = ../openwsman.i
openwsman_la_SOURCES = openwsman_wrap.c \
../openwsman.c \
$(SWIG_INPUT)
+all-local: openwsman.pm
openwsman_la_LIBADD = $(LIBS) -lpthread $(CURL_LIBS)
diff -up openwsman-2.2.0/bindings/perl/Makefile.in.org openwsman-2.2.0/bindings/perl/Makefile.in
--- openwsman-2.2.0/bindings/perl/Makefile.in.org 2009-12-10 13:35:03.000000000 -0600
+++ openwsman-2.2.0/bindings/perl/Makefile.in 2009-12-10 13:36:18.000000000 -0600
@@ -289,6 +289,7 @@ SWIG_INPUT = ../openwsman.i
openwsman_la_SOURCES = openwsman_wrap.c \
../openwsman.c \
$(SWIG_INPUT)
+all-local: openwsman.pm
openwsman_la_LIBADD = $(LIBS) -lpthread $(CURL_LIBS)
openwsman_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
Executable
+53
View File
@@ -0,0 +1,53 @@
#!/usr/bin/python2.5
import sys
import os
import getopt
from distutils import sysconfig
valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
'ldflags', 'help']
def exit_with_usage(code=1):
print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0],
'|'.join('--'+opt for opt in valid_opts))
sys.exit(code)
try:
opts, args = getopt.getopt(sys.argv[1:], '', valid_opts)
except getopt.error:
exit_with_usage()
if not opts:
exit_with_usage()
opt = opts[0][0]
pyver = sysconfig.get_config_var('VERSION')
getvar = sysconfig.get_config_var
if opt == '--help':
exit_with_usage(0)
elif opt == '--prefix':
print sysconfig.PREFIX
elif opt == '--exec-prefix':
print sysconfig.EXEC_PREFIX
elif opt in ('--includes', '--cflags'):
flags = ['-I' + sysconfig.get_python_inc(),
'-I' + sysconfig.get_python_inc(plat_specific=True)]
if opt == '--cflags':
flags.extend(getvar('CFLAGS').split())
print ' '.join(flags)
elif opt in ('--libs', '--ldflags'):
libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
libs.append('-lpython'+pyver)
# add the prefix/lib/pythonX.Y/config dir, but only if there is no
# shared library in prefix/lib/.
if opt == '--ldflags' and not getvar('Py_ENABLE_SHARED'):
libs.insert(0, '-L' + getvar('LIBPL'))
print ' '.join(libs)