Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/majn/telegram-purple.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'debian/README.source')
-rw-r--r--debian/README.source121
1 files changed, 121 insertions, 0 deletions
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..f8ad3a9
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,121 @@
+Packing, unpacking, and modifying (as per §4.14)
+================================================
+
+1. Generate the fully patched source, in a form ready for editing, that
+ would be built to create Debian packages.
+
+This step does not need any special attention. The standard invocation
+of "dpkg-source -x" does exactly what is needed.
+
+2. Modify the source and save those modifications so that they will be
+ applied when building the package.
+ == AND ==
+3. Remove source modifications that are currently being applied when
+building the package.
+
+There is no standard procedure for this package. Please note that:
+- quilt seems to be the default tool for this kind of work.
+- git-buildpackage (gbp) might not work as expected, so I refrained
+ from trying it for this task. See below.
+
+So far, issues reported against the project have been resolved quickly
+enough to avoid scenarios that usually need the d/patches/ directory.
+
+4. Generate a *.orig.tar.gz from the git repository, e.g., upgrade the
+ Debian source package to a new upstream version.
+
+Easy way:
+ use the provided orig-tars, e.g., 'telegram-purple_1.2.6.orig.tar.gz'
+
+Hard way (the procedure used to create these files):
+ $ git clone --recursive --branch debian-master \
+ https://github.com/majn/telegram-purple.git
+ $ cd telegram-purple
+ ...$ make dist
+
+The output should look like this:
+ Refresh commit.h
+ ./gen-origtar
+ mv -f bin/result.tar.gz telegram-purple_deb-v1.2.4-2-161-gb5272d4.orig.tar.gz
+
+The following approaches do NOT work:
+- Github's "download source tar", as this leaves out submodules.
+- git-buildpackage (gpb). No support for submodules-within-submodules.
+
+The file README.md of the project contains some hints about how to
+build packages, so here's a cheat sheet:
+- Just build a *.deb, ideal for local use:
+ fakeroot ./debian/rules binary
+- Build the package for analysis, e.g. lintian:
+ dpkg-buildpackage
+- Only produce a *.dsc and *.debian.tar.xz file:
+ ( cd .. && dpkg-source -b telegram-purple )
+- Run pbuilder (needs the previous step):
+ ( cd .. && sudo pbuilder --build telegram-purple_*.dsc )
+
+
+
+Package name
+============
+
+At the time of writing (2016-01-03), the Debian repository contained
+the following libpurple-backends:
+- pidgin-encryption
+- pidgin-latex
+- pidgin-otr
+- pidgin-plugin-pack
+- pidgin-privacy-please
+So following that tradition, this package would be called "pidgin-telegram".
+
+However, this would have a lot of disadvantages:
+- This is a frontend-agnostic backend that works with Adium, pidgin,
+ and Finch. We hope that it works nicely with all other frontends, too.
+ Calling it "pidgin-something" would be highly misleading.
+- All error messages and their translations would need to be adapted
+- paths would need to change that aren't configurable
+- some users are expecting the name to be "telegram-purple"
+ (at least initially)
+
+Overall, we consider this a needlessly confusing convention, and
+intentionally break with it.
+
+
+
+Packaging libtgl separately (as per §4.13)
+==========================================
+
+No.
+
+So far, ABI-compatibility was broken between virtually every other
+commit to libtgl, and the library is still under development. The
+latest "stable" release is heavily outdated and can no longer be used
+productively (missing features, known breaking bugs, etc.), so if we were to
+package tgl we would need to repackage it constantly, with no defined
+concept of version, soname, or anything reliable. No other program
+(*including* tg-cli) can be expected to use the same version of libtgl
+as telegram-purple does. (This might happen every now and then, but
+that would be random chance. Finally, it's highly unlikely that someone
+installs and uses both telegram-purple and tg-cli.)
+
+Packaging "tl-parser" or the intermediate "generate" program is also a
+bad idea: One *could* do that, but it's only useful for libtgl. So
+there is a significant lack of users.
+
+Note that tl-parser is a relatively (in comparison to the rest of
+libtgl) stable, portable application (not library). The output format
+hasn't changed in a over a year. If you believe that these six files
+will be used by a lot of people, I'll be happy to package tl-parser for
+you. However, please note that this would require at least two
+packages: tl-parser (binary), tl-parser-dev (headers), and possibly
+libtl-parser (common object files).
+
+In short: there's no set of component that could be packaged in a more
+clever way.
+
+
+
+About this document
+===================
+
+This is not written in Markdown. All formatting is in the hope of
+making it easy to read.