40 Commits

Author SHA1 Message Date
Josh Soref
458c148934
cleanup-bintray: remove remaining bintray references (#5038)
* The `cleanup-bintray.pl` script is just unused
* The `dh_builddeb` override is no longer necessary as bintray is no longer used
2022-06-30 08:21:54 +02:00
Michael Stapelberg
f4d784b5a7 debian/rules: remove now-unnecessary override
related to https://github.com/i3/i3/issues/4086
2020-11-15 16:42:41 +01:00
Michael Stapelberg
5c565d0ad4 debian/rules: explicitly enable building manpages
This fixes a build failure in dh_installwms.

fixes #4136
2020-10-28 21:34:48 +01:00
Michael Stapelberg
0bea175b51 disable dh_autoreconf
We still have autotools in the tree, so this is not a no-op yet.

related to #4086
2020-05-19 19:07:53 +02:00
Michael Stapelberg
ff6c2d2214 debian: set buildsystem to meson, not meson+ninja
The latter fails on Ubuntu, presumably due to an older debhelper version.

related to #4086
2020-05-19 19:07:51 +02:00
Michael Stapelberg
693eee0c03 meson: make docdir configurable
The debian package wants to install docs to $datadir/doc/i3-wm.

related to #4086
2020-05-19 19:07:45 +02:00
Michael Stapelberg
aba6ec3e52
add meson build files (#4094)
Motivation:

• faster builds (on an Intel Core i9-9900K):
  ( ../configure --disable-sanitizers && make -j8; )
  19,47s user 2,78s system 395% cpu 5,632 total

  ( meson .. -Dmans=true -Ddocs=true -Dprefix=/usr && ninja; )
  38,67s user 3,73s system 1095% cpu 3,871 total

• more approachable build system configuration in the
  python-esque meson domain specific language instead of
  the autotools m4 macro language

• built-in language server support thanks to ninja:
  the required compile_commands.json is built automatically
  and only needs to be linked from the source dir, e.g.:
  ln -s build/compile_commands.json .

Changes:

• the embedded vcs version info format changed from e.g.
  4.18-282-gabe46f69 (2020-05-16, branch "next")
  to:
  4.18-282-gabe46f69
  I think it’s better to lose a little bit of detail for
  the gained cleanliness of using meson’s vcs_tag()

• Drop unused xcb-event dependency.

• We can no longer enable sanitizers and debug options
  based on whether we are in a release or non-release build,
  because our new version logic runs at ninja build time,
  not at meson configure time.

  The new behavior is probably for the better in terms of
  what people expect, and we can make the CI use address sanitizer
  explicitly to ensure it is still exercised.

• We lose the AX_EXTEND_SRCDIR behavior, i.e. including the
  path component of the parent of the source dir in all paths.
  This was a trick we used for easier debugging, so that stack
  traces would contain e.g. ../i3-4.18.1/src/main.c, instead of
  just src/main.c.

  The other mechanism (_i3_version symbol) that we have for including
  the version number in the “backtrace full” (but not merely
  “backtrace”) output of gdb still works.

• Release tarballs now use tar.xz. Why not.

Migration plan

This commit adds the meson build files to the tree, but does not remove
autotools yet. For the development phase, we will keep both build systems
functional (and built on travis).

Then, just before the i3 v4.19 release, we will remove autotools from the tree
and the release tarball will require meson to compile.

This way, we incentivize maintainers to change, while also offering them an easy
way out (if desired) by reverting the most recent commit. In practice, switching
a distribution package from autotools to meson should only be a few line change,
easier than applying the provided patch :). Take a look at the debian/ changes
in this commit for an example.

meson is broadly available everywhere that i3 is available: Both xorg-server and
systemd gained meson build files in 2017, so we can follow suit:
https://anholt.livejournal.com/52574.html
https://in.waw.pl/~zbyszek/blog/systemd-meson.html

How do I?

For producing a coverage report, enable the b_coverage meson base option
and run ninja coverage-html:
% cd build
% meson .. -Db_coverage=true
% ninja
% ninja test
% ninja coverage-html
See also https://mesonbuild.com/howtox.html#producing-a-coverage-report

For using the address sanitizer, memory sanitizer or undefined behavior
sanitizer, use the b_sanitize meson base option:
% cd build
% meson .. -Db_sanitize=address
% ninja
See also https://mesonbuild.com/Builtin-options.html#base-options

related to #4086
2020-05-19 14:45:06 +02:00
Michael Stapelberg
b280f103cf debian: explicitly use gzip compression
fixes #3146
2018-02-24 08:57:35 +01:00
Michael Stapelberg
212a408d4b debian: install docs to usr/share/doc/i3-wm 2016-11-08 19:41:35 +01:00
Michael Stapelberg
8ab1bf6063 Update debian/ for autotools 2016-10-23 21:09:24 +02:00
Michael Stapelberg
3ee7828460 debian/compat: bump debhelper compat level to 9 2016-03-06 16:16:53 +01:00
Michael Stapelberg
51f077b409 debian/rules: get rid of hardcoded release notes file name 2014-01-26 16:22:06 +01:00
Michael Stapelberg
ca807ce1c5 update debian/ 2014-01-21 19:38:46 +01:00
Michael Stapelberg
c7036191c8 debian/: add placeholder commit 2013-12-22 21:39:15 +01:00
Michael Stapelberg
6562f440c5 update debian/ packaging 2013-08-07 21:21:47 +02:00
Michael Stapelberg
056168494c update debian/ 2013-03-18 23:01:36 +01:00
Michael Stapelberg
fe34820c0a update debian/ 2013-03-12 15:11:35 +01:00
Michael Stapelberg
970ced9a03 update debian packaging for 4.4 2012-12-12 00:05:51 +01:00
Michael Stapelberg
1bc41edb6d update debian packaging 2012-09-19 18:44:13 +02:00
Michael Stapelberg
e69c54df07 debian: install the RELEASE-NOTES as upstream changelog for now 2012-04-25 23:21:10 +02:00
Michael Stapelberg
0c742f5f87 debian: add support for dpkg-buildpackage -j parallelism
See also http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=209008#202
2012-01-23 22:22:24 +00:00
Michael Stapelberg
fbaa6d4a3d revert the debugging changes
Building a non-optimized (-O0 vs. -O2) Debian package required:

    echo 'export DEB_BUILD_OPTIONS=noopt' >> ~/.pbuilderrc
2012-01-23 22:21:44 +00:00
Michael Stapelberg
79d28f84c1 debug commit for the autobuilder, please ignore 2012-01-23 19:58:30 +00:00
Michael Stapelberg
71d261fd77 debian: re-add build-indep/build-arch targets to debian/rules 2011-12-24 16:24:00 +01:00
Michael Stapelberg
98baa222f7 remove obsolete TERM_EMU build option 2011-10-23 12:00:56 +01:00
Fernando Tarlá Cardoso Lemos
b8df07d8cf Bump dh compat to 7, simplify debian/rules.
Also added hardening flags. We can't enable PIE because i3bar seems
to have problems with that. We also shouldn't enable bindnow, as it
the startup performance penalty (though probably not too bad) might
not be acceptable for i3-msg and i3-input.
2011-10-23 11:07:22 +01:00
Michael Stapelberg
88f147ebe4 debian: use debian/i3-wm.manpages instead of manuall installing manpages 2011-10-15 22:36:03 +01:00
Michael Stapelberg
4e87d6af30 debian: fix debian/rules for multiple builds (Thanks ccount) 2011-08-03 04:09:59 +02:00
Michael Stapelberg
83da21e13f update debian packaging 2011-08-01 23:35:08 +02:00
Michael Stapelberg
a0bb296f1b update debian packaging 2011-08-01 14:39:45 +02:00
Michael Stapelberg
681f3c0d5b debian: call dh_installwm to register as alternative for x-window-manager 2011-07-23 22:19:06 +02:00
Michael Stapelberg
c98bf4ba8c debian: update packaging 2009-11-09 22:41:31 +01:00
Michael Stapelberg
4acba7227a debian: Install i3-msg manpage 2009-08-24 12:27:35 +02:00
Michael Stapelberg
9f9e21dc7f debian: Include additional documentation in the package (docs/) 2009-06-13 00:34:36 +02:00
Michael Stapelberg
3ab4ecdb01 debian: Fix section/priority/dependencies of i3-wm-dbg (Thanks chrish) 2009-05-09 23:25:06 +02:00
Michael Stapelberg
b98d7ab3c0 Debian: Create package i3-wm-dbg with debug symbols (thanks sur5r) 2009-04-08 12:21:20 +02:00
Michael Stapelberg
3164bb7afa Debian package fixes (use ${misc:Depends}, close ITP, call dh_strip, correct spelling of metapackage) 2009-03-29 18:44:01 +02:00
Michael Stapelberg
6bcb53e5ea Update debian/ to build a meta-package for i3 2009-03-11 22:49:41 +01:00
Michael Stapelberg
94bbe02e7b More work on the debian package, don’t link against xcb-keysyms, not necessary at the moment 2009-02-25 01:38:02 +01:00
Michael Stapelberg
eca5d12b82 Add debian/ 2009-02-22 17:41:30 +01:00