From b2682c11e32ffdd62ef275a75974d0830c00d20f Mon Sep 17 00:00:00 2001 From: Walter Lapchynski Date: Thu, 6 Sep 2018 21:35:25 -0700 Subject: [PATCH] Initial commit. --- debian/README.Debian | 6 + debian/README.source | 10 ++ debian/changelog | 5 + debian/compat | 1 + debian/control | 43 ++++++ debian/copyright | 38 +++++ debian/manpage.1.ex | 56 +++++++ 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 | 25 ++++ debian/source/format | 1 + debian/trojita-docs.docs | 2 + debian/trojita.cron.d.ex | 4 + debian/trojita.doc-base.EX | 20 +++ debian/watch.ex | 38 +++++ lubuntu-packaging.md | 29 ++++ 21 files changed, 874 insertions(+) create mode 100644 debian/README.Debian create mode 100644 debian/README.source create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright 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/source/format create mode 100644 debian/trojita-docs.docs create mode 100644 debian/trojita.cron.d.ex create mode 100644 debian/trojita.doc-base.EX create mode 100644 debian/watch.ex create mode 100644 lubuntu-packaging.md diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..de51786 --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,6 @@ +trojita for Debian +----------------- + + + + -- Walter Lapchynski Wed, 05 Sep 2018 00:15:44 -0700 diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..c362787 --- /dev/null +++ b/debian/README.source @@ -0,0 +1,10 @@ +trojita for Debian +----------------- + + + + + + -- Walter Lapchynski Wed, 05 Sep 2018 00:15:44 -0700 + diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..676ae4f --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +trojita (0.7-0ubuntu1) cosmic; urgency=medium + + * Initial release. + + -- Walter Lapchynski Wed, 05 Sep 2018 00:15:44 -0700 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +11 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..de1a406 --- /dev/null +++ b/debian/control @@ -0,0 +1,43 @@ +Source: trojita +Section: mail +Priority: optional +Maintainer: Lubuntu Developers +Uploaders: Walter Lapchynski +Build-Depends: debhelper (>= 11), + cmake (>= 2.8.11), + libqt5webkit5-dev (>= 5.2.0), + libqt5svg5-dev +Standards-Version: 4.1.3 +Homepage: http://trojita.flaska.net/ +Vcs-Browser: https://phab.lubuntu.me/source/trojita/ +Vcs-Git: https://phab.lubuntu.me/source/trojita.git + +Package: trojita +Architecture: any +Depends: libc6 (>= 2.14), + libgcc1 (>= 1:3.0), + libkf5gpgmepp-pthread5, + libkf5qgpgme5, + libmimetic0, + libqt5core5a (>= 5.5.0), + libqt5dbus5 (>= 5.0.2), + libqt5gui5 (>= 5.3.0) | libqt5gui5-gles (>= 5.3.0), + libqt5network5 (>= 5.0.2), + libqt5sql5 (>= 5.0.2), + libqt5webkit5 (>= 5.2.0), + libqt5widgets5 (>= 5.2.0), + libstdc++6 (>= 5.2), + zlib1g (>= 1:1.1.4), + libqt5sql5-sqlite, + libqt5svg5, + ${misc: Depends}, + ${shlibs: Depends} +Suggests: trojita-plugin-qtkeychain +Description: Trojita is a fast Qt IMAP e-mail client. + Trojita is a Qt IMAP e-mail client which: + * Enables you to access your mail anytime, anywhere. + * Does not slow you down. If we can improve the productivity of an e-mail user, we better do. + * Respects open standards and facilitates modern technologies. We value the vendor-neutrality that IMAP provides and are committed to be as interoperable as possible. + * Is efficient — be it at conserving the network bandwidth, keeping memory use at a reasonable level or not hogging the system's CPU. + * Can be used on many platforms. One UI is not enough for everyone, but our IMAP core works fine on anything from desktop computers to cell phones and big ERP systems. + * Plays well with the rest of the ecosystem. We don't like reinventing wheels, but when the existing wheels quite don't fit the tracks, we're not afraid of making them work. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..4ffd5ec --- /dev/null +++ b/debian/copyright @@ -0,0 +1,38 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: trojita +Source: + +Files: * +Copyright: + +License: + + + . + + +# If you want to use GPL v2 or later for the /debian/* files use +# the following clauses, or change it to suit. Delete these two lines +Files: debian/* +Copyright: 2018 Walter Lapchynski +License: GPL-2+ + This package 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 2 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 2 can be found in "/usr/share/common-licenses/GPL-2". + +# Please also look if there are files or directories which have a +# different copyright/license attached and list them here. +# Please avoid picking licenses with terms that are more restrictive than the +# packaged work, as it may make Debian's contributions unacceptable upstream. diff --git a/debian/manpage.1.ex b/debian/manpage.1.ex new file mode 100644 index 0000000..d16182c --- /dev/null +++ b/debian/manpage.1.ex @@ -0,0 +1,56 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" (C) Copyright 2018 Walter Lapchynski , +.\" +.\" 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 Trojita SECTION "September 5 2018" +.\" 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 +trojita \- program to do something +.SH SYNOPSIS +.B trojita +.RI [ options ] " files" ... +.br +.B bar +.RI [ options ] " files" ... +.SH DESCRIPTION +This manual page documents briefly the +.B trojita +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. +\fBtrojita\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. diff --git a/debian/manpage.sgml.ex b/debian/manpage.sgml.ex new file mode 100644 index 0000000..e711a82 --- /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"> + + September 5 2018"> + + SECTION"> + wxl@ubuntu.com"> + + Trojita"> + + + 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..1a88a18 --- /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/docbook-xsl/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. + + + + + + ENVIRONMENT + + + 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..b65bc8e --- /dev/null +++ b/debian/menu.ex @@ -0,0 +1,2 @@ +?package(trojita):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\ + title="trojita" command="/usr/bin/trojita" diff --git a/debian/postinst.ex b/debian/postinst.ex new file mode 100644 index 0000000..f31eaee --- /dev/null +++ b/debian/postinst.ex @@ -0,0 +1,39 @@ +#!/bin/sh +# postinst script for trojita +# +# 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 https://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..50d5840 --- /dev/null +++ b/debian/postrm.ex @@ -0,0 +1,37 @@ +#!/bin/sh +# postrm script for trojita +# +# 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 https://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..117da2d --- /dev/null +++ b/debian/preinst.ex @@ -0,0 +1,35 @@ +#!/bin/sh +# preinst script for trojita +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# for details, see https://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..69c03e2 --- /dev/null +++ b/debian/prerm.ex @@ -0,0 +1,38 @@ +#!/bin/sh +# prerm script for trojita +# +# 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 https://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..e1c367c --- /dev/null +++ b/debian/rules @@ -0,0 +1,25 @@ +#!/usr/bin/make -f +# See debhelper(7) (uncomment to enable) +# output every command that modifies files on the build system. +#export DH_VERBOSE = 1 + + +# see FEATURE AREAS in dpkg-buildflags(1) +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +# see ENVIRONMENT in dpkg-buildflags(1) +# package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# package maintainers to append LDFLAGS +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed + + +%: + dh $@ + + +# dh_make generated override targets +# This is example for Cmake (See https://bugs.debian.org/641051 ) +#override_dh_auto_configure: +# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH) + diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/trojita-docs.docs b/debian/trojita-docs.docs new file mode 100644 index 0000000..7319041 --- /dev/null +++ b/debian/trojita-docs.docs @@ -0,0 +1,2 @@ +README.source +README.Debian diff --git a/debian/trojita.cron.d.ex b/debian/trojita.cron.d.ex new file mode 100644 index 0000000..0aa081c --- /dev/null +++ b/debian/trojita.cron.d.ex @@ -0,0 +1,4 @@ +# +# Regular cron jobs for the trojita package +# +0 4 * * * root [ -x /usr/bin/trojita_maintenance ] && /usr/bin/trojita_maintenance diff --git a/debian/trojita.doc-base.EX b/debian/trojita.doc-base.EX new file mode 100644 index 0000000..7ec3312 --- /dev/null +++ b/debian/trojita.doc-base.EX @@ -0,0 +1,20 @@ +Document: trojita +Title: Debian trojita Manual +Author: +Abstract: This manual describes what trojita is + and how it can be used to + manage online manuals on Debian systems. +Section: unknown + +Format: debiandoc-sgml +Files: /usr/share/doc/trojita/trojita.sgml.gz + +Format: postscript +Files: /usr/share/doc/trojita/trojita.ps.gz + +Format: text +Files: /usr/share/doc/trojita/trojita.text.gz + +Format: HTML +Index: /usr/share/doc/trojita/html/index.html +Files: /usr/share/doc/trojita/html/*.html diff --git a/debian/watch.ex b/debian/watch.ex new file mode 100644 index 0000000..df7e42d --- /dev/null +++ b/debian/watch.ex @@ -0,0 +1,38 @@ +# 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 4 file +version=4 + +# PGP signature mangle, so foo.tar.gz has foo.tar.gz.sig +#opts="pgpsigurlmangle=s%$%.sig%" + +# HTTP site (basic) +#http://example.com/downloads.html \ +# files/trojita-([\d\.]+)\.tar\.gz debian uupdate + +# Uncomment to examine an FTP server +#ftp://ftp.example.com/pub/trojita-(.*)\.tar\.gz debian uupdate + +# SourceForge hosted projects +# http://sf.net/trojita/ trojita-(.*)\.tar\.gz debian uupdate + +# GitHub hosted projects +#opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%-$1.tar.gz%" \ +# https://github.com//trojita/tags \ +# (?:.*?/)?v?(\d[\d.]*)\.tar\.gz debian uupdate + +# PyPI +# https://pypi.debian.net/trojita/trojita-(.+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) + +# Direct Git +# opts="mode=git" http://git.example.com/trojita.git \ +# refs/tags/v([\d\.]+) debian uupdate + + + + +# Uncomment to find new files on GooglePages +# http://example.googlepages.com/foo.html trojita-(.*)\.tar\.gz diff --git a/lubuntu-packaging.md b/lubuntu-packaging.md new file mode 100644 index 0000000..cdf33dc --- /dev/null +++ b/lubuntu-packaging.md @@ -0,0 +1,29 @@ +TODO +==== + - [X] Download latest upstream source + - [X] `dh_make` + - [X] `dch` + - [X] Add minimal debian/control file from the [upstream packaging][1] + - [X] Edit debian/control to deal with some of the required fields + - [X] Add Vcs from Phab + - [X] Get under `git`. Finally. + - [ ] Dependencies + - [X] Populate Build-Depends based on requirements from actual compilation + - [ ] Run through list of Depends and eliminate anything unnecessary (seems lengthy) + - [ ] Add to the above based on decisions regarding optional dependencies below + - [ ] Other files… + - [ ] Check over copyright really well + - [ ] Get in a PPA for initial testing first? + +Notes +===== + * There are optional dependencies we might want to turn on by default: + * **zlib** for IMAP COMPRESS + * **QtKeychain** for secure storage of passwords (in the form of a separate binary plugin) + * **ragel**, of which the benefit is not clear ("a pregenerated file is shipped") + * **GpgME++** for PGP + * **Mimetic** for S/MIME (goes hand in hand with PGP) + * In order to successfully pass all tests (final step in the compilation instructions), X is required. + * Upstream does not seem to want to HTTPS their site. Boo, I know. + +[1]: http://download.opensuse.org/repositories/home:/jkt-gentoo:/trojita/xUbuntu_16.04/