--- gnuserv-3.12.7.orig/gnuclient.c +++ gnuserv-3.12.7/gnuclient.c @@ -403,7 +403,17 @@ display = argv[i]; } else if (!strcmp (argv[i], "-nw")) - suppress_windows_system = 1; + { + /* Since GNU Emacs doesn't support that feature and since + this Debian package is supposed to work inly with GNU + Emacs, disable it so that users are not advertised of a + missing feature. */ + fprintf (stderr, + "%s: `-nw' doesn't work with GNU Emacs, option disabled\n", + progname); + exit (1); +/* suppress_windows_system = 1; */ + } else { /* Iterate over one-letter options. */ @@ -450,11 +460,11 @@ { fprintf (stderr, #ifdef INTERNET_DOMAIN_SOCKETS - "Usage: %s [-nw] [-display display] [-q] [-v] [-l library]\n" + "Usage: %s [-display display] [-q] [-v] [-l library]\n" " [-batch] [-f function] [-eval form]\n" " [-h host] [-p port] [-r remote-path] [[+line] file] ...\n", #else /* !INTERNET_DOMAIN_SOCKETS */ - "Usage: %s [-nw] [-q] [-v] [-l library] [-f function] [-eval form] " + "Usage: %s [-q] [-v] [-l library] [-f function] [-eval form] " "[[+line] path] ...\n", #endif /* !INTERNET_DOMAIN_SOCKETS */ progname); @@ -466,8 +476,8 @@ progname); exit (1); } -#if defined(INTERNET_DOMAIN_SOCKETS) - if (suppress_windows_system && hostarg) +#ifdef INTERNET_DOMAIN_SOCKETS + if (suppress_windows_system && hostarg && (!batch)) { fprintf (stderr, "%s: Remote editing is available only on X\n", progname); --- gnuserv-3.12.7.orig/gnuserv.c +++ gnuserv-3.12.7/gnuserv.c @@ -136,7 +136,7 @@ ipc_init (struct msgbuf **msgpp) { key_t key; /* messge key */ - char buf[GSERV_BUFSZ]; /* pathname for key */ + char buf[GSERV_BUFSZ+1]; /* pathname for key */ sprintf (buf,"%s/gsrv%d",tmpdir,(int)geteuid ()); creat (buf,0600); @@ -173,7 +173,7 @@ handle_ipc_request (struct msgbuf *msgp) { struct msqid_ds msg_st; /* message status */ - char buf[GSERV_BUFSZ]; + char buf[GSERV_BUFSZ+1]; int len; /* length of message / read */ int s, result_len; /* tag fields on the response from emacs */ int offset = 0; @@ -620,7 +620,19 @@ sizeof(host_addr), (char *)&host_addr, strlen(MCOOKIE_SCREEN), MCOOKIE_SCREEN, strlen(MCOOKIE_X_NAME), MCOOKIE_X_NAME); - hosts++; + + /* Fix suggested by Roderick Schertler to + handle cases where there's no authorization data. */ + if (server_xauth) + { + if (server_xauth->data) + hosts++; + else + { + XauDisposeAuth (server_xauth); + server_xauth = NULL; + } + } #endif /* AUTH_MAGIC_COOKIE */ --- gnuserv-3.12.7.orig/gnuserv.1 +++ gnuserv-3.12.7/gnuserv.1 @@ -4,7 +4,7 @@ gnuserv, gnuclient \- Server and Clients for XEmacs .SH SYNOPSIS .B gnuclient -[-nw] [-display display] [-q] [-v] [-l library] [-batch] [-f function] [-eval form] +[-display display] [-q] [-v] [-l library] [-batch] [-f function] [-eval form] [-h hostname] [-p port] [-r remote-pathname] [[+line] file] ... .br .B gnudoit [-q] @@ -31,8 +31,7 @@ directly, but is started from XEmacs by loading the \fIgnuserv\fP package and evaluating the Lisp form (gnuserv-start). .PP -\fIgnuattach\fP no longer exists. Its functionality has been replaced by -\fIgnuclient -nw\fP. +\fIgnuattach\fP no longer exists\fP. .SH OPTIONS .PP \fIgnuclient\fP supports as much of the command line options of Emacs as @@ -41,14 +40,6 @@ Options with long names can also be specified using a double hyphen instead of a single one. .TP 8 -.BI \-nw -This option makes \fIgnuclient\fP act as a frontend such that XEmacs -can attach to the current TTY. XEmacs will then open a new TTY frame. -The effect is similar to having started a new XEmacs on this TTY with -the ``-nw'' option. It currently only works if XEmacs is running on -the same machine as gnuclient. This is the default if the `DISPLAY' -environment variable is not set. -.TP 8 .BI \-display " display, " \--display " display" If this option is given or the `DISPLAY' environment variable is set then gnuclient will tell XEmacs to edit files in a frame on the @@ -150,7 +141,7 @@ .br gnuclient -h cuckoo -r /ange@otter: /tmp/* .br -gnuclient -nw ../src/listproc.c +gnuclient ../src/listproc.c .RE .br @@ -254,6 +245,11 @@ KALI.FTM.CS.CMU.EDU:999 MIT-MAGIC-COOKIE-1 1234 .RE .PP +To create the cookie, you can use a command like +.RS 4 +xauth add `hostname`:999 MIT-MAGIC-COOKIE-1 `head -c512 /dev/urandom|md5sum` +.RE +.PP For more information on authorization files, take a look at the xauth(1X11) man page, or invoke xauth interactively (without any arguments) and type "help" at the prompt. Remember that case in the --- gnuserv-3.12.7.orig/debian/changelog +++ gnuserv-3.12.7/debian/changelog @@ -0,0 +1,155 @@ +gnuserv (3.12.7-1) unstable; urgency=low + + * New upstream release (closes: #279005) + * Explicitely set gnuserv-program (closes: #291123) + + -- Benjamin Drieu Thu, 10 Mar 2005 13:43:08 +0100 + +gnuserv (3.12.6-1.1) unstable; urgency=low + + * NMU + * Added complete GFDL text to debian/copyright and correct license + location to debian/dtemacs.1 (closes: #292228) + * Corrected Standards-Version from 3.6.10 to 3.6.1. + + -- Paul Brossier Fri, 4 Feb 2005 22:36:48 +0000 + +gnuserv (3.12.6-1) unstable; urgency=low + + * New upstream version (closes: #209126) + * Remove dependencies on emacs20 (closes: #232737, #232761) + * Move conffile to /etc/emacs21. Removing this package but not purging + it still makes emacs21 croak, but no more other flavours (hopefully + closes: #207245) + + -- Benjamin Drieu Mon, 16 Feb 2004 12:27:42 +0100 + +gnuserv (3.12.4-5) unstable; urgency=low + + * Remote evaluation now work without DISPLAY being set (Closes: #149938) + * install.log is now universally readable (Closes: #167717) + + -- Benjamin Drieu Wed, 12 Feb 2003 16:45:40 +0100 + +gnuserv (3.12.4-4) unstable; urgency=low + + * Quiet down postinst. (Closes: #143341) + * Install dtemacs. (Closes: #144039) + + -- Benjamin Drieu Tue, 30 Apr 2002 16:41:21 +0200 + +gnuserv (3.12.4-3) unstable; urgency=low + + * Add some hints about using xauth in gnuserv man page. (Closes: #99195) + + -- Benjamin Drieu Wed, 3 Apr 2002 17:26:08 +0200 + +gnuserv (3.12.4-2) unstable; urgency=low + + * Suppress gnuclient -nw, that does not work with GNU Emacs. As + debian's gnuserv/gnuclient is supposed to work only with GNU Emacs + since xemacs provides its own gnuclient.xemacs21, I remove any + advertisement to that feature. (Closes: #119927, #116921, + #133266, #134972) + + * Buffer overrun fix (Closes: #137912) + + * Closes: #132134. + + -- Benjamin Drieu Fri, 15 Mar 2002 20:58:10 +0100 + +gnuserv (3.12.4-1) unstable; urgency=low + + * New maintainer. (Closes: #120051) + * New upstream version. (Closes: #99915, #92642) + + -- Benjamin Drieu Thu, 21 Feb 2002 00:21:47 +0100 + +gnuserv (3.12.3-3.1) unstable; urgency=low + + * Non Maintainer Upload. + * mark /etc/emacs/site-start.d/50gnuserv.el as a conffile + (closes: #132134) + + -- David Kimdon Thu, 7 Feb 2002 23:10:16 -0800 + +gnuserv (3.12.3-3) unstable; urgency=medium + + * Urgency medium in hopes of preventing woody from releasing with + a broken gnuserv package which claims to require emacs20 even + though emacs21 works just fine. This silliness would not be + necessary had i been able to say emacs >= 20... + * Update to Standards-Version 3.5.6 (no actual changes necessary). + * debian/control: Use emacs21 | emacs20 in Depends and Build-Depends. + (Closes: #118583) + * debian/postinst: Clean up garbage left behind by potato version. + (Closes: #99191) + * Verify that symlinks to the appropriate man pages are + installed. (Closes: #99534) + + -- Eric Gillespie, Jr. Wed, 7 Nov 2001 20:56:34 +0000 + +gnuserv (3.12.3-2) unstable; urgency=low + + * Add Build-Depends: emacs20. (Closes: #90213) + + -- Eric Gillespie, Jr. Mon, 19 Mar 2001 09:53:47 -0500 + +gnuserv (3.12.3-1) unstable; urgency=low + + * New maintainer. (Closes: #89717) + * New upstream version. (Closes: #84627, #85600, #88961, #67831, #84802) + * Repackage from scratch using debhelper. The upstream package has + changed substantially, and the Debian package was out-of-date with + regard to policy, so i figured this would be for the best. + * Now uses alternatives for the programs and manpages. + (Closes: #48445, #37658) + * Now uses dh_installemacsen and follows emacsen policy. + (Closes: #62093, #67406) + * Add Build-Depends. (Closes: #89135) + + -- Eric Gillespie, Jr. Sun, 18 Mar 2001 00:49:54 -0500 + +gnuserv (2.1alpha-5.1.1) unstable; urgency=high + + * Non-Maintainer Upload by Security Team + * Applied patch from Klaus Frank that fixes weak access control which + could lead random remote users execute commands under the local user + id bypassing access control. + + -- Martin Schulze Thu, 8 Mar 2001 22:25:16 +0100 + +gnuserv (2.1alpha-5) unstable; urgency=low + + * gnuserv.el is byte compiled now. + * don't compile for xemacs. Closes Bug#33012 and Bug#28175. + + -- Frederic Lepied Tue, 16 Feb 1999 20:41:12 +0100 + +gnuserv (2.1alpha-4) unstable; urgency=low + + * added autoloads in /etc/emacs/site_start.d + + -- Frederic Lepied Thu, 19 Mar 1998 06:16:39 +0100 + +gnuserv (2.1alpha-3) unstable; urgency=low + + * depends on emacsen. + + -- Frederic Lepied Sun, 15 Mar 1998 08:09:17 +0100 + +gnuserv (2.1alpha-2) unstable; urgency=low + + * Uncompress the copyright file (Fixes Bug#14399). + * README.debian: corrected bad spelling and changed to a more secure + xauth command (Fixes Bug#13943). + + -- Frederic Lepied Wed, 28 Jan 1998 05:33:46 +0100 + +gnuserv (2.1alpha-1) unstable; urgency=low + + * Initial Release. + + -- Frederic Lepied Mon, 13 Oct 1997 22:22:05 +0200 + + --- gnuserv-3.12.7.orig/debian/conffiles +++ gnuserv-3.12.7/debian/conffiles @@ -0,0 +1 @@ +/etc/emacs21/site-start.d/50gnuserv.el --- gnuserv-3.12.7.orig/debian/control +++ gnuserv-3.12.7/debian/control @@ -0,0 +1,22 @@ +Source: gnuserv +Section: editors +Priority: optional +Maintainer: Benjamin Drieu +Build-Depends: debhelper (>> 2.0.0), xlibs-dev, emacs21 +Standards-Version: 3.6.1 + +Package: gnuserv +Architecture: any +Depends: emacs21, ${shlibs:Depends} +Description: Allows you to attach to an already running Emacs + gnuserv allows you to attach to an already running Emacs. This + allows external programs to make use of Emacs' editing + capabilities. It is like GNU Emacs' emacsserver/server.el, but + has many more features. + . + You do not need this package if you use XEmacs; it already + includes gnuserv and gnuclient. If you want to use gnuserv with + both GNU Emacs and XEmacs, you will only be able to use the + alternative /usr/bin/gnuclient with one flavor of emacs; you will + have to use either gnuclient.xemacs or gnuclient.emacs for the + other flavor. --- gnuserv-3.12.7.orig/debian/copyright +++ gnuserv-3.12.7/debian/copyright @@ -0,0 +1,419 @@ +This package was debianized by Eric Gillespie, Jr. on +Sat, 17 Mar 2001 00:46:01 -0500. + +It was downloaded from http://meltin.net/hacks/emacs/ + +Upstream Authors: +Martin Schwenke +XEmacs Development Team (http://www.xemacs.org/) + +Copyright: + +gnuserv is released under the GNU GPL. The full text of this +license can be found in /usr/share/common-licenses/GPL. + +======================================================================== + +The dtemacs manpage is distributed under the terms of the +GNU Free Documentation License, with not Front-Covers Texts and no +Back-Covers Texts. The full text of the license follows. + +________________________________________________________________________ + + GNU Free Documentation License + Version 1.2, November 2002 + + + Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (Thus, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section Entitled "History", Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section to be Entitled "Endorsements" + or to conflict in title with any Invariant Section. +O. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. --- gnuserv-3.12.7.orig/debian/dirs +++ gnuserv-3.12.7/debian/dirs @@ -0,0 +1,3 @@ +usr/bin +usr/share/emacs/site-lisp/gnuserv +usr/share/man/man1 --- gnuserv-3.12.7.orig/debian/docs +++ gnuserv-3.12.7/debian/docs @@ -0,0 +1 @@ +README --- gnuserv-3.12.7.orig/debian/dtemacs +++ gnuserv-3.12.7/debian/dtemacs @@ -0,0 +1,33 @@ +#!/bin/sh + +# $Id: dtemacs,v 1.2 2004/02/16 11:23:59 benj Exp $ + +# Try to contact Emacs with gnuclient, starting Emacs if no answer. +# Pass all options to gnuclient. This version is standalone and doesn't +# need any fancy elisp. + +GNUCLIENT=gnuclient +GNUCLIENTPINGOPTIONS="-batch -eval t" +EMACS=emacs +TIMEOUT=20 + +# If Emacs doesn't seem to be running then make it so. +if ${GNUCLIENT} ${GNUCLIENTPINGOPTIONS} >/dev/null 2>&1 ; then + : +else + ${EMACS} -iconic -eval "(setq gnuserv-kill-quietly t)" -f gnuserv-start 2>&1 >/dev/null & +fi + +# Try for TIMEOUT seconds to talk to the Emacs process. + +count=0 +until ${GNUCLIENT} ${GNUCLIENTPINGOPTIONS} >/dev/null 2>&1 ; do + if [ ${count} -gt ${TIMEOUT} ] ; then + echo "dtemacs: error starting Emacs" 1>&2 + exit 1 + fi + sleep 1 + count=`expr ${count} + 1` +done + +exec ${GNUCLIENT} ${1+"$@"} --- gnuserv-3.12.7.orig/debian/dtemacs.1 +++ gnuserv-3.12.7/debian/dtemacs.1 @@ -0,0 +1,28 @@ +.TH dtemacs 1 +.SH NAME +dtemacs \- contact Emacs with gnuclient, starting Emacs if no answer. +.SH SYNOPSIS +.B dtemacs +.SH DESCRIPTION +.I dtemacs +tries to contact Emacs with gnuclient, starting Emacs if no answer. +Pass all options to gnuclient. This version is standalone and doesn't +need any fancy elisp. +.SH "SEE ALSO" +.IR emacs (1), +.IR gnuserv (1). +.SH "AUTHOR" +.PP +This manual page was written by Benjamin Drieu for +the \fBDebian\fP system (but may be used by others). Permission is +granted to copy, distribute and/or modify this document under the +terms of the GNU Free Documentation License, Version 1.1 or any later +version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts and no Back-Cover Texts. +.PP +The full text of the GNU Free Documentation License can be found in +in this package in the file \fI/usr/share/doc/dtemacs/copyright\fP. +.ig +A copy of the GNU Free Documentation License is available in the +Debian source package in the file debian/copyright. +.. --- gnuserv-3.12.7.orig/debian/emacsen-install +++ gnuserv-3.12.7/debian/emacsen-install @@ -0,0 +1,54 @@ +#! /bin/sh -e +# /usr/lib/emacsen-common/packages/install/gnuserv + +# $Id: emacsen-install,v 1.3 2004/02/16 11:23:59 benj Exp $ + +# Written by Jim Van Zandt , borrowing heavily +# from the install scripts for gettext by Santiago Vila +# and octave by Dirk Eddelbuettel . + +FLAVOR=$1 +PACKAGE=gnuserv + +if [ ${FLAVOR} = emacs ]; then exit 0; fi + +echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR} + +#FLAVORTEST=`echo $FLAVOR | cut -c-6` +#if [ ${FLAVORTEST} = xemacs ] ; then +# SITEFLAG="-no-site-file" +#else +# SITEFLAG="--no-site-file" +#fi + +# Need to load gnuserv-compat because gnuserv.el will not +# byte-compile withou it. +FLAGS="${SITEFLAG} -q -batch -l path.el -l gnuserv-compat -f batch-byte-compile" + +ELDIR=/usr/share/emacs/site-lisp/${PACKAGE} +ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE} + +# Install-info-altdir does not actually exist. +# Maybe somebody will write it. +if test -x /usr/sbin/install-info-altdir; then + echo install/${PACKAGE}: install Info links for ${FLAVOR} + install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz +fi + +install -m 755 -d ${ELCDIR} +cd ${ELDIR} +FILES=`echo *.el` +cp ${FILES} ${ELCDIR} +cd ${ELCDIR} + +cat << EOF > path.el +(setq load-path (cons "." load-path) byte-compile-warnings nil) +EOF +log=`tempfile` +${FLAVOR} ${FLAGS} ${FILES} >>${log} 2>&1 +rm -f *.el path.el +mv ${log} ${ELCDIR}/install.log +chmod 644 ${ELCDIR}/install.log +echo "Compilation log saved to ${ELCDIR}/install.log" + +exit 0 --- gnuserv-3.12.7.orig/debian/emacsen-remove +++ gnuserv-3.12.7/debian/emacsen-remove @@ -0,0 +1,17 @@ +#!/bin/sh -e +# /usr/lib/emacsen-common/packages/remove/gnuserv + +# $Id: emacsen-remove,v 1.3 2004/02/16 11:23:59 benj Exp $ + +FLAVOR=$1 +PACKAGE=gnuserv + +if [ ${FLAVOR} != emacs ]; then + if test -x /usr/sbin/install-info-altdir; then + echo remove/${PACKAGE}: removing Info links for ${FLAVOR} + install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/gnuserv.info.gz + fi + + echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} + rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} +fi --- gnuserv-3.12.7.orig/debian/emacsen-startup +++ gnuserv-3.12.7/debian/emacsen-startup @@ -0,0 +1,30 @@ +;; -*-emacs-lisp-*- +;; +;; Emacs startup file for the Debian GNU/Linux gnuserv package +;; +;; $Id: emacsen-startup,v 1.3 2004/02/16 11:23:59 benj Exp $ +;; +;; Originally contributed by Nils Naumann +;; Modified by Dirk Eddelbuettel +;; Adapted for dh-make by Jim Van Zandt + +;; The gnuserv package follows the Debian/GNU Linux 'emacsen' policy and +;; byte-compiles its elisp files for each 'emacs flavor' (emacs19, +;; xemacs19, emacs20, xemacs20...). The compiled code is then +;; installed in a subdirectory of the respective site-lisp directory. +;; We have to add this to the load-path: +(setq load-path (cons (concat "/usr/share/" + (symbol-name flavor) + "/site-lisp/gnuserv") load-path)) + +(autoload (quote gnuserv-start) "gnuserv-compat" + "Allow this Emacs process to be a server for client processes. +This starts a gnuserv communications subprocess through which +client \"editors\" (gnuclient and gnudoit) can send editing commands to +this Emacs job. See the gnuserv(1) manual page for more details. + +Prefix arg means just kill any existing server communications subprocess." + + t nil) + +(set-variable 'gnuserv-program "/usr/bin/gnuserv") --- gnuserv-3.12.7.orig/debian/postinst +++ gnuserv-3.12.7/debian/postinst @@ -0,0 +1,28 @@ +#!/bin/sh -e + +# $Id: postinst,v 1.3 2004/02/16 11:23:59 benj Exp $ + +# Borrowed from xterm postinst +trap "echo ;\ + echo 'Received signal. Aborting configuration of gnuserv package.';\ + echo ;\ + exit 1" 1 2 3 15 + +case $1 in + configure) + for i in gnuattach gnuclient gnudoit; do + update-alternatives --install /usr/bin/$i $i /usr/bin/$i.emacs 40 \ + --slave /usr/share/man/man1/$i.1.gz $i.1.gz \ + /usr/share/man/man1/$i.emacs.1.gz + done + ;; + + *) + ;; +esac + +# Clean up cruft left behind by the potato version. Kill this after +# woody is released. +rm -f /usr/share/emacs/site-lisp/gnuserv/gnuserv.elc + +#DEBHELPER# --- gnuserv-3.12.7.orig/debian/prerm +++ gnuserv-3.12.7/debian/prerm @@ -0,0 +1,15 @@ +#!/bin/sh -e + +# $Id: prerm,v 1.3 2004/02/16 11:23:59 benj Exp $ + +# Borrowed from xterm postinst +trap "echo ;\ + echo 'Received signal. Aborting configuration of gnuserv package.';\ + echo ;\ + exit 1" 1 2 3 15 + +for i in gnuattach gnuclient gnudoit; do + update-alternatives --remove $i /usr/bin/$i.emacs +done + +#DEBHELPER# --- gnuserv-3.12.7.orig/debian/rules +++ gnuserv-3.12.7/debian/rules @@ -0,0 +1,101 @@ +#!/usr/bin/make -f + +# $Id: rules,v 1.6 2004/02/16 12:05:03 benj Exp $ + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# This is the debhelper compatability version to use. +export DH_COMPAT=2 + +lispdir = $(CURDIR)/debian/gnuserv/usr/share/emacs/site-lisp/gnuserv + + +configure: configure-stamp +configure-stamp: + dh_testdir + + ./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info + + touch configure-stamp + +build: configure-stamp build-stamp +build-stamp: + dh_testdir + + $(MAKE) + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + -$(MAKE) distclean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + +# Deal with brain-damaged Makefile's treatment of manpages + mkdir -p $(CURDIR)/debian/gnuserv/usr/man/man1 + + $(MAKE) install prefix=$(CURDIR)/debian/gnuserv/usr + cp devices.el gnuserv-compat.el gnuserv.el $(lispdir) + +# Install dtemacs, small wrapper to emacs & gnuclient + install -m 755 debian/dtemacs $(CURDIR)/debian/gnuserv/usr/bin + +# Now put the manpages where they belong + mv $(CURDIR)/debian/gnuserv/usr/man/man1/* \ + $(CURDIR)/debian/gnuserv/usr/share/man/man1 + cp $(CURDIR)/debian/dtemacs.1 \ + $(CURDIR)/debian/gnuserv/usr/share/man/man1 + rm -rf $(CURDIR)/debian/gnuserv/usr/man + +# Rename the programs for update-alternatives + for i in gnuattach gnuclient gnudoit; do\ + mv $(CURDIR)/debian/gnuserv/usr/bin/$$i \ + $(CURDIR)/debian/gnuserv/usr/bin/$${i}.emacs;\ + done + +# Prepare the manpages for update-alternatives. This can't be +# done in the loop above because they're all symlinks to +# the one gnuserv manpage. + for i in gnuattach gnuclient gnudoit; do\ + rm -f $(CURDIR)/debian/gnuserv/usr/share/man/man1/$${i}.1;\ + ln -sf gnuserv.1.gz $(CURDIR)/debian/gnuserv/usr/share/man/man1/$${i}.emacs.1.gz;\ + done + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs +# dh_installexamples + dh_installemacsen --flavor=emacs21 + dh_installman + dh_installinfo + dh_installchangelogs ChangeLog + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure