o search for a port by name or description o search for new or updated ports pds.cgi - FreeBSD Ports download sources cgi script print a list of source files for a port
53 lines
1 KiB
Bash
Executable file
53 lines
1 KiB
Bash
Executable file
#!/bin/sh
|
|
# Copyright (c) 1997 Wolfram Schneider <wosch@FreeBSD.ORG>, Berlin.
|
|
# All rights reserved.
|
|
#
|
|
# pds.cgi - FreeBSD Ports download sources cgi script
|
|
# print a list of source files for a port
|
|
#
|
|
|
|
file="$QUERY_STRING"
|
|
file2="$file/Makefile"
|
|
CVSROOT=/home/ncvs; export CVSROOT
|
|
|
|
# set DISTDIR to a dummy directory.
|
|
DISTDIR=/tmp/___pds.cgi___; export DISTDIR
|
|
|
|
cat <<EOF
|
|
Content-type: text/html
|
|
|
|
EOF
|
|
|
|
case "$file" in
|
|
ports/*/*) ;;
|
|
*) echo "usage: pds module"; exit;;
|
|
esac
|
|
|
|
if [ -f "$CVSROOT/${file2},v" ]; then :
|
|
else
|
|
echo "$file2 does not exist"
|
|
exit
|
|
fi
|
|
|
|
# security check for ../foo/bar and foo/../../bar/
|
|
case "$file2" in *..*) echo "$file2 does not exist"; exit;; esac
|
|
|
|
cat <<EOF
|
|
<html>
|
|
<head>
|
|
<title>Sources for $file</title>
|
|
</head>
|
|
<body BGCOLOR="#ffffff" TEXT="#000000"
|
|
vlink="c00000" link="#0000ff" alink="#eeee00">
|
|
|
|
<h1>Sources for $file</h1>
|
|
|
|
EOF
|
|
cvs -Q co -p $file2 | make -I /home/fenner/mk -f - bill-fetch |
|
|
perl -ne 'print qq{<a href="$1">$1</a><br>\n}
|
|
if m%((http|ftp)://\S+)%'
|
|
cat <<EOF
|
|
|
|
</body>
|
|
</html>
|
|
EOF
|