From 60fb8cc530fc15862d4746ae3a80159798dcaecb Mon Sep 17 00:00:00 2001 From: gecko <> Date: Thu, 2 Sep 1999 18:25:02 -0800 Subject: [PATCH] [project @ 1999-09-02 19:25:02 by gecko] Initial revision --- debian/.debbugsconfig.swp | Bin 0 -> 12288 bytes debian/README.Debian | 42 +++++++++++++ debian/README.mail | 125 ++++++++++++++++++++++++++++++++++++++ debian/control | 18 ++++++ debian/crontab | 9 +++ debian/debbugsconfig | 59 ++++++++++++++++++ debian/docs | 1 + debian/manpage.1.ex | 41 +++++++++++++ debian/rules | 109 +++++++++++++++++++++++++++++++++ 9 files changed, 404 insertions(+) create mode 100644 debian/.debbugsconfig.swp create mode 100644 debian/README.Debian create mode 100644 debian/README.mail create mode 100644 debian/control create mode 100644 debian/crontab create mode 100755 debian/debbugsconfig create mode 100644 debian/docs create mode 100644 debian/manpage.1.ex create mode 100755 debian/rules diff --git a/debian/.debbugsconfig.swp b/debian/.debbugsconfig.swp new file mode 100644 index 0000000000000000000000000000000000000000..0515fc812aac4fc5a15cb9bf3084d819f62f7ed6 GIT binary patch literal 12288 zcmeI2&2Jk;7{=eg0nAq`=oK_^ZM;$KY-mA1jH?2v8Vf9>#DP*3()}3QqpWwg`;oYc z(hCQ!RDvr=a7X+JNN`00{s6=YRS2oQa3wsm>)qH+>NtW^H5>h6dG>kVnfIC5_mHf) z^nSC&URk_AxK0!8-+lDe*FKx0{#Bwbx3)Yve#|wi?sg*7ZEgy~l^1=VHJ@@R!%rQ!+98eA@2b2TK0p);lKslfsP!2pC z4n+PO?W2@OKpo5t!H2q(1IhvAfO0@Npd3&RCD)4m{8S99#o0 zgEQbR>iPwI555Fulmq{R1ABYKaHYQsejwb46=T;h z9nK<;?F1s?tknI0n=2yFORmx9*WF@04Px90IoqW|7Pu35N6QNZ%ke_4vG>-RSJ*-t zKa5I-N*&?wbXasW=K0)B#Z^|kI6i-oE#PN2SwieO!rjtX@sK3V<#?9iFfCbkwG<5^ zSwJ$~eeE z9&GcV7Vw)f52M9i)ORXXR>5nNHOK2BM!+U1S(Kqw*twQUSD}=d4khYXMqrO6I!J~5Cp?NmLPOSm>4Tmj1rY#8y%kys?5>O$$6-K--TZ8NhmM@?4q)XV|!MWiBqwhOB)Ma)z?wdSFblXOt zJHpJ*SLl15Gb)n3V3$OPX>9(IY%ZG}$LONj(a5(33nL?vOE@;)^xCC;Q)?d+oV502 zbEG??PgF8^!YU8NPp>N7_NjGENKRVW@L)~WHXQyB)eSSq`p(WLr%E0&G((5}1-Ajg AlmGw# literal 0 HcmV?d00001 diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 00000000..aaacdf24 --- /dev/null +++ b/debian/README.Debian @@ -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 , Sat, 27 Mar 1999 10:45:35 -0800 + + diff --git a/debian/README.mail b/debian/README.mail new file mode 100644 index 00000000..188be4ed --- /dev/null +++ b/debian/README.mail @@ -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=:, + S=10/30, R=20/30, D=/tmp, T=DNS/RFC822/X-Unix, A=receive $u + +Where and 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 index 00000000..5122d81a --- /dev/null +++ b/debian/control @@ -0,0 +1,18 @@ +Source: debbugs +Section: misc +Priority: optional +Maintainer: Darren Benham +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 index 00000000..20e2c7d8 --- /dev/null +++ b/debian/crontab @@ -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 index 00000000..f65ee104 --- /dev/null +++ b/debian/debbugsconfig @@ -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 index 00000000..48af000e --- /dev/null +++ b/debian/docs @@ -0,0 +1 @@ +debian/README.mail debian/TODO diff --git a/debian/manpage.1.ex b/debian/manpage.1.ex new file mode 100644 index 00000000..8fd057f6 --- /dev/null +++ b/debian/manpage.1.ex @@ -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 , +for the Debian GNU/Linux system (but may be used by others). diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000..9b79a208 --- /dev/null +++ b/debian/rules @@ -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 -- 2.39.5