From f52e465263b3ab3a9c9fda079fa4212df70cb9e1 Mon Sep 17 00:00:00 2001 From: Leonardo Robol Date: Thu, 15 Oct 2009 11:43:45 +0200 Subject: [PATCH] Aggiunta roba debian per pacchetizzare --- debian/README.Debian | 6 + debian/changelog | 19 ++ debian/compat | 1 + debian/control | 15 + debian/copyright | 44 +++ debian/cron.d.ex | 4 + debian/dirs | 2 + debian/docs | 0 debian/drprint.debhelper.log | 65 ++++ debian/drprint.default.ex | 10 + debian/drprint.doc-base.EX | 20 ++ debian/drprint.substvars | 1 + debian/drprint/DEBIAN/control | 12 + debian/drprint/DEBIAN/md5sums | 18 + debian/drprint/usr/local/bin/drprint | 27 ++ .../python2.6/dist-packages/DrPrint-0.3.egg-info | 10 + .../lib/python2.6/dist-packages/DrPrintBackend.py | 90 +++++ .../python2.6/dist-packages/DrPrintGui/Dialogs.py | 27 ++ .../python2.6/dist-packages/DrPrintGui/Input.py | 375 +++++++++++++++++++++ .../python2.6/dist-packages/DrPrintGui/MainWin.py | 178 ++++++++++ .../python2.6/dist-packages/DrPrintGui/__init__.py | 0 .../usr/local/share/applications/drprint.desktop | 11 + .../usr/local/share/drprint/drprint_gui.png | Bin 0 -> 6714 bytes debian/drprint/usr/local/share/pixmaps/drprint.png | Bin 0 -> 12425 bytes debian/drprint/usr/share/doc/drprint/README.Debian | 6 + .../usr/share/doc/drprint/changelog.Debian.gz | Bin 0 -> 333 bytes debian/drprint/usr/share/doc/drprint/copyright | 44 +++ debian/emacsen-install.ex | 45 +++ debian/emacsen-remove.ex | 15 + debian/emacsen-startup.ex | 25 ++ debian/files | 5 + debian/init.d.ex | 157 +++++++++ debian/init.d.lsb.ex | 296 ++++++++++++++++ debian/manpage.1.ex | 59 ++++ debian/manpage.sgml.ex | 154 +++++++++ debian/manpage.xml.ex | 291 ++++++++++++++++ debian/menu.ex | 2 + debian/postinst.ex | 39 +++ debian/postrm.ex | 37 ++ debian/preinst.ex | 35 ++ debian/prerm.ex | 38 +++ debian/rules | 92 +++++ debian/watch.ex | 23 ++ 43 files changed, 2298 insertions(+) create mode 100644 debian/README.Debian create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/cron.d.ex create mode 100644 debian/dirs create mode 100644 debian/docs create mode 100644 debian/drprint.debhelper.log create mode 100644 debian/drprint.default.ex create mode 100644 debian/drprint.doc-base.EX create mode 100644 debian/drprint.substvars create mode 100644 debian/drprint/DEBIAN/control create mode 100644 debian/drprint/DEBIAN/md5sums create mode 100755 debian/drprint/usr/local/bin/drprint create mode 100644 debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrint-0.3.egg-info create mode 100644 debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintBackend.py create mode 100644 debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/Dialogs.py create mode 100644 debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/Input.py create mode 100644 debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/MainWin.py create mode 100644 debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/__init__.py create mode 100644 debian/drprint/usr/local/share/applications/drprint.desktop create mode 100644 debian/drprint/usr/local/share/drprint/drprint_gui.png create mode 100644 debian/drprint/usr/local/share/pixmaps/drprint.png create mode 100644 debian/drprint/usr/share/doc/drprint/README.Debian create mode 100644 debian/drprint/usr/share/doc/drprint/changelog.Debian.gz create mode 100644 debian/drprint/usr/share/doc/drprint/copyright create mode 100644 debian/emacsen-install.ex create mode 100644 debian/emacsen-remove.ex create mode 100644 debian/emacsen-startup.ex create mode 100644 debian/files create mode 100644 debian/init.d.ex create mode 100644 debian/init.d.lsb.ex create mode 100644 debian/manpage.1.ex create mode 100644 debian/manpage.sgml.ex create mode 100644 debian/manpage.xml.ex create mode 100644 debian/menu.ex create mode 100644 debian/postinst.ex create mode 100644 debian/postrm.ex create mode 100644 debian/preinst.ex create mode 100644 debian/prerm.ex create mode 100755 debian/rules create mode 100644 debian/watch.ex diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..62c030b --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,6 @@ +drprint for Debian +------------------ + + + + -- Leonardo Robol Thu, 15 Oct 2009 10:39:41 +0200 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..2d91e43 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,19 @@ +drprint (0.6-3) karmic; urgency=low + + * Cambiato il metodo per ottenere il nome utente + + -- Leonardo Robol Thu, 15 Oct 2009 11:18:11 +0200 + +drprint (0.6-2) unstable; urgency=low + + * Modificato il file .desktop in modo che appaia anche in Accessori + + -- Leonardo Robol Thu, 15 Oct 2009 10:59:52 +0200 + +drprint (0.6-1) unstable; urgency=low + + * Initial release (Closes: #nnnn) + * Chuido il bug quando si selezionava un range di stampa + * Aggiunta l'immagine di drprint + + -- Leonardo Robol Thu, 15 Oct 2009 10:47:21 +0200 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +7 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..6b8cf49 --- /dev/null +++ b/debian/control @@ -0,0 +1,15 @@ +Source: drprint +Section: unknown +Priority: extra +Maintainer: Leonardo Robol +Build-Depends: debhelper (>= 7) +Standards-Version: 3.8.1 +Homepage: + +Package: drprint +Architecture: all +Depends: ${misc:Depends} +Description: Interfaccia GTK per stampare sulle stampanti di dm.unipi.it + Interfaccia GTK che permette di mandare in stampa file + ps e pdf sulle stampanti del dipartimento di matematica + a Pisa a patto di avere accesso SSH al server ssh.dm.unipi.it diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..c48f1c2 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,44 @@ +This package was debianized by: + + Leonardo Robol on Thu, 15 Oct 2009 10:39:41 +0200 + +It was downloaded from: + + + +Upstream Author(s): + + + + +Copyright: + + + + +License: + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +On Debian systems, the complete text of the GNU General +Public License version 3 can be found in `/usr/share/common-licenses/GPL-3'. + +The Debian packaging is: + + Copyright (C) 2009 Leonardo Robol + +and is licensed under the GPL version 3, see above. + +# Please also look if there are files or directories which have a +# different copyright/license attached and list them here. diff --git a/debian/cron.d.ex b/debian/cron.d.ex new file mode 100644 index 0000000..3bec3a4 --- /dev/null +++ b/debian/cron.d.ex @@ -0,0 +1,4 @@ +# +# Regular cron jobs for the drprint package +# +0 4 * * * root [ -x /usr/bin/drprint_maintenance ] && /usr/bin/drprint_maintenance diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..ca882bb --- /dev/null +++ b/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/sbin diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..e69de29 diff --git a/debian/drprint.debhelper.log b/debian/drprint.debhelper.log new file mode 100644 index 0000000..02a3317 --- /dev/null +++ b/debian/drprint.debhelper.log @@ -0,0 +1,65 @@ +dh_prep +dh_installdirs +dh_installchangelogs +dh_installdocs +dh_installexamples +dh_installman +dh_link +dh_compress +dh_fixperms +dh_installdeb +dh_gencontrol +dh_md5sums +dh_builddeb +dh_prep +dh_installdirs +dh_installchangelogs +dh_installdocs +dh_installexamples +dh_installman +dh_link +dh_compress +dh_fixperms +dh_installdeb +dh_gencontrol +dh_md5sums +dh_builddeb +dh_prep +dh_installdirs +dh_installchangelogs +dh_installdocs +dh_installexamples +dh_installman +dh_link +dh_compress +dh_fixperms +dh_installdeb +dh_gencontrol +dh_md5sums +dh_builddeb +dh_prep +dh_installdirs +dh_installchangelogs +dh_installdocs +dh_installexamples +dh_installman +dh_link +dh_compress +dh_fixperms +dh_installdeb +dh_gencontrol +dh_md5sums +dh_builddeb +dh_prep +dh_installdirs +dh_installchangelogs +dh_installdocs +dh_installexamples +dh_installman +dh_link +dh_compress +dh_fixperms +dh_installdeb +dh_gencontrol +dh_md5sums +dh_builddeb diff --git a/debian/drprint.default.ex b/debian/drprint.default.ex new file mode 100644 index 0000000..368eb66 --- /dev/null +++ b/debian/drprint.default.ex @@ -0,0 +1,10 @@ +# Defaults for drprint initscript +# sourced by /etc/init.d/drprint +# installed at /etc/default/drprint by the maintainer scripts + +# +# This is a POSIX shell fragment +# + +# Additional options that are passed to the Daemon. +DAEMON_OPTS="" diff --git a/debian/drprint.doc-base.EX b/debian/drprint.doc-base.EX new file mode 100644 index 0000000..9987381 --- /dev/null +++ b/debian/drprint.doc-base.EX @@ -0,0 +1,20 @@ +Document: drprint +Title: Debian drprint Manual +Author: +Abstract: This manual describes what drprint is + and how it can be used to + manage online manuals on Debian systems. +Section: unknown + +Format: debiandoc-sgml +Files: /usr/share/doc/drprint/drprint.sgml.gz + +Format: postscript +Files: /usr/share/doc/drprint/drprint.ps.gz + +Format: text +Files: /usr/share/doc/drprint/drprint.text.gz + +Format: HTML +Index: /usr/share/doc/drprint/html/index.html +Files: /usr/share/doc/drprint/html/*.html diff --git a/debian/drprint.substvars b/debian/drprint.substvars new file mode 100644 index 0000000..abd3ebe --- /dev/null +++ b/debian/drprint.substvars @@ -0,0 +1 @@ +misc:Depends= diff --git a/debian/drprint/DEBIAN/control b/debian/drprint/DEBIAN/control new file mode 100644 index 0000000..12daf37 --- /dev/null +++ b/debian/drprint/DEBIAN/control @@ -0,0 +1,12 @@ +Package: drprint +Version: 0.6-3 +Architecture: all +Maintainer: Leonardo Robol +Installed-Size: 184 +Section: unknown +Priority: extra +Homepage: +Description: Interfaccia GTK per stampare sulle stampanti di dm.unipi.it + Interfaccia GTK che permette di mandare in stampa file + ps e pdf sulle stampanti del dipartimento di matematica + a Pisa a patto di avere accesso SSH al server ssh.dm.unipi.it diff --git a/debian/drprint/DEBIAN/md5sums b/debian/drprint/DEBIAN/md5sums new file mode 100644 index 0000000..91e75c9 --- /dev/null +++ b/debian/drprint/DEBIAN/md5sums @@ -0,0 +1,18 @@ +210b7fdd83ad02e6844ca947e51b5b65 usr/share/doc/drprint/copyright +26c7ce37223627121a25054233df4b6b usr/share/doc/drprint/changelog.Debian.gz +fe6673b9521294403f77f7aa80e76e62 usr/share/doc/drprint/README.Debian +f7aa3012efd5b01be9c79d0639ec1350 usr/local/bin/drprint +ba8997cac5fea103ebd9d94ea8f3ca98 usr/local/lib/python2.6/dist-packages/DrPrintGui/Dialogs.py +2baa975a03736b1864533548e3ec92b5 usr/local/lib/python2.6/dist-packages/DrPrintGui/Input.py +bbabfe3bc2e2918a8fa6867b0b210ed1 usr/local/lib/python2.6/dist-packages/DrPrintGui/MainWin.py +ef21f631795819b8494c14938a3ab45e usr/local/lib/python2.6/dist-packages/DrPrintGui/Dialogs.pyc +d41d8cd98f00b204e9800998ecf8427e usr/local/lib/python2.6/dist-packages/DrPrintGui/__init__.py +30705d4ecde4b4de1f16a7ed9d30295c usr/local/lib/python2.6/dist-packages/DrPrintGui/__init__.pyc +371ce2b4d07ffed97380bbaada7f7a90 usr/local/lib/python2.6/dist-packages/DrPrintGui/MainWin.pyc +d01fa8ab27243b43006e416b8800e72f usr/local/lib/python2.6/dist-packages/DrPrintGui/Input.pyc +6e95598efbfcd3cedb2df0d55083d28e usr/local/lib/python2.6/dist-packages/DrPrintBackend.pyc +d017a23432b720ea110a28f498d2673a usr/local/lib/python2.6/dist-packages/DrPrintBackend.py +67ff218ed969602f5df1cc016298c2ad usr/local/lib/python2.6/dist-packages/DrPrint-0.3.egg-info +e7cd4902a940e3e4ddd25545ef6a34be usr/local/share/applications/drprint.desktop +267aed785f5614bab9a43ed7dfcb96bd usr/local/share/pixmaps/drprint.png +b4149fabeb9884087e0730bca5cb5073 usr/local/share/drprint/drprint_gui.png diff --git a/debian/drprint/usr/local/bin/drprint b/debian/drprint/usr/local/bin/drprint new file mode 100755 index 0000000..ce877e4 --- /dev/null +++ b/debian/drprint/usr/local/bin/drprint @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +import gtk, pygtk +from DrPrintGui.MainWin import MainWin +from DrPrintBackend import Backend + +if __name__ == "__main__": + + + ## Load the Backend that will perform + ## all the hard work without being seen + ## by the end user. That is -- the sad + ## story of every backend. + backend = Backend() + + ## ...and then the main win! The one + ## that will try to attract end user + ## with her .. ( find a good word ) + ## P.S.: We give her a backend, without + ## it she will be useless. + mw = MainWin(backend) + + ## Show all :) + mw.show() + + ## ..and let's go! + gtk.main() diff --git a/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrint-0.3.egg-info b/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrint-0.3.egg-info new file mode 100644 index 0000000..81bb9ff --- /dev/null +++ b/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrint-0.3.egg-info @@ -0,0 +1,10 @@ +Metadata-Version: 1.0 +Name: DrPrint +Version: 0.3 +Summary: UNKNOWN +Home-page: http://www.robol.it/~leonardo/ +Author: Leonardo Robol +Author-email: leo@robol.it +License: GPL +Description: UNKNOWN +Platform: UNKNOWN diff --git a/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintBackend.py b/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintBackend.py new file mode 100644 index 0000000..190f5f2 --- /dev/null +++ b/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintBackend.py @@ -0,0 +1,90 @@ +## Some useful function to help DrPrint to +# -*- coding: utf-8 -*- + +import paramiko, gobject + +class Backend(gobject.GObject): + + def __init__(self): + super(Backend, self).__init__() + + gobject.signal_new("auth_failed", Backend, gobject.SIGNAL_RUN_FIRST, None, ()) + gobject.signal_new('io_error', Backend, gobject.SIGNAL_RUN_FIRST, None, ()) + + def send_print(self, printer, username, password, page_per_page, filename, page_range, copies, orientation, sides): + # Get printer name + print "Selected printer: %s" % printer + + # Get connection + client = paramiko.SSHClient() + client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + + try: + client.connect('ssh.dm.unipi.it', + port=22, + username=username, + password=password) + except paramiko.AuthenticationException, e: + self.emit('auth_failed') + return + + channel = client.get_transport().open_session() + + print "Printing %s" % filename + + try: + f = open(filename, 'r') + except IOError: + self.emit('io_error') + return + + # Questo è inevitabile.. :) + cmd = "lpr -P%s " % printer + + # Nunmero di pagine + if copies.isdigit(): + cmd = cmd + "-# %s " % copies + + + cmd_opts = "" + + ## Pagine logiche per pagine + if not page_per_page == 1: + cmd_opts += "-o number-up=%s " % str(page_per_page) + + ## Da a + if not page_range == None: + cmd_opts += "-o page-ranges=%s " % page_range + + ## Orientazione (se è vuoto è verticale) + if not orientation == "": + cmd_opts += "-o %s " % orientation + + ## Long edge, short edge ed amici vari + cmd_opts += "-o sides=%s " % sides + + ## Se ci sono opzioni dai il -o e specificale + if not cmd_opts == "": + cmd = cmd + "%s" % cmd_opts + + + ## Diamo il comando sul canale e infiliamo il file + ## dentro lo stdin :) + print "Eseguo %s" % cmd + + channel.exec_command(cmd) + try: + content = f.read() + except IOError: + self.emit('io_error') + return + + try: + channel.sendall( content ) + except socket.timeout, socket.error: + self.emit('io_error') + return + f.close() + channel.close() + + print "Printed %s on %s" % (filename, printer) diff --git a/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/Dialogs.py b/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/Dialogs.py new file mode 100644 index 0000000..9a632c9 --- /dev/null +++ b/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/Dialogs.py @@ -0,0 +1,27 @@ +import gtk, pygtk + +class Dialog(gtk.Dialog): + + def __init__(self, title=None, buttons=None, text=None): + + gtk.Dialog.__init__(self, title, + None, + 0, + buttons) + + + +class ErrorDialog(Dialog): + + def __init__(self, error, message): + + Dialog.__init__(self, "Errore: %s" % error, + buttons = (gtk.STOCK_OK, gtk.RESPONSE_OK) + ) + + label = gtk.Label() + label.set_markup(message) + self.get_content_area().pack_start( label , False, False, 15 ) + label.show() + + diff --git a/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/Input.py b/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/Input.py new file mode 100644 index 0000000..b008115 --- /dev/null +++ b/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/Input.py @@ -0,0 +1,375 @@ +## This library provides User Input fields + +import gtk, pygtk, gobject, os + +class LeftAlignedLabel(gtk.Alignment): + + def __init__(self, markup, left_padding=0): + + gtk.Alignment.__init__(self, 0,0.5,0,0) + + label = gtk.Label() + label.set_markup(markup) + plw = PaddingLeftWidget(label, left_padding) + + self.add(plw) + plw.show() + +class PaddingLeftWidget(gtk.Table): + + def __init__(self, widget, padding_left): + + gtk.Table.__init__(self, 1, 2, False) + label = gtk.Label() + self.set_col_spacing(0, padding_left) + self.attach(label, 0,1,0,1, False, False) + self.attach(widget, 1,2,0,1, False, False) + + label.show() + widget.show() + + +class UsernameField(gtk.Entry): + + def __init__(self, parent=None): + + gtk.Entry.__init__(self) + + self.set_text( os.getenv("USER") ) + + +class PasswordField(gtk.Entry): + + def __init__(self, parent=None): + + gtk.Entry.__init__(self) + + self.set_text ("Password") + self.set_visibility(False) + +class AuthBlock(gtk.HBox): + + def __init__(self, default_spacing=5, left_padding=0): + + gtk.HBox.__init__(self) + + self.user_field = UsernameField() + self.password_field = PasswordField() + + vbox1 = gtk.VBox() + vbox2 = gtk.VBox() + + label = LeftAlignedLabel("Utente", 20) + vbox1.pack_start( label ) + label.show() + + label = LeftAlignedLabel("Password", 20) + vbox1.pack_start( label ) + label.show() + + vbox2.pack_start(self.user_field) + vbox2.pack_start(self.password_field) + + self.user_field.show() + self.password_field.show() + + self.pack_start(vbox1) + self.pack_start(vbox2) + + vbox1.show() + vbox2.show() + + def get_username(self): + return self.user_field.get_text() + + def get_password(self): + return self.password_field.get_text() + +class PrintButton(gtk.Button): + + def __init__(self, parent=None): + + gtk.Button.__init__(self, "Stampa") + + +class SelectFileWidget(gtk.HBox): + + def __init__(self): + gtk.HBox.__init__(self) + self.set_spacing (5) + + self.Filename = gtk.Entry() + self.Browser = gtk.Button("Sfoglia") + + self.Filename.set_tooltip_text("Se hai bisogno di stampare \ +da un programma clicca File -> Stampa -> Stampa su file e crea un \ +file .ps da selezionare qui") + + self.Browser.connect('clicked', self.SelectFile) + + self.pack_start(self.Filename, 1) + self.pack_start(self.Browser, 1) + self.Filename.show() + self.Browser.show() + + def SelectFile(self, window): + + chooser = gtk.FileChooserDialog( + title = "Seleziona file da stampare", + parent = None, + action=gtk.FILE_CHOOSER_ACTION_OPEN, + buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK) ) + if chooser.run() == gtk.RESPONSE_OK: + self.Filename.set_text(chooser.get_filename()) + + chooser.destroy() + + def GetFile(self): + return self.Filename.get_text() + + +class PrinterComboBox(gtk.HBox): + + def __init__(self): + + gtk.HBox.__init__(self) + self.combobox = gtk.combo_box_new_text() + self.combobox.append_text("cdc7") + self.combobox.append_text("cdcpt") + self.combobox.append_text("cdc8") + self.combobox.append_text("cdc4") + self.combobox.append_text("cdc9") + + self.combobox.set_active(1) + + self.pack_start( self.combobox ) + self.combobox.show() + + def get_printer(self): + return self.combobox.get_active_text() + + +class PagePerPageComboBox(gtk.HBox): + + def __init__(self): + gtk.HBox.__init__(self) + self.combobox = gtk.combo_box_new_text() + self.combobox.append_text("1") + self.combobox.append_text("2") + self.combobox.append_text("4") + + self.combobox.set_active(0) + + self.pack_start( self.combobox ) + self.combobox.show() + + def get_page_per_page(self): + return self.combobox.get_active_text() + +class PrinterSettingsBlock(gtk.HBox): + + def __init__(self, default_spacing = 5, left_padding=0): + + gtk.HBox.__init__(self) + + vbox1 = gtk.VBox(False, default_spacing) + vbox2 = gtk.VBox(False, default_spacing) + + self.set_spacing(default_spacing) + + label = LeftAlignedLabel("Stampante", 20) + vbox1.pack_start(label) + label.show() + + self.printer_chooser = PrinterComboBox() + vbox2.pack_start( self.printer_chooser ) + self.printer_chooser.show() + + label = LeftAlignedLabel("File", 20) + vbox1.pack_start( label ) + label.show() + + self.select_file_widget = SelectFileWidget() + vbox2.pack_start (self.select_file_widget) + self.select_file_widget.show() + + label = LeftAlignedLabel("Pagine per foglio", 20) + vbox1.pack_start(label) + label.show() + + self.page_per_page = PagePerPageComboBox() + vbox2.pack_start(self.page_per_page) + self.page_per_page.show() + + label = LeftAlignedLabel("Numero di copie", 20) + vbox1.pack_start(label) + label.show() + + self.copies = CopiesField() + vbox2.pack_start(self.copies) + self.copies.show() + + self.pack_start(vbox1) + self.pack_start(vbox2) + + vbox1.show() + vbox2.show() + + def get_filename(self): + return self.select_file_widget.GetFile() + + def get_printer(self): + return self.printer_chooser.get_printer() + + def get_page_per_page(self): + return self.page_per_page.get_page_per_page() + + def get_copies(self): + return self.copies.get_copies() + + + +class PageRangeBlock(gtk.VBox): + + def __init__(self): + + gtk.VBox.__init__(self) + + self.check_button = gtk.CheckButton("Stampa solo una parte del documento", + True) + + self.check_button.set_active(False) + + self.check_button.connect('clicked', self.check_button_callback) + + self.pack_start(self.check_button) + self.check_button.show() + + self.hbox = gtk.HBox() + + self.range_field = gtk.Entry() + self.range_field.set_tooltip_text("Indicare pagine e/o intervalli separati da virgole, ad esempio \"1,3-10,12,13,15-17\"") + + label = LeftAlignedLabel("Range di pagine", 20) + self.hbox.pack_start(label) + self.hbox.pack_start(self.range_field) + label.show() + + self.pack_start(self.hbox) + + self.range_field.show() + + self.hbox.show() + self.hbox.set_spacing( 5 ) + self.hbox.set_sensitive(False) + + def check_button_callback(self, obj): + + if self.check_button.get_active() == False: + self.hbox.set_sensitive(False) + else: + self.hbox.set_sensitive(True) + + def get_page_range(self): + + if self.check_button.get_active() == False: + return None + + return self.range_field.get_text() + + +class CopiesField(gtk.SpinButton): + + def __init__(self): + + gtk.SpinButton.__init__(self) + self.set_digits(0) + self.set_increments(1,10) + self.set_range(0,999) + self.set_value(1) + + def get_copies(self): + return str(self.get_value()) + + + +class OrientationSelect(gtk.HBox): + + def __init__(self): + + gtk.HBox.__init__(self) + + # Un etichetta per capire a cosa servono questi radio button + label = LeftAlignedLabel("Orientamento", 20) + self.pack_start( label ) + label.show() + + # I radio button :) + self.landscape = gtk.RadioButton(None, + "Orizzontale", + True) + + self.portrait = gtk.RadioButton(self.landscape, + "Verticale", + True) + self.pack_start(self.landscape) + self.pack_start(self.portrait) + + self.landscape.show () + self.portrait.show () + + self.portrait.set_active(True) + + def get_orientation(self): + + if self.landscape.get_active(): + return "landscape" + + if self.portrait.get_active(): + return "" + + ## Questo non dovrebbe succedere + return None + +class SidesSelect(gtk.VBox): + + def __init__(self): + + gtk.VBox.__init__(self) + + self.one_sided = gtk.RadioButton(None, + "Solo fronte", + True) + self.two_sided_short_edge = gtk.RadioButton(self.one_sided, + "Fronte retro sul lato corto", + True) + self.two_sided_long_edge = gtk.RadioButton(self.one_sided, + "Fronte retro sul lato lungo", + True) + + for widget in (self.one_sided, + self.two_sided_short_edge, + self.two_sided_long_edge) : + a = PaddingLeftWidget(widget, 20) + self.pack_start(a) + a.show() + + self.two_sided_long_edge.set_active(True) + + def get_sides_select(self): + + if( self.one_sided.get_active() ): + return "one-sided" + + if( self.two_sided_short_edge.get_active() ): + return "two-sided-short-edge" + + if( self.two_sided_long_edge.get_active() ): + return "two-sided-long-edge" + + + + + + + diff --git a/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/MainWin.py b/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/MainWin.py new file mode 100644 index 0000000..2993a05 --- /dev/null +++ b/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/MainWin.py @@ -0,0 +1,178 @@ +## This library is part of DrPrintGui +# -*- coding: utf-8 -*- +## This file provide the MainWin object, +## that is the main window of the DrPrint +## application + + +__author__ = 'Leonardo Robol ' + +import gtk, pygtk +import os +import sys + +from Input import AuthBlock, PrinterSettingsBlock, PrintButton, LeftAlignedLabel, PageRangeBlock, OrientationSelect, SidesSelect +from Dialogs import ErrorDialog + +class MainWin(gtk.Window): + """MainWin object for DrPrint""" + + def __init__(self, backend=None): + + self.backend = backend + + gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) + + self.set_title = "DrPrint 0.2" + self.set_border_width(10) + + self.default_spacing = 5 + + self.connect('destroy' , gtk.main_quit) + + self.build() + + self.connect_all() + + def build(self): + """This function builds up the interface using pieces + from DrPrintGui""" + + # The main Layout VBox + layout_box = gtk.VBox() + layout_box.set_spacing( self.default_spacing ) + + # Inseriamo l'immagine di Dr Print + image_file = "/usr/share/drprint/drprint_gui.png" + try: + os.stat(image_file) + except OSError: + image_file = "/usr/local/share/drprint/drprint_gui.png" + try: + os.stat(image_file) + except OSError: + image_file = "drprint_gui.png" + drprint_img = gtk.image_new_from_file(image_file) + + # Qualche istruzinoe preliminare + label = gtk.Label() + label.set_markup("Come usare questo programma:\n\ +1) Inserire nome utente e password \n2) Scegliere il file da stampare e la\ + stampante \n3) Premere il tasto stampa") + + hbox = gtk.HBox(); + hbox.show() + hbox.set_spacing(self.default_spacing) + + hbox.pack_start(drprint_img) + drprint_img.show() + + hbox.pack_start( label ) + label.show() + + layout_box.pack_start(hbox, 20) + + label = LeftAlignedLabel("Autenticazione (sui computer dell'Aula 4)") + layout_box.pack_start( label ) + label.show() + + self.auth_block = AuthBlock(self.default_spacing, 10) + layout_box.pack_start ( self.auth_block ) + self.auth_block.show() + + # The PDF file loading and print settings + label = LeftAlignedLabel("Configurazione stampante") + layout_box.pack_start(label) + label.show() + + self.printer_settings_block = PrinterSettingsBlock(self.default_spacing) + layout_box.pack_start(self.printer_settings_block) + self.printer_settings_block.show() + + self.orientation_select = OrientationSelect() + layout_box.pack_start(self.orientation_select) + self.orientation_select.show() + + label = LeftAlignedLabel("Configurazione Avanzata") + layout_box.pack_start(label) + label.show() + + self.page_range_block = PageRangeBlock() + layout_box.pack_start(self.page_range_block) + self.page_range_block.show() + + label = LeftAlignedLabel( "Fronte retro" ) + layout_box.pack_start(label) + label.show() + + self.sides_select = SidesSelect() + layout_box.pack_start(self.sides_select) + self.sides_select.show() + + self.print_button = PrintButton() + layout_box.pack_start(self.print_button) + self.print_button.show() + + + self.add (layout_box) + layout_box.show() + + + def connect_all(self): + self.print_button.connect('clicked', self.print_button_clicked_callback) + self.backend.connect('auth_failed', self.auth_failed_callback) + self.backend.connect('io_error', self.io_error_callback) + + def print_button_clicked_callback(self, widget): + if not self.backend == None: + printer = self.printer_settings_block.get_printer() + username = self.auth_block.get_username() + password = self.auth_block.get_password() + filename = self.printer_settings_block.get_filename() + page_per_page = self.printer_settings_block.get_page_per_page() + page_range = self.page_range_block.get_page_range() + copies = self.printer_settings_block.get_copies() + orientation = self.orientation_select.get_orientation() + sides = self.sides_select.get_sides_select() + + self.backend.send_print(printer = printer, + username = username, + password = password, + filename = filename, + page_per_page = page_per_page, + page_range = page_range, + copies = copies, + orientation=orientation, + sides = sides) + else: + self.debug( "Sembra che non ci sia un backend attaccato\ + a questa interfaccia, quindi non faccio nulla") + + def auth_failed_callback(self, obj): + """Questa funzione gestisce l'eventualità che utente + e password siano errati""" + self.debug("Autenticazione fallita") + dialog = ErrorDialog("Autenticazione Fallita", + "Autenticazione Fallita\nLo username e la password forniti non sono\n\ +corretti. L'autenticazione su ssh.dm.unipi.it\nnon è andata a buon fine.") + dialog.run() + dialog.destroy() + + def io_error_callback(self, obj): + + self.debug("Errore di I/O") + dialog = ErrorDialog("Errore di I/O", + "Errore di I/O\n\ +C'è stato un errore nella lettura o nella\n \ +trasmissione del file.") + + dialog.run() + dialog.destroy() + + + + def debug(self, text): + print text + + + diff --git a/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/__init__.py b/debian/drprint/usr/local/lib/python2.6/dist-packages/DrPrintGui/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/debian/drprint/usr/local/share/applications/drprint.desktop b/debian/drprint/usr/local/share/applications/drprint.desktop new file mode 100644 index 0000000..7cd2777 --- /dev/null +++ b/debian/drprint/usr/local/share/applications/drprint.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=DrPrint +Comment[it]=Stampa sulle stampanti della rete dm.unipi.it +Comment[en]= Print using dm.unipi.it network printers +Exec=drprint +Terminal=false +Type=Application +StartupNotify=false +Categories=GNOME;Utility +Icon=drprint diff --git a/debian/drprint/usr/local/share/drprint/drprint_gui.png b/debian/drprint/usr/local/share/drprint/drprint_gui.png new file mode 100644 index 0000000000000000000000000000000000000000..308bead01ea72d924ee48989e5c69bb8a5876a18 GIT binary patch literal 6714 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 Qy8r+H07*qoM6N<$g0$xFlK=n! literal 0 HcmV?d00001 diff --git a/debian/drprint/usr/local/share/pixmaps/drprint.png b/debian/drprint/usr/local/share/pixmaps/drprint.png new file mode 100644 index 0000000000000000000000000000000000000000..e30589e4365b5640993373d4ec421876f330f878 GIT binary patch literal 12425 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 + + -- Leonardo Robol Thu, 15 Oct 2009 10:39:41 +0200 diff --git a/debian/drprint/usr/share/doc/drprint/changelog.Debian.gz b/debian/drprint/usr/share/doc/drprint/changelog.Debian.gz new file mode 100644 index 0000000000000000000000000000000000000000..c4278a7df21259609b4ff32cf64ab91bfe8f3ad1 GIT binary patch literal 333 zcmV-T0kZxdiwFP!000021ErD4PQySDMDO{Ek~lzsAlncYvk1f~5(tFy18q;oX)%kL z1r)xXaR?Fz!~y0qs-Ei6t8V3cFE(PQI5?ghj`2+1NPCXtJGSlWQoFa&2-w9fnMNo& zh=$?llta%RE=IQOc_>?F7%A(>xo0xL9Xm@tJD*(RG%oZ;Un_2!)fF&brhSxCJhTy2 zQJkSH>+-ZNOY9X{k4EY{UNuItAyT9H2f%x$WFhSaaUq&IMmp(`HX>!;f4gn4BMm* zHkoD^`vNPMJZAI9tIzc;lc;s_!S#~JW)%b>|NJgF!YgGEc(NTs<$5I3)4KJh>m=Do f(A#1Rbz;|!O^km`<>;iYzBc&*n+$jhXaWELi0qhe literal 0 HcmV?d00001 diff --git a/debian/drprint/usr/share/doc/drprint/copyright b/debian/drprint/usr/share/doc/drprint/copyright new file mode 100644 index 0000000..c48f1c2 --- /dev/null +++ b/debian/drprint/usr/share/doc/drprint/copyright @@ -0,0 +1,44 @@ +This package was debianized by: + + Leonardo Robol on Thu, 15 Oct 2009 10:39:41 +0200 + +It was downloaded from: + + + +Upstream Author(s): + + + + +Copyright: + + + + +License: + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +On Debian systems, the complete text of the GNU General +Public License version 3 can be found in `/usr/share/common-licenses/GPL-3'. + +The Debian packaging is: + + Copyright (C) 2009 Leonardo Robol + +and is licensed under the GPL version 3, see above. + +# Please also look if there are files or directories which have a +# different copyright/license attached and list them here. diff --git a/debian/emacsen-install.ex b/debian/emacsen-install.ex new file mode 100644 index 0000000..88fda77 --- /dev/null +++ b/debian/emacsen-install.ex @@ -0,0 +1,45 @@ +#! /bin/sh -e +# /usr/lib/emacsen-common/packages/install/drprint + +# Written by Jim Van Zandt , borrowing heavily +# from the install scripts for gettext by Santiago Vila +# and octave by Dirk Eddelbuettel . + +FLAVOR=$1 +PACKAGE=drprint + +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 +FLAGS="${SITEFLAG} -q -batch -l path.el -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/share/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 +${FLAVOR} ${FLAGS} ${FILES} +rm -f *.el path.el + +exit 0 diff --git a/debian/emacsen-remove.ex b/debian/emacsen-remove.ex new file mode 100644 index 0000000..0fb6690 --- /dev/null +++ b/debian/emacsen-remove.ex @@ -0,0 +1,15 @@ +#!/bin/sh -e +# /usr/lib/emacsen-common/packages/remove/drprint + +FLAVOR=$1 +PACKAGE=drprint + +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/share/info/drprint.info.gz + fi + + echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} + rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} +fi diff --git a/debian/emacsen-startup.ex b/debian/emacsen-startup.ex new file mode 100644 index 0000000..8c80ca6 --- /dev/null +++ b/debian/emacsen-startup.ex @@ -0,0 +1,25 @@ +;; -*-emacs-lisp-*- +;; +;; Emacs startup file, e.g. /etc/emacs/site-start.d/50drprint.el +;; for the Debian drprint package +;; +;; Originally contributed by Nils Naumann +;; Modified by Dirk Eddelbuettel +;; Adapted for dh-make by Jim Van Zandt + +;; The drprint 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: +(let ((package-dir (concat "/usr/share/" + (symbol-name flavor) + "/site-lisp/drprint"))) +;; If package-dir does not exist, the drprint package must have +;; removed but not purged, and we should skip the setup. + (when (file-directory-p package-dir) + (setq load-path (cons package-dir load-path)) + (autoload 'drprint-mode "drprint-mode" + "Major mode for editing drprint files." t) + (add-to-list 'auto-mode-alist '("\\.drprint$" . drprint-mode)))) + diff --git a/debian/files b/debian/files new file mode 100644 index 0000000..3910bcd --- /dev/null +++ b/debian/files @@ -0,0 +1,5 @@ +drprint_0.6-1_all.deb unknown extra +drprint_0.6-2_all.deb unknown extra +drprint_0.6-2_all.deb unknown extra +drprint_0.6-2_all.deb unknown extra +drprint_0.6-3_all.deb unknown extra diff --git a/debian/init.d.ex b/debian/init.d.ex new file mode 100644 index 0000000..da3e8f8 --- /dev/null +++ b/debian/init.d.ex @@ -0,0 +1,157 @@ +#! /bin/sh +# +# skeleton example file to build /etc/init.d/ scripts. +# This file should be used to construct scripts for /etc/init.d. +# +# Written by Miquel van Smoorenburg . +# Modified for Debian +# by Ian Murdock . +# Further changes by Javier Fernandez-Sanguino +# +# Version: @(#)skeleton 1.9 26-Feb-2001 miquels@cistron.nl +# + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/drprint +NAME=drprint +DESC=drprint + +test -x $DAEMON || exit 0 + +LOGDIR=/var/log/drprint +PIDFILE=/var/run/$NAME.pid +DODTIME=1 # Time to wait for the server to die, in seconds + # If this value is set too low you might not + # let some servers to die gracefully and + # 'restart' will not work + +# Include drprint defaults if available +if [ -f /etc/default/drprint ] ; then + . /etc/default/drprint +fi + +set -e + +running_pid() +{ + # Check if a given process pid's cmdline matches a given name + pid=$1 + name=$2 + [ -z "$pid" ] && return 1 + [ ! -d /proc/$pid ] && return 1 + cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1` + # Is this the expected child? + [ "$cmd" != "$name" ] && return 1 + return 0 +} + +running() +{ +# Check if the process is running looking at /proc +# (works for all users) + + # No pidfile, probably no daemon present + [ ! -f "$PIDFILE" ] && return 1 + # Obtain the pid and check it against the binary name + pid=`cat $PIDFILE` + running_pid $pid $DAEMON || return 1 + return 0 +} + +force_stop() { +# Forcefully kill the process + [ ! -f "$PIDFILE" ] && return + if running ; then + kill -15 $pid + # Is it really dead? + [ -n "$DODTIME" ] && sleep "$DODTIME"s + if running ; then + kill -9 $pid + [ -n "$DODTIME" ] && sleep "$DODTIME"s + if running ; then + echo "Cannot kill $LABEL (pid=$pid)!" + exit 1 + fi + fi + fi + rm -f $PIDFILE + return 0 +} + +case "$1" in + start) + echo -n "Starting $DESC: " + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- $DAEMON_OPTS + if running ; then + echo "$NAME." + else + echo " ERROR." + fi + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --exec $DAEMON + echo "$NAME." + ;; + force-stop) + echo -n "Forcefully stopping $DESC: " + force_stop + if ! running ; then + echo "$NAME." + else + echo " ERROR." + fi + ;; + #reload) + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + # echo "Reloading $DESC configuration files." + # start-stop-daemon --stop --signal 1 --quiet --pidfile \ + # /var/run/$NAME.pid --exec $DAEMON + #;; + force-reload) + # + # If the "reload" option is implemented, move the "force-reload" + # option to the "reload" entry above. If not, "force-reload" is + # just the same as "restart" except that it does nothing if the + # daemon isn't already running. + # check wether $DAEMON is running. If so, restart + start-stop-daemon --stop --test --quiet --pidfile \ + /var/run/$NAME.pid --exec $DAEMON \ + && $0 restart \ + || exit 0 + ;; + restart) + echo -n "Restarting $DESC: " + start-stop-daemon --stop --quiet --pidfile \ + /var/run/$NAME.pid --exec $DAEMON + [ -n "$DODTIME" ] && sleep $DODTIME + start-stop-daemon --start --quiet --pidfile \ + /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS + echo "$NAME." + ;; + status) + echo -n "$LABEL is " + if running ; then + echo "running" + else + echo " not running." + exit 1 + fi + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload|status|force-stop}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/init.d.lsb.ex b/debian/init.d.lsb.ex new file mode 100644 index 0000000..ee19fff --- /dev/null +++ b/debian/init.d.lsb.ex @@ -0,0 +1,296 @@ +#!/bin/sh +# +# Example init.d script with LSB support. +# +# Please read this init.d carefully and modify the sections to +# adjust it to the program you want to run. +# +# Copyright (c) 2007 Javier Fernandez-Sanguino +# +# This is free software; you may redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, +# or (at your option) any later version. +# +# This is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License with +# the Debian operating system, in /usr/share/common-licenses/GPL; if +# not, write to the Free Software Foundation, Inc., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA +# +### BEGIN INIT INFO +# Provides: drprint +# Required-Start: $network $local_fs +# Required-Stop: +# Should-Start: $named +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: +# Description: +# <...> +# <...> +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +DAEMON=/usr/sbin/drprint # Introduce the server's location here +NAME=#PACKAGE # Introduce the short server's name here +DESC=#PACKAGE # Introduce a short description here +LOGDIR=/var/log/drprint # Log directory to use + +PIDFILE=/var/run/$NAME.pid + +test -x $DAEMON || exit 0 + +. /lib/lsb/init-functions + +# Default options, these can be overriden by the information +# at /etc/default/$NAME +DAEMON_OPTS="" # Additional options given to the server + +DIETIME=10 # Time to wait for the server to die, in seconds + # If this value is set too low you might not + # let some servers to die gracefully and + # 'restart' will not work + +#STARTTIME=2 # Time to wait for the server to start, in seconds + # If this value is set each time the server is + # started (on start or restart) the script will + # stall to try to determine if it is running + # If it is not set and the server takes time + # to setup a pid file the log message might + # be a false positive (says it did not start + # when it actually did) + +LOGFILE=$LOGDIR/$NAME.log # Server logfile +#DAEMONUSER=drprint # Users to run the daemons as. If this value + # is set start-stop-daemon will chuid the server + +# Include defaults if available +if [ -f /etc/default/$NAME ] ; then + . /etc/default/$NAME +fi + +# Use this if you want the user to explicitly set 'RUN' in +# /etc/default/ +#if [ "x$RUN" != "xyes" ] ; then +# log_failure_msg "$NAME disabled, please adjust the configuration to your needs " +# log_failure_msg "and then set RUN to 'yes' in /etc/default/$NAME to enable it." +# exit 1 +#fi + +# Check that the user exists (if we set a user) +# Does the user exist? +if [ -n "$DAEMONUSER" ] ; then + if getent passwd | grep -q "^$DAEMONUSER:"; then + # Obtain the uid and gid + DAEMONUID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $3}'` + DAEMONGID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $4}'` + else + log_failure_msg "The user $DAEMONUSER, required to run $NAME does not exist." + exit 1 + fi +fi + + +set -e + +running_pid() { +# Check if a given process pid's cmdline matches a given name + pid=$1 + name=$2 + [ -z "$pid" ] && return 1 + [ ! -d /proc/$pid ] && return 1 + cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1` + # Is this the expected server + [ "$cmd" != "$name" ] && return 1 + return 0 +} + +running() { +# Check if the process is running looking at /proc +# (works for all users) + + # No pidfile, probably no daemon present + [ ! -f "$PIDFILE" ] && return 1 + pid=`cat $PIDFILE` + running_pid $pid $DAEMON || return 1 + return 0 +} + +start_server() { +# Start the process using the wrapper + if [ -z "$DAEMONUSER" ] ; then + start_daemon -p $PIDFILE $DAEMON $DAEMON_OPTS + errcode=$? + else +# if we are using a daemonuser then change the user id + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --chuid $DAEMONUSER \ + --exec $DAEMON -- $DAEMON_OPTS + errcode=$? + fi + return $errcode +} + +stop_server() { +# Stop the process using the wrapper + if [ -z "$DAEMONUSER" ] ; then + killproc -p $PIDFILE $DAEMON + errcode=$? + else +# if we are using a daemonuser then look for process that match + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --user $DAEMONUSER \ + --exec $DAEMON + errcode=$? + fi + + return $errcode +} + +reload_server() { + [ ! -f "$PIDFILE" ] && return 1 + pid=pidofproc $PIDFILE # This is the daemon's pid + # Send a SIGHUP + kill -1 $pid + return $? +} + +force_stop() { +# Force the process to die killing it manually + [ ! -e "$PIDFILE" ] && return + if running ; then + kill -15 $pid + # Is it really dead? + sleep "$DIETIME"s + if running ; then + kill -9 $pid + sleep "$DIETIME"s + if running ; then + echo "Cannot kill $NAME (pid=$pid)!" + exit 1 + fi + fi + fi + rm -f $PIDFILE +} + + +case "$1" in + start) + log_daemon_msg "Starting $DESC " "$NAME" + # Check if it's running first + if running ; then + log_progress_msg "apparently already running" + log_end_msg 0 + exit 0 + fi + if start_server ; then + # NOTE: Some servers might die some time after they start, + # this code will detect this issue if STARTTIME is set + # to a reasonable value + [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time + if running ; then + # It's ok, the server started and is running + log_end_msg 0 + else + # It is not running after we did start + log_end_msg 1 + fi + else + # Either we could not start it + log_end_msg 1 + fi + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + if running ; then + # Only stop the server if we see it running + errcode=0 + stop_server || errcode=$? + log_end_msg $errcode + else + # If it's not running don't do anything + log_progress_msg "apparently not running" + log_end_msg 0 + exit 0 + fi + ;; + force-stop) + # First try to stop gracefully the program + $0 stop + if running; then + # If it's still running try to kill it more forcefully + log_daemon_msg "Stopping (force) $DESC" "$NAME" + errcode=0 + force_stop || errcode=$? + log_end_msg $errcode + fi + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + errcode=0 + stop_server || errcode=$? + # Wait some sensible amount, some server need this + [ -n "$DIETIME" ] && sleep $DIETIME + start_server || errcode=$? + [ -n "$STARTTIME" ] && sleep $STARTTIME + running || errcode=$? + log_end_msg $errcode + ;; + status) + + log_daemon_msg "Checking status of $DESC" "$NAME" + if running ; then + log_progress_msg "running" + log_end_msg 0 + else + log_progress_msg "apparently not running" + log_end_msg 1 + exit 1 + fi + ;; + # Use this if the daemon cannot reload + reload) + log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon" + log_warning_msg "cannot re-read the config file (use restart)." + ;; + # And this if it cann + #reload) + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + # log_daemon_msg "Reloading $DESC configuration files" "$NAME" + # if running ; then + # reload_server + # if ! running ; then + # Process died after we tried to reload + # log_progress_msg "died on reload" + # log_end_msg 1 + # exit 1 + # fi + # else + # log_progress_msg "server is not running" + # log_end_msg 1 + # exit 1 + # fi + #;; + + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/manpage.1.ex b/debian/manpage.1.ex new file mode 100644 index 0000000..2ea365a --- /dev/null +++ b/debian/manpage.1.ex @@ -0,0 +1,59 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH DRPRINT SECTION "October 15, 2009" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +drprint \- program to do something +.SH SYNOPSIS +.B drprint +.RI [ options ] " files" ... +.br +.B bar +.RI [ options ] " files" ... +.SH DESCRIPTION +This manual page documents briefly the +.B drprint +and +.B bar +commands. +.PP +.\" TeX users may be more comfortable with the \fB\fP and +.\" \fI\fP escape sequences to invode bold face and italics, +.\" respectively. +\fBdrprint\fP is a program that... +.SH OPTIONS +These programs follow the usual GNU command line syntax, with long +options starting with two dashes (`-'). +A summary of options is 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 +.BR bar (1), +.BR baz (1). +.br +The programs are documented fully by +.IR "The Rise and Fall of a Fooish Bar" , +available via the Info system. +.SH AUTHOR +drprint was written by . +.PP +This manual page was written by Leonardo Robol , +for the Debian project (and may be used by others). diff --git a/debian/manpage.sgml.ex b/debian/manpage.sgml.ex new file mode 100644 index 0000000..f768482 --- /dev/null +++ b/debian/manpage.sgml.ex @@ -0,0 +1,154 @@ + manpage.1'. You may view + the manual page with: `docbook-to-man manpage.sgml | nroff -man | + less'. A typical entry in a Makefile or Makefile.am is: + +manpage.1: manpage.sgml + docbook-to-man $< > $@ + + + The docbook-to-man binary is found in the docbook-to-man package. + Please remember that if you create the nroff version in one of the + debian/rules file targets (such as build), you will need to include + docbook-to-man in your Build-Depends control field. + + --> + + + FIRSTNAME"> + SURNAME"> + + October 15, 2009"> + + SECTION"> + leo@robol.it"> + + DRPRINT"> + + + Debian"> + GNU"> + GPL"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2003 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + program to do something + + + + &dhpackage; + + + + + + + + DESCRIPTION + + This manual page documents briefly the + &dhpackage; and bar + commands. + + This manual page was written for the &debian; distribution + because the original program does not have a manual page. + Instead, it has documentation in the &gnu; + Info format; see below. + + &dhpackage; is a program that... + + + + OPTIONS + + These programs follow the usual &gnu; command line syntax, + with long options starting with two dashes (`-'). A summary of + options is included below. For a complete description, see the + Info files. + + + + + + + + Show summary of options. + + + + + + + + Show version of program. + + + + + + SEE ALSO + + bar (1), baz (1). + + The programs are documented fully by The Rise and + Fall of a Fooish Bar available via the + Info system. + + + AUTHOR + + This manual page was written by &dhusername; &dhemail; for + the &debian; system (and may be used by others). Permission is + granted to copy, distribute and/or modify this document under + the terms of the &gnu; General Public License, Version 2 any + later version published by the Free Software Foundation. + + + On Debian systems, the complete text of the GNU General Public + License can be found in /usr/share/common-licenses/GPL. + + + +
+ + diff --git a/debian/manpage.xml.ex b/debian/manpage.xml.ex new file mode 100644 index 0000000..706f726 --- /dev/null +++ b/debian/manpage.xml.ex @@ -0,0 +1,291 @@ + +.
will be generated. You may view the +manual page with: nroff -man .
| less'. A typical entry +in a Makefile or Makefile.am is: + +DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl +XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0" + +manpage.1: manpage.xml + $(XP) $(DB2MAN) $< + +The xsltproc binary is found in the xsltproc package. The XSL files are in +docbook-xsl. A description of the parameters you can use can be found in the +docbook-xsl-doc-* packages. Please remember that if you create the nroff +version in one of the debian/rules file targets (such as build), you will need +to include xsltproc and docbook-xsl in your Build-Depends control field. +Alternatively use the xmlto command/package. That will also automatically +pull in xsltproc and docbook-xsl. + +Notes for using docbook2x: docbook2x-man does not automatically create the +AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as + ... . + +To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections +read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be +found in the docbook-xsl-doc-html package. + +Validation can be done using: `xmllint -''-noout -''-valid manpage.xml` + +General documentation about man-pages and man-page-formatting: +man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/ + +--> + + + + + + + + + + + + + +]> + + + + &dhtitle; + &dhpackage; + + + &dhfirstname; + &dhsurname; + Wrote this manpage for the Debian system. +
+ &dhemail; +
+
+
+ + 2007 + &dhusername; + + + This manual page was written for the Debian system + (and may be used by others). + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU General Public License, + Version 2 or (at your option) any later version published by + the Free Software Foundation. + On Debian systems, the complete text of the GNU General Public + License can be found in + /usr/share/common-licenses/GPL. + +
+ + &dhucpackage; + &dhsection; + + + &dhpackage; + program to do something + + + + &dhpackage; + + + + + + + + + this + + + + + + + + this + that + + + + + &dhpackage; + + + + + + + + + + + + + + + + + + + DESCRIPTION + This manual page documents briefly the + &dhpackage; and bar + commands. + This manual page was written for the Debian distribution + because the original program does not have a manual page. + Instead, it has documentation in the GNU + info + 1 + format; see below. + &dhpackage; is a program that... + + + OPTIONS + The program follows the usual GNU command line syntax, + with long options starting with two dashes (`-'). A summary of + options is included below. For a complete description, see the + + info + 1 + files. + + + + + + + Does this and that. + + + + + + + Show summary of options. + + + + + + + Show version of program. + + + + + + FILES + + + /etc/foo.conf + + The system-wide configuration file to control the + behaviour of &dhpackage;. See + + foo.conf + 5 + for further details. + + + + ${HOME}/.foo.conf + + The per-user configuration file to control the + behaviour of &dhpackage;. See + + foo.conf + 5 + for further details. + + + + + + ENVIONMENT + + + FOO_CONF + + If used, the defined file is used as configuration + file (see also ). + + + + + + DIAGNOSTICS + The following diagnostics may be issued + on stderr: + + + Bad configuration file. Exiting. + + The configuration file seems to contain a broken configuration + line. Use the option, to get more info. + + + + + &dhpackage; provides some return codes, that can + be used in scripts: + + Code + Diagnostic + + 0 + Program exited successfully. + + + 1 + The configuration file seems to be broken. + + + + + + BUGS + The program is currently limited to only work + with the foobar library. + The upstreams BTS can be found + at . + + + SEE ALSO + + + bar + 1 + , + baz + 1 + , + foo.conf + 5 + + The programs are documented fully by The Rise and + Fall of a Fooish Bar available via the + info + 1 + system. + +
+ diff --git a/debian/menu.ex b/debian/menu.ex new file mode 100644 index 0000000..d14174f --- /dev/null +++ b/debian/menu.ex @@ -0,0 +1,2 @@ +?package(drprint):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\ + title="drprint" command="/usr/bin/drprint" diff --git a/debian/postinst.ex b/debian/postinst.ex new file mode 100644 index 0000000..72100c6 --- /dev/null +++ b/debian/postinst.ex @@ -0,0 +1,39 @@ +#!/bin/sh +# postinst script for drprint +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/postrm.ex b/debian/postrm.ex new file mode 100644 index 0000000..f7f86ae --- /dev/null +++ b/debian/postrm.ex @@ -0,0 +1,37 @@ +#!/bin/sh +# postrm script for drprint +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/preinst.ex b/debian/preinst.ex new file mode 100644 index 0000000..d9b7f3e --- /dev/null +++ b/debian/preinst.ex @@ -0,0 +1,35 @@ +#!/bin/sh +# preinst script for drprint +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + install|upgrade) + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/prerm.ex b/debian/prerm.ex new file mode 100644 index 0000000..e922ea0 --- /dev/null +++ b/debian/prerm.ex @@ -0,0 +1,38 @@ +#!/bin/sh +# prerm script for drprint +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|upgrade|deconfigure) + ;; + + failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..d71e577 --- /dev/null +++ b/debian/rules @@ -0,0 +1,92 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + + + + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Add here commands to compile the package. + # $(MAKE) + #docbook-to-man debian/drprint.sgml > drprint.1 + + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + # $(MAKE) clean + python setup.py clean + rm build -rf + dh_clean + +install: build + dh_testdir + dh_testroot + dh_prep + dh_installdirs + + # Add here commands to install the package into debian/drprint. + python setup.py install --root=$(CURDIR)/debian/drprint install + + +# Build architecture-independent files here. +binary-indep: install + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs + dh_installexamples +# dh_install +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_installinit +# dh_installcron +# dh_installinfo +# dh_installwm +# dh_installudev +# dh_lintian +# dh_undocumented + dh_installman + dh_link + dh_compress + dh_fixperms +# dh_perl +# dh_python + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +# Build architecture-dependent files here. +binary-arch: install + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/debian/watch.ex b/debian/watch.ex new file mode 100644 index 0000000..3780b29 --- /dev/null +++ b/debian/watch.ex @@ -0,0 +1,23 @@ +# Example watch control file for uscan +# Rename this file to "watch" and then you can run the "uscan" command +# to check for upstream updates and more. +# See uscan(1) for format + +# Compulsory line, this is a version 3 file +version=3 + +# Uncomment to examine a Webpage +# +#http://www.example.com/downloads.php drprint-(.*)\.tar\.gz + +# Uncomment to examine a Webserver directory +#http://www.example.com/pub/drprint-(.*)\.tar\.gz + +# Uncommment to examine a FTP server +#ftp://ftp.example.com/pub/drprint-(.*)\.tar\.gz debian uupdate + +# Uncomment to find new files on sourceforge, for devscripts >= 2.9 +# http://sf.net/drprint/drprint-(.*)\.tar\.gz + +# Uncomment to find new files on GooglePages +# http://example.googlepages.com/foo.html drprint-(.*)\.tar\.gz -- 2.1.4