Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:misc
tclhttpd
tclhttpd.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File tclhttpd.spec of Package tclhttpd
Name: tclhttpd Version: 3.5.1 Release: 2 Source0: %name%version.tar.bz2 Group: Productivity/Networking/Web/Servers Summary: Tcl Web Server License: unknown Url: http://www.tcl.tk/software/tclhttpd/ Requires: tcllib BuildRequires: tcl-devel fdupes %description It is a pure-Tcl implementation of an HTTP protocol server. It runs as a script on top of a vanilla Tcl interpreter. %if 0%{!?tclscriptdir:1} %define tclscriptdir %(echo 'puts [ lindex $auto_path 0 ]' | tclsh) %endif %define _pkgdatadir %tclscriptdir/%name%version ########## ########## %prep %setup -q -n %name%version ## ## let linker set soname in libraries ## sed -i \ -e 's|\(\${SHLIB_LD} -o \$@ \$(\([^[:space:]]\+\)_OBJECTS) \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS}\)|\1 -Wl,-h,\$(\2_LIB_FILE)|' \ -e 's|\$(COMPILE).*src/crypt.c.*|& -D_XOPEN_SOURCE|' \ Makefile.in ## ## fix man page ## sed -f - -i doc/httpd.1 <<-EOT /^.BS$/{ a\\\\ d } /^.BE$/d s/^\.DS\$/\n.in +4n\n.nf/g s/^\.DE\$/.fi\n.in\n/g /^.so man.macros\$/d EOT ## ## fix a shebang ## sed -i '1s|^#!.*$|#!/bin/sh|' bin/%name.etc.init ## ## update file paths ## sed -i -r \ -e 's|(set Config\(config\) \[file join) [^[:space:]]+|\1 %_sysconfdir|' \ -e 's|(^set Config\(main\) .*Config\()home|\1lib|' \ -e 's|(^set Config\([[:alpha:]]+\).*join )\[file dirname \$Config\(home\)\](.*)|\1/var/lib/%name\2|' \ bin/httpd.tcl sed -i 's|\^Config main.*|# &|' bin/%name.rc ## ## fix library paths in pkgIndex.tcl files ## for LIB in crypt limit; do sed -i 's|\$dir @RELPATH@|%_libdir/'"$LIB"'1.0|' ${LIB}_pkgIndex.tcl.in tail ${LIB}_pkgIndex.tcl.in done ########## ########## %build %configure --with-tclconfig=%_libdir --with-serverroot=/var/lib/%name make CFLAGS="%optflags -DUSE_INTERP_RESULT=1 -fPIC" %_smp_mflags ########## ########## %install ## ## install ## %make_install ## ## find duplicated files ## %fdupes -s %buildroot/var/lib ## ## fix file permissions ## find %buildroot/var/lib/%name -type f -a \( -iname "*.css" -o -iname "*.html" -o -iname "*.org" -o -iname "*.tcl" -o -iname "*.exe" \) -exec chmod 644 {} \; chmod 0644 %buildroot/var/lib/%name/htdocs/cgi-bin/junk chmod 0755 %buildroot/var/lib/%name/%name.etc.init ## ## remove obsolete static binary file ## rm %buildroot/var/lib/%name/htdocs/cgi-bin/env ## ## move pkgIndex.tcl files to subdirectories in _datadir/tcl ## install -d -m 0755 %buildroot%tclscriptdir mv %buildroot%_libdir/{{limit,crypt}1.0,%name%version} %buildroot%tclscriptdir/ ## ## move a file from _bindir to a subdirectory in _datadir/tcl ## install -p -m 0644 %buildroot{%_bindir/httpdthread.tcl,%_pkgdatadir/} rm %buildroot%_pkgdatadir/httpdthread.tcl ## ## move config file to _sysconfdir ## install -pD -m 0644 %buildroot{%_bindir,%_sysconfdir}/%name.rc rm %buildroot%_bindir/%name.rc ## ## rename main program file to fit man page name ## mv %buildroot%_bindir/httpd{.tcl,} ## ## move shared libraries to subdirectories ## for i in crypt limit; do install -pD -m 0755 %buildroot%_libdir/{,${i}1.0/}lib${i}1.0.so rm %buildroot%_libdir/lib${i}1.0.so done %files %defattr(-,root,root,-) %config /var/lib/* %config %_sysconfdir/* %_bindir/* %tclscriptdir/* %_libdir/* %_mandir/man1/* %changelog
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