summaryrefslogtreecommitdiffstats
path: root/debian/README.Debian-source
diff options
context:
space:
mode:
Diffstat (limited to 'debian/README.Debian-source')
-rw-r--r--debian/README.Debian-source82
1 files changed, 82 insertions, 0 deletions
diff --git a/debian/README.Debian-source b/debian/README.Debian-source
new file mode 100644
index 000000000..7b9f523b2
--- /dev/null
+++ b/debian/README.Debian-source
@@ -0,0 +1,82 @@
+Package directory modes
+=======================
+The packages can be built directly from a set of git checkouts (vcs mode),
+or from a set of release tarballs (tarball mode).
+
+Vcs mode is useful if you want to work on libreoffice during the development
+cycle. You can check out the latest sources and track them while you make
+changes.
+
+Tarball mode is used to prepare packages of official libreoffice releases
+from the tarballs created by upstream.
+
+Source package creation steps for tarball mode
+==============================================
+The .orig.tar.gz consists of the (separate) source tarballs available
+from The Document Foundation from
+http://download.documentfoundation.org/libreoffice/src/<version/
+
+The libreoffice-x.y.z.a.tar.xz is taken verbatim as original tarball:
+$ ln -s libreoffice-x.y.z.a.tar.xz libreoffice_x.y.z.orig.tar.xz
+$ tar xfvJ libreoffice-x.y.z.a.tar.xz
+
+For a full build you also need helpcontent2 and translations (and the external
+modules' tarballs) which normally are git submodules and/or downloaded during
+the build.
+
+As dpkg-source expects e.g. helpcontent2 as a subdir we can't directly
+symlink (as the tarball contains libreoffice-x.y.z.a/helpcontent2).
+We need to create them manually/repack them:
+
+$ tar xfvJ libreoffice-helpcontent2-x.y.z.a.tar.xz
+$ tar xfvJ libreoffice-translations-x.y.z.a.tar.xz
+$ cd libreoffice-x.y.z.a
+$ for i in helpcontent2 translations tarballs; do \
+ tar cfvJ ../libreoffice_5.2.1.orig-$i.tar.xz $i; \
+ done
+
+The get-orig-source debian/rules target does this with our custom
+mk-origtargz script.
+
+Given those files are not in the tarballs above they need to be removed
+as otherwise dpkg complains
+$ rm ChangeLog-*
+
+We also need the "tarballs".
+A standard upstream build downloads it during the build, but we neither can't nor want it here of course. So:
+
+$ rm -rf tarballs
+$ mkdir -p tarballs
+$ ./autogen.sh $(filter-out --disable-fetch-external,$(CONFIGURE_FLAGS)) --with-all-tarballs
+$ make download gb_LO_VER=<version>
+
+or base on an old version and add/remove the files manually and/or symlink
+to the old version if this didn't change - see git diff of download.lst. This
+is even better given we probably want to add only needed stuff there, and not
+all tarballs (most of those we don't use)
+
+See the "Format: 3.0 (quilt)" section dpkg-source(1) for more details.
+
+Package directory layout - vcs mode
+===================================
+
+In vcs mode we are working directly from checkouts of the libreoffice sources.
+
+We pull in sources to these places:
+
+ "top" directory - checkout of LO's "core" repo
+ debian - git packaging repository from pkg-openoffice project on alioth
+ helpcontent2 - checkout of LO's "help" repo (git submodule)
+ translations - checkout of LO's "translations" repo (git submodule)
+ tarballs - see above in tarball mode
+
+$ git clone git://gerrit.libreoffice.org/core
+$ cd core
+$ git submodule init
+
+(maybe remove dictionaries again, see .git/config, we don't need it here.)
+
+./g pull -r (git pull -r, but also does the necessary steps for the submodules)
+
+For tarballs/, see above
+