]> git.donarmstrong.com Git - debbugs.git/commitdiff
[project @ 1999-09-02 19:25:02 by gecko]
authorgecko <>
Fri, 3 Sep 1999 02:25:02 +0000 (18:25 -0800)
committergecko <>
Fri, 3 Sep 1999 02:25:02 +0000 (18:25 -0800)
Initial revision

debian/.debbugsconfig.swp [new file with mode: 0644]
debian/README.Debian [new file with mode: 0644]
debian/README.mail [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/crontab [new file with mode: 0644]
debian/debbugsconfig [new file with mode: 0755]
debian/docs [new file with mode: 0644]
debian/manpage.1.ex [new file with mode: 0644]
debian/rules [new file with mode: 0755]

diff --git a/debian/.debbugsconfig.swp b/debian/.debbugsconfig.swp
new file mode 100644 (file)
index 0000000..0515fc8
Binary files /dev/null and b/debian/.debbugsconfig.swp differ
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644 (file)
index 0000000..aaacdf2
--- /dev/null
@@ -0,0 +1,42 @@
+Debbugs for DEBIAN
+======================
+
+Configuration
+-------------
+Configuration is *not* complete.  Especially automatic configuration.  For
+first time installations, copy the config and text files out of
+/usr/doc/debbugs/examples into /etc/debbugs.  Edit these files with the
+necessary information.  Run debbugsconfig.
+
+WWW
+----
+It's up to you to set up the httpd.  The basics: web files are located into 
+/var/lib/debbugs/www and the cgi scripts are in /var/lib/debbugs/www/cgi.  Point
+your server's configuration to these places.
+
+Mail
+----
+It's up to you to set up the MTA.  The basics: mail has to be DELIVERED to
+the script /usr/lib/debbugs/receive via stdin.  Important environment
+variables set by the MTA are used so it has to be processed from within the
+MTA.
+
+Cron
+----
+Check the sample cron in /usr/doc/debbugs/examples for what should be run,
+in what order and how often.
+
+Summary
+-------
+This was released into the distro NOW in order to start getting feed back.
+The system is stable enough to use in mission critical situations.  The
+bugs that will show up will be in appearance.  Variables that didn't expand
+right when discribing how to "foobar" or some such.  
+
+Also, people have already been asking for mods and changes and I'm having
+trouble keeping track.  This way, people can start submitting bug and
+wishlist reports to the BTS.
+
+Darren O. Benham <gecko@debian.org>, Sat, 27 Mar 1999 10:45:35 -0800
+
+
diff --git a/debian/README.mail b/debian/README.mail
new file mode 100644 (file)
index 0000000..188be4e
--- /dev/null
@@ -0,0 +1,125 @@
+MTA for Debbugs
+===============
+
+Config
+------
+Be sure to set the $gMailer variable correctly in /etc/debbugs/config.  The
+options are (all lower case) exim, qmail and sendmail.
+
+Exim
+----
+I've seen two lines in Exim used.  If the machine is dedicated and all
+email goes to the debbugs script:
+(in the transport section)
+debbugs_pipe:
+  driver = pipe
+  user={some UID root is very unsafe and unsecure here}
+  group={some GID either uid or gid needs write access}
+  command = /usr/lib/debbugs/receive
+  return_output
+
+(and AT THE TOP of the directors)
+debbugs:
+  driver = smartuser
+  transport = debbugs_pipe
+
+If the domain is a virtual host on a machine that needs it, there are many
+ways of handling it.  I think the neatest was:
+
+debbugs:
+  driver = aliasfile
+  domains={domain name eg: bugs.debian.org}
+  file=/usr/lib/debbugs/receive
+  user={some UID}
+  group={some GID}
+  current_directory=/var/lib/debbugs/spool
+  home_directory=/var/lib/debbugs/spool
+
+Qmail
+-----
+        
+Here's my (tv@debian.org) suggestion for safe & secure
+installation under qmail:
+        
+Create a separate user for the debbugs system.
+       # adduser --system --group --home /home/misc/debbugs debbugs
+Give control of a virtual domain to that user
+       # echo bugs.example.com:debbugs >>/etc/qmail/virtualdomains
+Give the user access to the bug databases
+       # chown -R debbugs:debbugs /var/lib/debbugs/*
+Set the BTS owner address
+       # echo 'me@my.example.com' >~debbugs/.qmail-owner
+Make the BTS handle it's mail
+       # echo '|/usr/lib/debbugs/receive' >~debbugs/.qmail-default
+Reload the virtualdomains config file
+       # /etc/init.d/qmail reload
+That's it!
+        
+Sendmail
+--------
+From Wichert Akkerman (wakkerma@debian.org):
+
+First of all make sure that debbugs is configured for sendmail: look
+at /etc/debbugs/config for the $gMailer variable and make sure it is
+set to 'sendmail'.
+
+Next make sure that your DNS is configured properly. For sendmail
+this means you cannot use a CNAME for the debbugs-domain, since that
+gets remapped to the canonical name and thus bypasses the mailertable
+we need. This is an example of a working DNS entry:
+
+        bugs            IN      192.168.2.100
+                                0 MX mailgate.mors.net
+                                HINFO "PC Pentium" "Debbugs 2.0"
+
+Now that that is finished it is time to configure sendmail itself. First
+make sure that sendmail does not consider the debbugs-domain as local by
+making sure it is not listed in /etc/mail/sendmail.cw . Now start your
+favourite editor and load /etc/mail/sendmail.mc . We need to make two
+changes
+there: add a mailertable and define the debbugs delivery agent.  The
+mailertable is needed to tell sendmail to use the debbugs to deliver mail
+destined for your debbugs server.
+
+To enable the mailertable put the following line in your sendmail.mc file:
+
+        FEATURE(mailertable, `text -o /etc/mail/mailertable')dnl
+
+This tells sendmail to use the textfile /etc/mail/mailertable as the
+database containing the table. You can also use a db database if you
+want to add a lot of entries in there since that is faster. If you
+want to do that use the following line instead:
+
+        FEATURE(mailertable, `hash -o /etc/mail/mailertable.db')dnl
+
+You can create the database using the following command:
+
+        makemap hash mailertable.db < mailertable
+
+Where mailertable is the textfile containing the data.
+
+The next thing we need to do is tell sendmail about the debbugs delivery
+agent. To do this add the following two lines to your sendmail.mc file,
+preferably just after the MAILER commands:
+
+Mdebbugs,       P=/usr/lib/debbugs/receive, F=SDFMlhudb80, U=<uid>:<gid>,
+                S=10/30, R=20/30, D=/tmp, T=DNS/RFC822/X-Unix, A=receive $u
+
+Where <uid> and <gid> should be replaced with the user and group you
+use for debbugs.
+
+Okay, we are now done with sendmail.mc and are ready to add the entry
+in your mailertable. Save sendmail.mc and load /etc/mail/mailertable in
+your editor. Put a single line in there just like this one:
+
+        bugs.your.net           debbugs:yournet
+
+(please note there are tabs between those words). This tells sendmail that
+mail destined for the host bugs.your.net should be handled by the debbugs
+delivery agent using yournet as the hostname. If you decided to use a db
+database instead of the plain textfile don't forget to run makemap now!
+
+Now the final step: run sendmailconfig to regenerate sendmail.cf and
+restart sendmail with the new configuration. Your system should now
+be up and running. Congratulations!
+
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..5122d81
--- /dev/null
@@ -0,0 +1,18 @@
+Source: debbugs
+Section: misc
+Priority: optional
+Maintainer: Darren Benham <gecko@debian.org>
+Standards-Version: 2.5.0.0
+
+Package: debbugs
+Architecture: all
+Depends: perl|perl5, lynx, mail-transport-agent, mailtools
+Recommends: httpd
+Description: The bug tracking system based on the active Debian BTS
+ This is an email based bug tracking system.  It is the same system used by
+ the Debian Project (Debian uses v0.2).
+ .
+ This version does not autoconfig.  Read /usr/doc/debbugs/README.Debian
+ after installing the deb.  This version is fully functional.  There might
+ be some appearance issues where the a display variable doesn't expand as
+ expected.
diff --git a/debian/crontab b/debian/crontab
new file mode 100644 (file)
index 0000000..20e2c7d
--- /dev/null
@@ -0,0 +1,9 @@
+# Example crontab for bugs system.
+MAILTO=owner@bugs.benham
+3,18,33,48     *       * * *   /usr/lib/debbugs/processall >/dev/null
+9,39           *       * * *   /usr/lib/debbugs/html-control >/dev/null
+22                     7       * * *   touch /var/lib/debbugs/spool/db
+23                     7       * * 3   /usr/lib/debbugs/age-1
+24                     7       * * *   /usr/lib/debbugs/expire >/dev/null
+23                     16      * * 5   /usr/lib/debbugs/mailsummary undone >/dev/null
+23                     16      * * 2   /usr/lib/debbugs/mailsummary bymaint >/dev/null
diff --git a/debian/debbugsconfig b/debian/debbugsconfig
new file mode 100755 (executable)
index 0000000..f65ee10
--- /dev/null
@@ -0,0 +1,59 @@
+#!/usr/bin/perl
+
+@file_flag = stat( '/etc/debbugs/config');
+if ( !@file_flag ) 
+{
+       system( '/bin/cp', '/usr/doc/debbugs/examples/config', '/etc/debbugs/config' );
+       print( "copying config file" );
+} else { print( "skipping config file" ); }
+
+@file_flag = stat( '/etc/debbugs/text');
+if ( !@file_flag ) 
+{
+       system( '/bin/cp', '/usr/doc/debbugs/examples/text', '/etc/debbugs/text' );
+       print( "copying text file" );
+} else { print( "skipping text file" ); }
+
+@file_flag = stat( '/var/lib/debbugs/spool/nextnumber');
+if ( !@file_flag ) 
+{
+       system( '/bin/cp', '/usr/doc/debbugs/examples/nextnumber', '/var/lib/debbugs/spool/nextnumber' );
+       print( "copying next file" );
+} else { print( "skipping next file" ); }
+
+require('/etc/debbugs/config');
+require('/etc/debbugs/text');
+
+chop($dtime=`date -u '+%H:%M:%S GMT %a %d %h'`);
+$gHTMLTail =~ s/SUBSTITUTE_DTIME/$dtime/;
+
+require('/etc/debbugs/html/Access.html');
+require('/etc/debbugs/html/Developer.html');
+require('/etc/debbugs/html/Reporting.html');
+require('/etc/debbugs/html/index.html');
+require('/etc/debbugs/html/server-control.html');
+require('/etc/debbugs/html/server-refcard.html');
+require('/etc/debbugs/html/server-request.html');
+
+&file( 'Access.html', 'bug-log-access.txt', $gAccessHtml );
+&file( 'Developer.html', 'bug-maint-info.txt', $gDeveloperHtml );
+&file( 'Reporting.html', 'bug-reporting.txt', $gReportingHtml );
+&file( 'index.html', '', $gIndexHtml );
+&file( 'server-control.html', 'bug-maint-mailcontrol.txt', $gControlHtml );
+&file( 'server-refcard.html', 'bug-mailserver-refcard.txt', $gRefcardHtml );
+&file( 'server-request.html', 'bug-log-mailserver.txt', $gRequestHtml );
+
+exec( '/usr/sbin/debbugs-maketxt' );
+quit(0);
+
+sub file {
+    local ($name,$txtname,$file)= @_;
+    unlink( "$gWebDir/$name" );
+    if( open( ORIG, ">$gWebDir/$name" ) ) {
+       print ORIG $file;
+               close( ORIG );
+               print "wrote $gWebDir/$name\n";
+    } else {
+       print "unable to write $gWebDir/$name\n";
+    }
+}
diff --git a/debian/docs b/debian/docs
new file mode 100644 (file)
index 0000000..48af000
--- /dev/null
@@ -0,0 +1 @@
+debian/README.mail debian/TODO
diff --git a/debian/manpage.1.ex b/debian/manpage.1.ex
new file mode 100644 (file)
index 0000000..8fd057f
--- /dev/null
@@ -0,0 +1,41 @@
+.TH NAME SECTION 
+.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
+.\" other parms are allowed: see man(7), man(1)
+.SH NAME
+debbugs \- programs to do something
+.SH SYNOPSIS
+.B debbugs
+.I "[options] files ..."
+.br
+.B bar
+.I "[options] files ..."
+.SH "DESCRIPTION"
+This manual page documents briefly the
+.BR debbugs ,
+and
+.B bar
+commands.
+This manual page was written for the Debian GNU/Linux distribution
+because the original program does not have a manual page.
+Instead, it has documentation in the GNU Info format; see below.
+.PP
+.B debbugs
+is a program that...
+.SH OPTIONS
+The programs follow the usual GNU command line syntax, with long
+options starting with two dashes (`-').
+A summary of options are included below.
+For a complete description, see the Info files.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-v, \-\-version
+Show version of program.
+.SH "SEE ALSO"
+The programs are documented fully by
+.IR "The Rise and Fall of a Fooish Bar" ,
+available via the Info system.
+.SH AUTHOR
+This manual page was written by Darren Benham <gecko@debian.org>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..9b79a20
--- /dev/null
@@ -0,0 +1,109 @@
+#!/usr/bin/make -f
+# MAde with the aid of dh_make, by Craig Small
+# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
+# Some lines taken from debmake, by Cristoph Lameter.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+build: build-stamp
+build-stamp:
+       touch build-stamp
+
+clean:
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp install-stamp
+       #something to remove all *~ and trace and *.trace files
+       dh_clean
+
+install: install-stamp
+install-stamp: build-stamp
+       dh_testdir
+       dh_testroot
+       dh_clean -k
+       dh_installdirs
+
+       #install the scripts
+       cp scripts/age-1.in `pwd`/debian/tmp/usr/lib/debbugs/age-1
+       cp scripts/db2html.in  `pwd`/debian/tmp/usr/lib/debbugs/db2html
+       cp scripts/expire.in `pwd`/debian/tmp/usr/lib/debbugs/expire
+       cp scripts/html-install.in `pwd`/debian/tmp/usr/lib/debbugs/html-install
+       cp scripts/mailsummary.in `pwd`/debian/tmp/usr/lib/debbugs/mailsummary
+       cp scripts/processall.in `pwd`/debian/tmp/usr/lib/debbugs/processall
+       cp scripts/service.in `pwd`/debian/tmp/usr/lib/debbugs/service
+       cp scripts/config.in `pwd`/debian/tmp/usr/doc/debbugs/examples/config
+       cp scripts/text.in `pwd`/debian/tmp/usr/doc/debbugs/examples/text
+       cp debian/crontab `pwd`/debian/tmp/usr/doc/debbugs/examples/crontab
+       cp scripts/errorlib.in `pwd`/debian/tmp/usr/lib/debbugs/errorlib
+       cp scripts/html-control.in `pwd`/debian/tmp/usr/lib/debbugs/html-control
+       cp scripts/process.in `pwd`/debian/tmp/usr/lib/debbugs/process
+       cp scripts/receive.in `pwd`/debian/tmp/usr/lib/debbugs/receive
+       cp scripts/summary.in `pwd`/debian/tmp/usr/lib/debbugs/summary
+#      cp scripts/changeaddr  `pwd`/debian/tmp/usr/lib/debbugs/changeaddr
+#      cp scripts/initialise.out `pwd`/debian/tmp/usr/lib/debbugs/initialise
+#      cp scripts/badness.out `pwd`/debian/tmp/usr/lib/debbugs/badness
+       
+       #install the text documents
+       #install the html pages
+       cp html/Access.html.in `pwd`/debian/tmp/etc/debbugs/html/Access.html
+       cp html/Reporting.html.in `pwd`/debian/tmp/etc/debbugs/html/Reporting.html
+       cp html/Developer.html.in `pwd`/debian/tmp/etc/debbugs/html/Developer.html
+       cp html/index.html.in `pwd`/debian/tmp/etc/debbugs/html/index.html
+       cp html/server-control.html.in `pwd`/debian/tmp/etc/debbugs/html/server-control.html
+       cp html/server-request.html.in `pwd`/debian/tmp/etc/debbugs/html/server-request.html
+       cp html/server-refcard.html.in `pwd`/debian/tmp/etc/debbugs/html/server-refcard.html
+       cp html/lynx-cfg `pwd`/debian/tmp/etc/debbugs/lynx-cfg
+       cp html/htaccess `pwd`/debian/tmp/var/lib/debbugs/www/db/.htaccess
+
+       #install the text documents
+       #later
+
+       #install the CGI
+       cp cgi/bugs-fetch2.pl.in `pwd`/debian/tmp/var/lib/debbugs/www/cgi/bugs-fetch2.pl
+       cp cgi/cgi-lib.pl `pwd`/debian/tmp/var/lib/debbugs/www/cgi
+       cp debian/debbugsconfig `pwd`/debian/tmp/usr/sbin/debbugsconfig
+       cp debian/debbugs-maketxt `pwd`/debian/tmp/usr/sbin/debbugs-maketxt
+
+       #install the config files
+       cp misc/Maintainers `pwd`/debian/tmp/etc/debbugs/.
+       cp misc/pseudo-packages.description `pwd`/debian/tmp/etc/debbugs/.
+       cp misc/nextnumber `pwd`/debian/tmp/usr/doc/debbugs/examples/.
+       cp misc/updateseqs `pwd`/debian/tmp/var/lib/debbugs/spool/.
+
+       touch install-stamp
+
+# Build architecture-dependent files here.
+binary-arch: build install
+# We have nothing to do.
+
+# Build architecture-independent files here.
+binary-indep: build install
+       dh_testdir
+       dh_testroot
+       dh_installdocs
+#      dh_installinit
+       dh_installcron
+#      dh_installmanpages
+       dh_undocumented
+       dh_installchangelogs 
+       dh_strip
+       dh_compress -X examples/text
+       dh_fixperms
+       #chown bugs.bugs `pwd`/debian/tmp/var/lib/debbugs/spool/incoming
+       chmod 755 `pwd`/debian/tmp/var/lib/debbugs/www/cgi/bugs-fetch2.pl
+       chmod 755 `pwd`/debian/tmp/var/lib/debbugs/www/cgi/cgi-lib.pl
+       chmod a+rX,go-w,u+w -R `pwd`/debian/tmp/etc/debbugs/*
+       chmod 644 `pwd`/debian/tmp/usr/lib/debbugs/errorlib
+       dh_suidregister
+       dh_installdeb
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+source diff:                                                                  
+       @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary