From ad006a108b31a756ccf702464bc3bdf72f953b40 Mon Sep 17 00:00:00 2001 From: stevetraylen Date: May 20 2010 19:55:50 +0000 Subject: Import #593125 --- diff --git a/.cvsignore b/.cvsignore index e69de29..e875fa9 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +gridsite-1.5.18.src.tar.gz diff --git a/cgi-bin-location.patch b/cgi-bin-location.patch new file mode 100644 index 0000000..341789d --- /dev/null +++ b/cgi-bin-location.patch @@ -0,0 +1,33 @@ +diff -uNr org.gridsite.core.ORIG/src/Makefile org.gridsite.core/src/Makefile +--- org.gridsite.core.ORIG/src/Makefile 2009-07-23 20:59:20.863631673 +0200 ++++ org.gridsite.core/src/Makefile 2009-07-23 21:14:46.450624936 +0200 +@@ -392,15 +392,16 @@ + $(prefix)/share/man/man1 \ + $(prefix)/share/man/man8 \ + $(prefix)/$(libdir)/httpd/modules \ +- $(prefix)/share/doc/gridsite-$(MINOR_VERSION) ++ $(prefix)/share/doc/gridsite-$(MINOR_VERSION) \ ++ $(prefix)/libexec/gridsite/cgi-bin + echo '#define' GRST_VERSION $(DEFVERSION) > $(prefix)/include/gridsite.h + cat ../interface/gridsite.h >>$(prefix)/include/gridsite.h + cp -f ../interface/gridsite-gacl.h $(prefix)/include + cp -f urlencode $(prefix)/bin + cp -f findproxyfile $(prefix)/bin +- cp -f real-gridsite-admin.cgi $(prefix)/sbin +- cp -f gridsite-copy.cgi $(prefix)/sbin +- cp -f gridsite-storage.cgi $(prefix)/sbin ++ cp -f real-gridsite-admin.cgi $(prefix)/libexec/gridsite/cgi-bin ++ cp -f gridsite-copy.cgi $(prefix)/libexec/gridsite/cgi-bin ++ cp -f gridsite-storage.cgi $(prefix)/libexec/gridsite/cgi-bin + cp -f ../CHANGES ../README ../INSTALL ../LICENSE ../VERSION \ + $(prefix)/share/doc/gridsite-$(MINOR_VERSION) + cp -f ../doc/index.html ../doc/*.conf ../doc/*.sh ../doc/*.spec \ +@@ -489,7 +490,7 @@ + ln -sf htproxyput $(prefix)/bin/htproxyunixtime + ln -sf htproxyput $(prefix)/bin/htproxyrenew + ln -sf htproxyput $(prefix)/bin/htproxyinfo +- cp -f gridsite-delegation.cgi $(prefix)/sbin ++ cp -f gridsite-delegation.cgi $(prefix)/libexec/gridsite/cgi-bin + + # + # Distributions diff --git a/gridsite-httpd.conf b/gridsite-httpd.conf new file mode 100644 index 0000000..8080897 --- /dev/null +++ b/gridsite-httpd.conf @@ -0,0 +1,108 @@ +# +# This is the Apache server configuration file providing GridSite support. +# It contains the configuration directives to instruct the server how to +# serve pages over an https connection with access controls enabled +# via .gacl files. + +# In order to benefit from GridSite it is nescesary to optinally autheticate +# clients to this web server: +# Within mod_ssl's configuration for +# you should have at least the following parameters set. The mod_ssl +# file cotains more detailed comments about these settings. +## 1. Location of web server certificate file. +## SSLCertificateFile /etc/pki/tls/certs/localhost.crt +## or +## SSLCertificateFile /etc/grid-security/hostcert.pem +## 2. Location of web server key file. +## SSLCertificateKeyFile /etc/pki/tls/private/localhost.key +## or +## SSLCertificateKeyFile /etc/grid-security/hostkey.pem +## 3. Location of certificate authorities which the server should trust. +## SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt +## or +## SSLCACertificatePath /etc/pki/tls/certs/ +## or +## SSLCACertificatePath /etc/grid-security/cetificates +##4. You must at least optionally authenticate clients. +## SSLVerifyClient optional +## SSLVerifyDepth 10 + + + +# Do NOT simply read the instructions in here without understanding +# what they do. They're here only as hints or reminders. If you are unsure +# consult the online docs. You have been warned. +# + +LoadModule gridsite_module modules/mod_gridsite.so + +ScriptAlias /gridsite-cgi-bin/real-gridsite-admin.cgi "/usr/libexec/gridsite/cgi-bin/real-gridsite-admin.cgi" + + +#Location of authentication cookies and SSL session credentials directory, relative to ServerRoot. Used by GridHTTP to +#record the credentials obtained via HTTPS, and available to the corresponding HTTP request or subsequent HTTPS requests +#following a session restart. (Default: /var/www/sessions) +GridSiteSessionsDir /var/cache/mod_gridsite + +## This is the path of directories (and all their subdirectories) for +## GACL to search when it encounters a dn-list credential. The DN List +## files are plain text, one DN per line, and must have the full url +## as the file name, but URL Encoded - eg with urlencode(1) +# GridSiteDNlists /etc/grid-security/dn-lists/:/var/www/html/dn-lists/ +GridSiteDNlists /etc/grid-security/dn-lists/ + +## This is used to form the URL at which DN Lists "owned" by this +## server are exported. https://FULL.SERVER.NAME/dn-lists/file +GridSiteDNlistsURI /gridsite/dn-lists/ + +## These directives (and the ScriptAlias above) allow authorized +## people to manage files, ACLs and DN Lists through their web +## browsers via HTTPS. The value of GridSiteAdminFile appears to +## exist in every directory, but is internally redirected by +## mod_gridsite to the value of GridSiteAdminURI (the ScriptAlias +## then maps that onto the real-gridsite-admin.cgi executable.) +GridSiteAdminFile gridsite-admin.cgi +GridSiteAdminUri /gridsite-cgi-bin/real-gridsite-admin.cgi + + +Alias /gridsite "/var/lib/gridsite" + + + + SSLOptions +ExportCertData +StdEnvVars + ## This sets up GACL authorization for this server + GridSiteAuth on + + ## This exports various bits of info into the CGI environment + ## variables (and is needed for gridsite-admin.cgi to work.) + GridSiteEnvs on + + ## Nice GridSite directory listings + GridSiteIndexes on + + ## If this is on, GridSite will look for gridsitehead.txt and + ## gridsitefoot.txt in the current directory or its parents, and + ## use them to replace the and tags in .html files. + GridSiteHtmlFormat on + + ## Set the filenames to be used for as standard headers and footers for HTML pages. If the file + ## name begins with "/" then this is used as the absolute path to that file to be used. + ## Otherwise, for each HTML page, the directory of that page is tried first, and then parent + ## directories in ascending order until a header / footer file is found. Header files are inserted + ## in place of HTML tags; footer files in place of . (These standard files + ## should each include the appropriate body tag as a replacement.) (Defaults: GridSiteHeadFile + ## gridsitehead.txt, GridSiteFootFile gridsitefoot.txt) + # GridSiteHeadFile gridsitehead.txt + # GridSiteFootFile gridsitefoot.txt + + ## If this is greater than zero, we will accept GSI Proxies for clients + ## (full client certificates - eg inside web browsers - are always ok) + GridSiteGSIProxyLimit 9 + + ## This directive allows authorized people to write/delete files + ## from non-browser clients - eg with htcp(1) + GridSiteMethods GET PUT DELETE MOVE POST + + + + diff --git a/gridsite.spec b/gridsite.spec new file mode 100644 index 0000000..6af8414 --- /dev/null +++ b/gridsite.spec @@ -0,0 +1,248 @@ +Name: gridsite +Version: 1.5.18 + +Release: 3%{?dist} +Summary: Grid Security for the Web, Web platforms for Grids + +Group: System Environment/Daemons + +# - src/gsexec.c ASL 2.0 +# - src/gsexec.h ASL 2.0 +# - src/mod_gridsite.c BSD but includes ASL 2.0 based code. +# - src/mod_ssl-private.h BSD but includes ASL 2.0 based code. +# All other files are BSD +License: ASL 2.0 and BSD +URL: http://www.gridsite.org +Source0: http://www.gridsite.org/download/sources/gridsite-%{version}.src.tar.gz +Source1: gridsite-httpd.conf +Source2: gridsitehead.txt +Source3: gridsitefoot.txt +Source4: root-level.gacl +Source5: gridsitelogo.png +Patch1: cgi-bin-location.patch + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%if %{?fedora}%{!?fedora:0} >= 10 || %{?rhel}%{!?rhel:0} >= 6 +BuildRequires: libcurl-devel +%else +BuildRequires: curl-devel +%endif + +BuildRequires: libxml2-devel +BuildRequires: httpd-devel +BuildRequires: doxygen +BuildRequires: openssl-devel + +Requires: httpd +Requires: mod_ssl +Requires: gridsite-libs = %{version}-%{release} + +%description +GridSite was originally a web application developed for managing and formatting +the content of the http://www.gridpp.ac.uk/ website. Over the past years it +has grown into a set of extensions to the Apache web server and a toolkit for +Grid credentials, GACL access control lists and HTTP(S) protocol operations. + +This package gridsite contains apache httpd modules for enabling +mod_gridsite. + +%package libs +Group: System Environment/Daemons +Summary: Run time libraries for mod_gridsite and gridsite-clients + +%description libs +GridSite was originally a web application developed for managing and formatting +the content of the http://www.gridpp.ac.uk/ website. Over the past years it +has grown into a set of extensions to the Apache web server and a toolkit for +Grid credentials, GACL access control lists and HTTP(S) protocol operations. + +This package contains the runtime libraries. + +%package clients +Group: System Environment/Daemons +Summary: Clients to gridsite. htcp, htrm, htmv, +Requires: gridsite-libs = %{version}-%{release} + +%description clients +GridSite was originally a web application developed for managing and formatting +the content of the http://www.gridpp.ac.uk/ website. Over the past years it +has grown into a set of extensions to the Apache web server and a toolkit for +Grid credentials, GACL access control lists and HTTP(S) protocol operations. + +This package gridsite-clients, contains clients for using against gridsite, +htcp, htrm, ... + +%package gsexec +Group: System Environment/Daemons +Summary: Setuid gsexec tools for gridsite +Requires: gridsite-libs = %{version}-%{release} + +%description gsexec +GridSite was originally a web application developed for managing and formatting +the content of the http://www.gridpp.ac.uk/ website. Over the past years it +has grown into a set of extensions to the Apache web server and a toolkit for + +This package gridsite-setuid, contains the setuid gsexec program. + +%package devel +Group: System Environment/Daemons +Summary: Developers tools for gridsite +Requires: gridsite-libs = %{version}-%{release} + +%description devel +GridSite was originally a web application developed for managing and formatting +the content of the http://www.gridpp.ac.uk/ website. Over the past years it +has grown into a set of extensions to the Apache web server and a toolkit for + +This package gridsite-devel, contains developer tools for using gridsite. + +%package doc +Group: System Environment/Daemons +Summary: Developers Documentation for gridsite +Requires: gridsite-devel = %{version}-%{release} +%if %{?fedora}%{!?fedora:0} >= 10 || %{?rhel}%{!?rhel:0} >= 6 +BuildArch: noarch +%endif + +%description doc +GridSite was originally a web application developed for managing and formatting +the content of the http://www.gridpp.ac.uk/ website. Over the past years it +has grown into a set of extensions to the Apache web server and a toolkit for + +This package gridsite-doc, contains developer documentation for gridsite. + +%prep +%setup -q -n org.gridsite.core +# Copy in apache configuration. +cp -p %{SOURCE1} . +cp -p %{SOURCE2} . +cp -p %{SOURCE3} . +cp -p %{SOURCE4} . +cp -p %{SOURCE5} . + +## Change installed path of cgi-bins. +%patch1 -p1 + +%build +(cd src && MYCFLAGS="%{optflags} -DLINUX=2 -D_REENTRANT -D_LARGEFILE64_SOURCE -I../interface -I%{_includedir}/httpd -I%{_includedir}/apr-1 -fPIC " make ) + +%install +rm -rf $RPM_BUILD_ROOT +(cd src && make install prefix=$RPM_BUILD_ROOT%{_usr} libdir=%{_lib} ) + +# Remove static libs +rm $RPM_BUILD_ROOT/%{_libdir}/libgridsite.a +# Remove docs we don't want now but will move it in %doc later. +rm -rf $RPM_BUILD_ROOT/%{_defaultdocdir} +# Remove the built against globus-openssl libs since +# we don't actually do that. +rm $RPM_BUILD_ROOT/%{_libdir}/libgridsite_globus.* + +# Set up a root area to serve files from. +mkdir -p $RPM_BUILD_ROOT%{_var}/lib/gridsite +install -p -m 0644 gridsitehead.txt $RPM_BUILD_ROOT%{_var}/lib/gridsite/gridsitehead.txt +install -p -m 0644 gridsitefoot.txt $RPM_BUILD_ROOT%{_var}/lib/gridsite/gridsitefoot.txt +install -p -m 0644 root-level.gacl $RPM_BUILD_ROOT%{_var}/lib/gridsite/.gacl + +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/grid-security/dn-lists + +mkdir -p $RPM_BUILD_ROOT%{_var}/cache/mod_gridsite +# Copy in apache configuration, we must name it zgridsite.conf +# so it is loaded after mod_ssl in ssl.conf. +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d +install -p -m 0644 gridsite-httpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/zgridsite.conf + +# +mkdir -p $RPM_BUILD_ROOT%{_var}/www/icons +install -p -m 0644 gridsitelogo.png $RPM_BUILD_ROOT%{_var}/www/icons + + +%clean +rm -rf $RPM_BUILD_ROOT + +%post libs -p /sbin/ldconfig + +%postun libs -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%{_libdir}/httpd/modules/mod_gridsite.so +%dir %{_libexecdir}/gridsite +%dir %{_libexecdir}/gridsite/cgi-bin +%{_libexecdir}/gridsite/cgi-bin/gridsite-copy.cgi +%{_libexecdir}/gridsite/cgi-bin/gridsite-storage.cgi +%{_libexecdir}/gridsite/cgi-bin/real-gridsite-admin.cgi +%{_var}/www/icons/gridsitelogo.png +%dir %attr(0755,apache,apache) %{_var}/lib/gridsite +%dir %attr(0755,root,root) %{_sysconfdir}/grid-security +%dir %attr(0755,apache,apache) %{_sysconfdir}/grid-security/dn-lists +%dir %attr(0755,apache,apache) %{_var}/cache/mod_gridsite + +%{_mandir}/man8/mod_gridsite.8.* + +%config(noreplace) %{_sysconfdir}/httpd/conf.d/zgridsite.conf +%config(noreplace) %attr(-,apache,apache) %{_var}/lib/gridsite/.gacl +%config(noreplace) %attr(-,apache,apache) %{_var}/lib/gridsite/gridsitehead.txt +%config(noreplace) %attr(-,apache,apache) %{_var}/lib/gridsite/gridsitefoot.txt + +%doc doc/httpd-fileserver.conf doc/httpd-webserver.conf +%doc doc/httpd-storage.conf +%doc CHANGES LICENSE + +%files gsexec +%defattr(-,root,root,-) +%attr(4510,root,apache) %{_sbindir}/gsexec +%{_mandir}/man8/gsexec.8.* + +%files libs +%defattr(-,root,root,-) +%{_libdir}/libgridsite.so.* +%doc LICENSE + +%files clients +%defattr(-,root,root,-) +%attr(0755,root,root) %{_bindir}/findproxyfile +%attr(0755,root,root) %{_bindir}/htcp +%attr(0755,root,root) %{_bindir}/htfind +%attr(0755,root,root) %{_bindir}/htll +%attr(0755,root,root) %{_bindir}/htls +%attr(0755,root,root) %{_bindir}/htmkdir +%attr(0755,root,root) %{_bindir}/htmv +%attr(0755,root,root) %{_bindir}/htping +%attr(0755,root,root) %{_bindir}/htrm +%attr(0755,root,root) %{_bindir}/urlencode + +%{_mandir}/man1/findproxyfile.1.gz +%{_mandir}/man1/htcp.1.gz +%{_mandir}/man1/htfind.1.gz +%{_mandir}/man1/htll.1.gz +%{_mandir}/man1/htls.1.gz +%{_mandir}/man1/htmkdir.1.gz +%{_mandir}/man1/htmv.1.gz +%{_mandir}/man1/htping.1.gz +%{_mandir}/man1/htrm.1.gz +%{_mandir}/man1/urlencode.1.gz + +%files devel +%defattr(-,root,root,-) +%{_includedir}/gridsite-gacl.h +%{_includedir}/gridsite.h +%{_libdir}/libgridsite.so + +%files doc +%defattr(-,root,root,-) +%doc src/doxygen + +%changelog +* Wed May 19 2010 Steve Traylen - 1.5.18-3 +- Don't use _sharedstatedir macro for .el4,5 support. + +* Wed May 19 2010 Steve Traylen - 1.5.18-2 +- Split docs of to a seperate package. +- License corrected to ASL 2.0 and BSD + +* Mon May 17 2010 Steve Traylen - 1.5.18-1 +- Initial package. + + diff --git a/gridsitefoot.txt b/gridsitefoot.txt new file mode 100644 index 0000000..a57b236 --- /dev/null +++ b/gridsitefoot.txt @@ -0,0 +1,6 @@ +
+ + + + + diff --git a/gridsitehead.txt b/gridsitehead.txt new file mode 100644 index 0000000..2b8d075 --- /dev/null +++ b/gridsitehead.txt @@ -0,0 +1,109 @@ + + +GridSite + + + + + + + + + +
GridSite +Grid Security for the Web
+Web platforms for Grids
+ +

+ + diff --git a/gridsitelogo.png b/gridsitelogo.png new file mode 100644 index 0000000..c96fb9f Binary files /dev/null and b/gridsitelogo.png differ diff --git a/import.log b/import.log new file mode 100644 index 0000000..722e3cc --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +gridsite-1_5_18-3_fc12:HEAD:gridsite-1.5.18-3.fc12.src.rpm:1274385316 diff --git a/root-level.gacl b/root-level.gacl new file mode 100644 index 0000000..60d2eaf --- /dev/null +++ b/root-level.gacl @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/sources b/sources index e69de29..522621d 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +6ad555011fbe336aff6fd5d79c52acca gridsite-1.5.18.src.tar.gz