proftpd-vl.spec 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494
  1. %define _prefix /usr
  2. %define _localstatedir /var/run
  3. %define _sysconfdir /etc
  4. %define _rundir /var/run/proftpd
  5. %define tarballversion 1.3.5b
  6. %define origversion 1.3.5b
  7. Summary: ProFTPd -- Professional FTP Server.
  8. Summary(ja): ProFTPd -- プロフェッショナル FTP サーバ
  9. Name: proftpd
  10. Epoch: 1
  11. Version: %{origversion}
  12. Release: 1%{?_dist_release}
  13. License: GPL
  14. Group: System Environment/Daemons
  15. URL: http://www.proftpd.org/
  16. Source0: ftp://ftp.proftpd.org/distrib/source/%{name}-%{origversion}.tar.gz
  17. Source1: proftpd.vine.conf
  18. Source2: ftpusers.vine
  19. Source3: proftpd.init
  20. Source5: welcome.msg
  21. # upstream bug fixes & security fixes
  22. Patch24: proftpd-1.3.4a-bug3745.patch
  23. # auth
  24. Patch201: proftpd-1.3.1-use-system-auth-instead-of-pam_pwdb.patch
  25. # iconv patch (CharsetLocal/CharsetRemote)
  26. # Patch300: http://www.hakusan.tsg.ne.jp/tjkawa/software/misc/proftpd-iconv/pack/proftpd-1.3.0-iconv.patch.gz
  27. Patch300: proftpd-1.3.5b-iconv.patch
  28. # fix build on recent kernel headers
  29. # Patch400: proftpd-1.3.1-umode.patch
  30. # security fix
  31. # nothing..
  32. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  33. BuildRequires: pam-devel, openldap-devel, openssl-devel
  34. BuildRequires: ncurses-devel, libcap-devel, libacl-devel
  35. BuildRequires: e2fsprogs-devel
  36. Requires: pam > 0.59
  37. Obsoletes: wu-ftpd, anonftp
  38. Provides: ftpserver
  39. Vendor: Project Vine
  40. Distribution: Vine Linux
  41. %description
  42. ProFTPd is an enhanced FTP server with a focus toward simplicity,
  43. security, and ease of configuration. It features a very Apache-like
  44. configuration syntax, and a highly customizable server infrastructure,
  45. including support for multiple 'virtual' FTP servers, anonymous FTP,
  46. and permission-based directory visibility.
  47. %description -l ja
  48. ProFTPd は シンプルさ, セキュリティ, 設定の容易さに焦点をあてた 優れた
  49. FTP サーバです。Apache に似た構文による設定や、複数の仮想 FTP サーバ、
  50. anonymous FTP, パーミッションベースのディレクトリ可視性のサポートを含む、
  51. 高度にカスタマイズ可能なサーバ・インターフェイスを特徴としています。
  52. %package utils
  53. Summary: ProFTPD - Additional utilities
  54. Group: System Environment/Daemons
  55. Requires: %{name} = %{epoch}:%{version}-%{release}
  56. %description utils
  57. This package contains additional utilities for monitoring and configuring the
  58. ProFTPD server:
  59. * ftpasswd: generate passwd(5) files for use with AuthUserFile
  60. * ftpcount: show the current number of connections per server/virtualhost
  61. * ftpmail: monitor transfer log and send email when files uploaded
  62. * ftpquota: manipulate quota tables
  63. * ftptop: show the current status of FTP sessions
  64. * ftpwho: show the current process information for each FTP session
  65. %prep
  66. %setup -q -n %{name}-%{tarballversion}
  67. find . -type d -name CVS | xargs -r rm -frv
  68. # upstream fixes
  69. # Reject PASV command if no IPv4 address available
  70. # http://bugs.proftpd.org/show_bug.cgi?id=3745
  71. %patch24 -p0
  72. ## patches from mdk
  73. # use system-auth instead of pam_pwdb
  74. %patch201 -p1
  75. # iconv patch (CharsetLocal/CharsetRemote)
  76. %patch300 -p1
  77. # fix build on recent kernel headers
  78. # %patch400 -p0
  79. # security fixes
  80. %build
  81. # Disable stripping in order to get useful debuginfo packages
  82. %{__perl} -pi -e 's|"-s"|""|g' configure
  83. %configure \
  84. --libexecdir="%{_libexecdir}/proftpd" \
  85. --localstatedir="%{_var}/run/proftpd" \
  86. --enable-ctrls \
  87. --enable-facl \
  88. --enable-dso \
  89. --enable-nls \
  90. --enable-ipv6 \
  91. --with-modules=mod_readme:mod_auth_pam:mod_tls:mod_codeconv:mod_df:\
  92. mod_ban:mod_dynmasq:mod_load:mod_ratio:mod_rewrite \
  93. --with-shared=mod_ldap:mod_quotatab:mod_quotatab_file:mod_quotatab_ldap
  94. # It seems that with _smp_mflags -lsupp tries to get linked before being built
  95. # (as of 1.3.0a-4 F7/devel with koji, happened on F8 x86_64 and F7 ppc64)
  96. %{__make}
  97. %install
  98. %{__rm} -rf %{buildroot}
  99. %{__make} install DESTDIR=%{buildroot} \
  100. rundir="%{_var}/run/proftpd" \
  101. INSTALL_USER=`id -un` \
  102. INSTALL_GROUP=`id -gn`
  103. # auth
  104. mkdir -p %{buildroot}%{_sysconfdir}/pam.d
  105. %{__install} -m 644 contrib/dist/rpm/ftp.pamd %{buildroot}%{_sysconfdir}/pam.d/ftp
  106. # logrotate
  107. mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
  108. %{__install} -m 644 contrib/dist/rpm/proftpd.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/proftpd
  109. # init.d
  110. %{__install} -D -p -m 0755 %{SOURCE3} \
  111. %{buildroot}%{_sysconfdir}/rc.d/init.d/proftpd
  112. %{__install} -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/proftpd.conf
  113. %{__install} -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/ftpusers
  114. %{__install} -D -p -m 0644 %{SOURCE5} %{buildroot}/%{_var}/ftp/welcome.msg
  115. touch %{buildroot}%{_sysconfdir}/ftpusers
  116. rm contrib/README.* || :
  117. # eliminate executable bit in %doc
  118. find doc/ sample-configurations/ -type f -perm +111 | xargs -r chmod -x
  119. # remove .{la,a}
  120. rm -f %{buildroot}%{_libexecdir}/proftpd/*.{la,a}
  121. # remove development files (headers and pkgconfig file)
  122. # who need these files?
  123. rm -rf %{buildroot}%{_includedir}/proftpd
  124. rm -rf %{buildroot}%{_libdir}/pkgconfig
  125. %preun
  126. if [ -d %{_rundir} ] ; then
  127. rm -rf %{_rundir}/*
  128. fi
  129. if [ $1 = 0 ] ; then
  130. /sbin/chkconfig --del proftpd
  131. fi
  132. %postun
  133. if [ $1 -ge 1 ]; then
  134. /sbin/service proftpd condrestart
  135. fi
  136. %post
  137. /sbin/chkconfig --add proftpd
  138. %clean
  139. rm -rf %{buildroot}
  140. %files
  141. %defattr(-,root,root)
  142. %doc COPYING CREDITS ChangeLog INSTALL NEWS
  143. %doc README.{LDAP,PAM,modules} doc/*
  144. %doc contrib/README contrib/xferstats.holger-preiss
  145. %doc sample-configurations/
  146. %{_sbindir}/*
  147. %{_bindir}/ftpdctl
  148. %{_bindir}/prxs
  149. %{_mandir}/man5/proftpd.conf.5*
  150. %{_mandir}/man5/xferlog.5*
  151. %{_mandir}/man8/ftpdctl.8*
  152. %{_mandir}/man8/ftpscrub.8*
  153. %{_mandir}/man8/ftpshut.8*
  154. %{_mandir}/man8/proftpd.8*
  155. %{_var}/ftp/welcome.msg
  156. %dir %{_libexecdir}/proftpd/
  157. %{_libexecdir}/proftpd/mod_*
  158. %{_localedir}/*
  159. %dir %{_rundir}
  160. %dir %{_var}/ftp
  161. %config %{_sysconfdir}/rc.d/init.d/proftpd
  162. %config(noreplace) %{_sysconfdir}/pam.d/ftp
  163. %config(noreplace) %{_sysconfdir}/proftpd.conf
  164. %config(noreplace) %{_sysconfdir}/ftpusers
  165. %config(noreplace) %{_sysconfdir}/logrotate.d/proftpd
  166. %files utils
  167. %doc contrib/xferstats.holger-preiss
  168. %{_bindir}/ftpasswd
  169. %{_bindir}/ftpcount
  170. %{_bindir}/ftpmail
  171. %{_bindir}/ftpquota
  172. %{_bindir}/ftptop
  173. %{_bindir}/ftpwho
  174. %{_mandir}/man1/ftpasswd.1*
  175. %{_mandir}/man1/ftpcount.1*
  176. %{_mandir}/man1/ftpmail.1*
  177. %{_mandir}/man1/ftpquota.1*
  178. %{_mandir}/man1/ftptop.1*
  179. %{_mandir}/man1/ftpwho.1*
  180. %changelog
  181. * Tue Apr 12 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.3.5b-1
  182. - new upstream release.
  183. - removed Patch14, Patch23 and Patch25 (no longer needed).
  184. - updated Patch300.
  185. * Fri Oct 19 2012 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.4b-2
  186. - fix util package dependency
  187. * Fri Oct 19 2012 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.4b-1
  188. - new upstream release
  189. - util tools in util subpackage
  190. - update patch300 to fit new version
  191. - add patch14, 23, 24, 25 from fc18 (thanks to fc team)
  192. - add enable-nls in configure
  193. * Sun Apr 24 2011 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.3e-1
  194. - new upstream release
  195. - update patch300 to fit new version
  196. - drop patch1000 (is included in new release)
  197. - add BR: e2fsprogs-devel
  198. * Wed Jan 12 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.3.2e-2
  199. - rebuild with openssl-1.0.0c
  200. * Fri Nov 5 2010 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.2e-1
  201. - new upstream release
  202. - add patch1000 for CVE-2010-4221 (TELNET_IAC)
  203. - add BRs: ncurses-devel, libcap-devel, libacl-devel
  204. * Mon Dec 28 2009 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.2c-1
  205. - new upstream release with security fix (CVE-2009-3555)
  206. * Wed Oct 21 2009 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.2b-1
  207. - new upstream release with security fix (NULL char in X.509 certificate)
  208. - add chkconfig --add in post script
  209. * Mon Jul 06 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.3.2a-3
  210. - remove .{la,a}
  211. - remove headers and pkgconfig file
  212. * Mon Jul 6 2009 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.2a-2
  213. - update Source1 (sample config file for vine)
  214. set default char set to UTF-8
  215. * Fri Jul 3 2009 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.2a-1
  216. - new upstream release
  217. * Sat Apr 04 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.3.2-3
  218. - rebuild with openldap-2.4.11
  219. * Tue Mar 31 2009 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.2-2
  220. - built with openssl-0.9.8k
  221. * Sat Feb 07 2009 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.2-1
  222. - new upstream release
  223. - add configure option to activate new modules
  224. - drop patch400
  225. * Wed Jan 14 2009 Shu KONNO <owa@bg.wakwak.com> 1.3.1-6
  226. - built with openssl-0.9.8j
  227. * Mon Sep 22 2008 Shu KONNO <owa@bg.wakwak.com> 1.3.1-5
  228. - built with openssl-0.9.8i
  229. * Sun Aug 10 2008 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 1.3.1-4
  230. - add Patch400 to fix build failure at least on i386
  231. - spec in UTF-8
  232. * Tue Jul 15 2008 Shu KONNO <owa@bg.wakwak.com> 1.3.1-3
  233. - built with openssl-0.9.8h
  234. * Sun Mar 23 2008 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.1-2
  235. - update proftpd.vine.conf (use DisplayChdir instead of DisplayFirstChdir)
  236. * Sun Mar 23 2008 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.1-1
  237. - new upstream release
  238. - drop old patches which are included in new release
  239. - update patch201, 300
  240. - build under new versioning policy
  241. * Mon Sep 10 2007 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.3.0a-0vl1
  242. - new upstream release
  243. - built with openssl098
  244. - drop old (for 1.2.10) patches
  245. - Patch100-150 from FC8 package
  246. - Patch160-170 from upstream CVS (maybe will be fixed in 1.3.1)
  247. - update patch300 for 1.3.0
  248. - change configure option refer to FC8
  249. - add process reboot with message output when package is upgraded
  250. - docfiles list update
  251. - fix changelog ver number typo
  252. * Sun Sep 09 2007 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.2.10-0vl6
  253. - add patch202 for fix timestamp (backport from 1.3.0rc1 #2798)
  254. (<WISHES:15>)
  255. - add Vendor/Distribution tag
  256. - add patch104 for fix pr_ctrls_recv_request issue
  257. - add patch103 for fix CVE-2006-6170
  258. - add patch102 for fix CVE-2006-5815
  259. - add patch101 for fix CVE-2006-6171
  260. * Sun Aug 27 2006 NAKAMURA Kenta <kenta@vinelinux.org> 1.2.10-0vl5
  261. - rebuilt with openldap-2.3.27-0vl
  262. * Sun Jul 02 2006 Satoshi MACHINO <machino@vinelinux.org> 1.2.10-0vl4
  263. - rebuilt with openldap-2.3.24-0vl1
  264. * Sun May 14 2006 Shoji Matsumoto <shom@vinelinux.org> 1.2.10-0vl3
  265. - add patch300 for iconv patch
  266. * Thu Mar 16 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.10-0vl2
  267. - enable mod_ldap
  268. - add BuildRequires: openldap-devel, openssl-devel
  269. - add Patch200 from MDK to support ldap
  270. - add Patch201 from MDK to use system-auth instead of pam_pwdb
  271. (pam_pwdb is now obsolete, and will be removed in the future pam version)
  272. * Fri Sep 09 2005 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp>
  273. - 1.2.10-0vl1.1
  274. - add patch100 for fix CAN-2005-2390
  275. * Sun Sep 05 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.10-0vl1
  276. - new upstream release
  277. * Tue Aug 03 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.10-0vl0.3
  278. - new upstream release (1.2.10rc3)
  279. - build for Vine Linux 3.0
  280. * Fri May 21 2004 IKEDA Katsumi <ikeda@webmasters.gr.jp> 1.2.10-0vl0.1
  281. - new upstream release
  282. - fix security issue: http://secunia.com/advisories/11527/
  283. * Tue Apr 13 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.9-0vl1
  284. - new upstream release
  285. * Wed Sep 24 2003 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.8p-0vl1
  286. - new upstream release
  287. - fix security issue: http://xforce.iss.net/xforce/alerts/id/154
  288. * Sun Mar 9 2003 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.8-0vl1
  289. - new upstream release
  290. * Fri Dec 6 2002 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.7-0vl1
  291. - new upstream release 1.2.7
  292. - add logrotate config file.
  293. - move ftp home directory from /home/ftp to /var/ftp
  294. * Mon Jun 10 2002 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.6-0vl1
  295. - new upstream release 1.2.6
  296. * Mon Jun 10 2002 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.5-0vl4
  297. - new upstream release 1.2.5 (stable release version)
  298. * Mon Jun 03 2002 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.5-0vl3
  299. - new upstream release 1.2.5-rc3
  300. * Mon Jan 28 2002 Toru Sagami <sagami@vinelinux.org> 1.2.5-0vl2
  301. - eliminate executable bit in %doc (requierment for /usr/bin/perl)
  302. - put files in sample-configurations/ to the according directory
  303. - remove unnecessary README.* files
  304. * Thu Dec 20 2001 Toru Sagami <sagami@vinelinux.org> 1.2.5-0vl1
  305. - updated to 1.2.5rc1 for problems in file globbing
  306. * Sun Oct 21 2001 Toru Sagami <sagami@vinelinux.org>
  307. - 1.2.4-0vl1
  308. * Fri Oct 19 2001 Toru Sagami <sagami@vinelinux.org>
  309. - 1.2.3-0vl1
  310. * Sat Aug 18 2001 Toru Sagami <sagami@vinelinux.org>
  311. - 1.2.2-0vl1: update to 1.2.2 release
  312. - added more documents
  313. * Sun Jul 15 2001 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.2-0vl0.rc3
  314. - update to 1.2.2rc3
  315. - use macros
  316. * Mon Jun 11 2001 MATSUBAYASHI 'Shaolin' Kohji <shaolin@vinelinux.org>
  317. - 1.2.1-0vl3
  318. - rebuilt for VineSeed
  319. * Tue Feb 27 2001 KAJIKI Yoshihiro <kajiki@ylug.org> [1.2.1-0vl2]
  320. - update to 1.2.1
  321. * Tue Feb 27 2001 KAJIKI Yoshihiro <kajiki@ylug.org> [1.2.0-0vl2]
  322. - build for VineSeed
  323. * Tue Feb 27 2001 KAJIKI Yoshihiro <kajiki@ylug.org> [1.2.0-0vl1]
  324. - update to 1.2.0
  325. - set Epoch 1 to update from pre* and rc* version
  326. * Tue Feb 20 2001 Toru Sagami <czs14350@mb.infoweb.ne.jp>
  327. - 1.2.0rc3-0vl3
  328. - removed PreReq and postun about /etc/ftpusers stuff
  329. * Mon Feb 19 2001 KAJIKI Yoshihiro <kajiki@ylug.org> [1.2.0rc3-0vl3]
  330. - remove setup of /etc/ftpusers in %%pre script
  331. - add ftpusers.vine insted of the %%pre script
  332. - remove contrib/README.* frpm %%files
  333. - add BuildRequires: pam-devel
  334. * Mon Feb 19 2001 KAJIKI Yoshihiro <kajiki@ylug.org> [1.2.0rc3-0vl2]
  335. - rebuild for VineSeed
  336. * Wed Feb 07 2001 KAJIKI Yoshihiro <kajiki@ylug.org> [1.2.0rc3-0vl1]
  337. - update to 1.2.0rc3
  338. - add 'TimesGMT FALSE' in default configuration file
  339. - build on Vine 2.1
  340. * Mon Feb 05 2001 Toru Sagami <czs14350@mb.infoweb.ne.jp>
  341. - modified pre script to make it run by bash2 and added PreReq
  342. - remove /etc/ftpusers after uninstall
  343. * Thu Feb 01 2001 MATSUBAYASHI 'Shaolin' Kohji <shaolin@rhythmaning.org>
  344. - 1.2.0rc2-0vl8
  345. - rebuilt on VineSeed
  346. * Thu Feb 01 2001 KAJIKI Yoshihiro <kajiki@ylug.org> [1.2.0rc2-0vl7]
  347. - remove patch from CVS to avoid 'after 5min data brake'
  348. - add passive patch insted of abobe CVS patch
  349. - revival contribute's proftpd.init.d
  350. * Tue Jan 23 2001 KAJIKI Yoshihiro <kajiki@ylug.org> [1.2.0rc2-0vl6]
  351. - fixed %pre script and remove /etc/ftpusers from files
  352. - modify Japanese summary and descriptions
  353. * Sun Dec 03 2000 Toru Sagami <czs14350@mb.infoweb.ne.jp>
  354. - actually fixed to make the package relocatable.
  355. - non-root build failure by broken %prein, which should be %pre.
  356. - dont include CVS directory in doc
  357. - add %config /etc/rc.d/init.d/proftpd
  358. * Tue Nov 14 2000 KAJIKI Yoshihiro <kajiki@ylug.org> [1.2.0rc2-0vl4]
  359. - correct config directive of the init.d script
  360. * Wed Oct 18 2000 Yoshihiro Kajiki <kajiki@ylug.org> [1.2.0rc2-0vl3]
  361. - adopt current patch from CVS to avoid the 'put on passive mode' probrem
  362. * Sun Jul 30 2000 Jun Nishii <jun@vinelinux.org>
  363. - 1.2.0rc2-0vl1
  364. - obsoletes anonftp
  365. - do not chkconfig --add in %post
  366. - requires: pam
  367. - added proftpd.vine.conf
  368. * Fri Jul 28 2000 Daisuke SUZUKI <daisuke@linux.or.jp>
  369. - libtoolize for alpha
  370. * Sat Jul 15 2000 Kazuhisa TAKEI<takei@vinelinux.org>
  371. - [1.2.0rc2]
  372. * Wed Jun 28 2000 Kazuhisa TAKEI<takei@vinelinux.org>
  373. - repackaging for VineLinux
  374. * Sun Oct 3 1999 O.Elliyasa <osman@Cable.EU.org>
  375. - Multi package creation.
  376. Created core, standalone, inetd (&doc) package creations.
  377. Added startup script for init.d
  378. Need to make the "standalone & inetd" packages being created as "noarch"
  379. - Added URL.
  380. - Added prefix to make the package relocatable.
  381. * Wed Sep 8 1999 O.Elliyasa <osman@Cable.EU.org>
  382. - Corrected inetd.conf line addition/change logic.
  383. * Sat Jul 24 1999 MacGyver <macgyver@tos.net>
  384. - Initial import of spec.