Hello community, here is the log from the commit of package dbus-1 for openSUSE:Factory checked in at 2019-02-06 14:04:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dbus-1 (Old) and /work/SRC/openSUSE:Factory/.dbus-1.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dbus-1" Wed Feb 6 14:04:59 2019 rev:155 rq:670283 version:1.12.12 Changes: -------- --- /work/SRC/openSUSE:Factory/dbus-1/dbus-1-x11.changes 2019-01-29 14:45:11.403057524 +0100 +++ /work/SRC/openSUSE:Factory/.dbus-1.new.28833/dbus-1-x11.changes 2019-02-06 14:05:01.090675194 +0100 @@ -1,0 +2,35 @@ +Wed Jan 30 13:03:19 UTC 2019 - Tomáš Chvátal <tchva...@suse.com> + +- Update to 1.12.12: + * Reference the freedesktop.org Code of Conduct (Simon McVittie) + * Stop the dbus-daemon leaking memory (an error message) if delivering + the message that triggered auto-activation is forbidden. This is + technically a denial of service because the dbus-daemon will + run out of memory eventually, but it's a very slow and noisy one, + because all the rejected messages are also very likely to have + been logged to the system log, and its scope is typically limited by + the finite number of activatable services available. + (dbus#234, Simon McVittie) + * Remove __attribute__((__malloc__)) attribute on dbus_realloc(), + which does not meet the criteria for that attribute in gcc 4.7+, + potentially leading to miscompilation (fd.o #107741, Simon McVittie) + * Fix some small O(1) memory leaks (fd.o #107320, Simon McVittie) + * Fix printf formats for pointer-sized integers on 64-bit Windows + (fd.o #105662, Ralf Habacker) + * Always use select()-based poll() emulation on Darwin-based OSs + (macOS, etc.) and on Interix, similar to what libcurl does + (dbus#232, dbus!19; Simon McVittie) + * Extend a test timeout to avoid spurious failures in CI + (dbus!26, Simon McVittie) + +------------------------------------------------------------------- +Wed Jan 30 12:52:25 UTC 2019 - Tomáš Chvátal <tchva...@suse.com> + +- Add patch to build with new autoconf-archive, there is now + bash variable AX_BLA that gets detected and autoreconf aborts; + thus rather just disable the pointless check: + * dbus-no-ax-check.patch +- Add patch to fix codecoverage m4 macro changes in autoconf-archive: + * dbus-new-autoconf-archive.patch + +------------------------------------------------------------------- dbus-1.changes: same change Old: ---- dbus-1.12.10.tar.gz New: ---- dbus-1.12.12.tar.gz dbus-new-autoconf-archive.patch dbus-no-ax-check.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dbus-1-x11.spec ++++++ --- /var/tmp/diff_new_pack.4kkJAg/_old 2019-02-06 14:05:02.426674957 +0100 +++ /var/tmp/diff_new_pack.4kkJAg/_new 2019-02-06 14:05:02.426674957 +0100 @@ -23,7 +23,7 @@ %endif %bcond_without selinux Name: dbus-1-x11 -Version: 1.12.10 +Version: 1.12.12 Release: 0 Summary: D-Bus Message Bus System License: GPL-2.0-or-later OR AFL-2.1 @@ -38,6 +38,10 @@ Patch1: feature-suse-do-autolaunch.patch # Patch-Feature-opensuse sfl...@suse.de, users shouldn't be allowed to start / stop the dbus service. Patch2: feature-suse-refuse-manual-start-stop.patch +# PATCH-FIX-UPSTREAM +Patch3: dbus-no-ax-check.patch +# PATCH-FIX-UPSTREAM tchva...@suse.com -- work with new autoconf-archive +Patch4: dbus-new-autoconf-archive.patch BuildRequires: autoconf-archive BuildRequires: libcap-ng-devel BuildRequires: libexpat-devel ++++++ dbus-1.spec ++++++ --- /var/tmp/diff_new_pack.4kkJAg/_old 2019-02-06 14:05:02.442674955 +0100 +++ /var/tmp/diff_new_pack.4kkJAg/_new 2019-02-06 14:05:02.442674955 +0100 @@ -26,7 +26,7 @@ %endif %bcond_without selinux Name: dbus-1 -Version: 1.12.10 +Version: 1.12.12 Release: 0 Summary: D-Bus Message Bus System License: GPL-2.0-or-later OR AFL-2.1 @@ -41,6 +41,10 @@ Patch1: feature-suse-do-autolaunch.patch # Patch-Feature-opensuse sfl...@suse.de, users shouldn't be allowed to start / stop the dbus service. Patch2: feature-suse-refuse-manual-start-stop.patch +# PATCH-FIX-UPSTREAM +Patch3: dbus-no-ax-check.patch +# PATCH-FIX-UPSTREAM tchva...@suse.com -- work with new autoconf-archive +Patch4: dbus-new-autoconf-archive.patch BuildRequires: audit-devel BuildRequires: autoconf-archive BuildRequires: doxygen @@ -294,7 +298,7 @@ %dir /lib/dbus-1/system-services %dir %{_libexecdir}/dbus-1/ %license COPYING -%doc AUTHORS HACKING NEWS README +%doc AUTHORS NEWS README %config(noreplace) %{_sysconfdir}/dbus-1/session.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.conf %{_datadir}/dbus-1/session.conf ++++++ dbus-1.12.10.tar.gz -> dbus-1.12.12.tar.gz ++++++ ++++ 4629 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/CONTRIBUTING.md new/dbus-1.12.12/CONTRIBUTING.md --- old/dbus-1.12.10/CONTRIBUTING.md 1970-01-01 01:00:00.000000000 +0100 +++ new/dbus-1.12.12/CONTRIBUTING.md 2018-12-04 12:13:54.000000000 +0100 @@ -0,0 +1,392 @@ +# Contributing to dbus + +The guidelines in this file are the ideals; it's better to send a +not-fully-following-guidelines patch than no patch at all, though. We +can always polish it up. + +## Source code and issue tracking + +Source code and issue tracking for the D-Bus specification and its +reference implementation 'dbus' are provided by freedesktop.org Gitlab: +<https://gitlab.freedesktop.org/dbus/dbus>. + +## Reporting security vulnerabilities + +If you find a security vulnerability that is not known to the public, +please report it privately to dbus-secur...@lists.freedesktop.org +or by reporting a Gitlab issue at +https://gitlab.freedesktop.org/dbus/dbus/issues/new and marking it +as "confidential". + +## Mailing list + +The D-Bus mailing list is d...@lists.freedesktop.org; discussion of +protocol enhancements, new implementations, etc. should go there. + +## Code of Conduct + +As a freedesktop.org project, dbus follows the Contributor Covenant, +found at: https://www.freedesktop.org/wiki/CodeOfConduct + +Please conduct yourself in a respectful and civilised manner when +interacting with community members on mailing lists, IRC, or bug +trackers. The community represents the project as a whole, and abusive +or bullying behaviour is not tolerated by the project. + +## Development + +D-Bus uses Git as its version control system. The main repository is +hosted on freedesktop.org Gitlab. To clone D-Bus, execute one of the +following commands: + + git clone https://gitlab.freedesktop.org/dbus/dbus.git + git clone g...@gitlab.freedesktop.org:dbus/dbus.git + +The second form is the one that allows pushing, but it also requires +an SSH account on the server. The first form allows anonymous +checkouts. + +### Branches + +D-Bus development happens in multiple branches in parallel. The main +branches are the current stable branch, with an even minor number (like +1.0, 1.2 and 1.4), and the next development branch, with the next odd +number. At the time of writing, the stable branch is dbus 1.12.x and +the development branch is dbus 1.13.x, leading to a new 1.14.x stable +branch in future. + +Stable branches are named after the version number itself (`dbus-1.2`, +`dbus-1.4`), whereas the development branch is simply known as +`master`. + +New features, enhancements, minor bug fixes, and bug fixes that are +unusually intrusive should always be based on the `master` branch. + +Fixes for significant bugs should be developed on the `master` branch +and cherry-picked to the most recent stable branch. + +Depending on the release cycles of various Linux distributions, some +older stable branches might continue to receive fixes for security +vulnerabilities (and sometimes major non-security bugs) for a time. +These are announced on the D-Bus mailing list. + +Old development branches are not supported at all, and will not receive +any bug fixes - not even for security vulnerabilities. Please do not +use a development branch like 1.13.x in your OS distribution, unless +you can guarantee that you will upgrade to the next stable branch such +as 1.14.x when it becomes available. + +### Commits + +If you are making changes that you wish to be incorporated upstream, +please do as small commits to your local git tree that are individually +correct, so there is a good history of your changes. + +The first line of the commit message should be a single sentence that +describes the change, optionally with a prefix that identifies the +area of the code that is affected. + +The body of the commit message should describe what the patch changes +and why, and also note any particular side effects. This shouldn't be +empty on most of the cases. It shouldn't take a lot of effort to write a +commit message for an obvious change, so an empty commit message body is +only acceptable if the questions "What?" and "Why?" are already answered +on the one-line summary. + +The lines of the commit message should have at most 76 characters, +to cope with the way git log presents them. + +See [notes on commit messages](https://who-t.blogspot.com/2009/12/on-commit-messages.html), +[A Note About Git Commit Messages](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) +or [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/) +for recommended reading on writing high-quality commit messages. + +Your patches should also include a Signed-off-by line with your name and +email address, indicating that your contribution follows the [Developer's +Certificate of Origin](https://developercertificate.org/). If you're +not the patch's original author, you should also gather S-o-b's by +them (and/or whomever gave the patch to you.) The significance of this +is that it certifies that you created the patch, that it was created +under an appropriate open source license, or provided to you under those +terms. This lets us indicate a chain of responsibility for the copyright +status of the code. + +We won't reject patches that lack S-o-b, but it is strongly recommended. + +### Sending a merge request + +When you consider your changes to be ready for merging to mainline: + +* create a personal fork of <https://gitlab.freedesktop.org/dbus/dbus> + on freedesktop.org Gitlab +* push your changes to your personal fork as a branch +* create a merge request at + <https://gitlab.freedesktop.org/dbus/dbus/merge_requests> + +### Security guidelines + +Most of D-Bus is security sensitive. Guidelines related to that: + + - avoid `memcpy()`, `sprintf()`, `strlen()`, `snprintf()`, `strlcat()`, + `strstr()`, `strtok()`, or any of this stuff. Use `DBusString`. + If `DBusString` doesn't have the feature you need, add it + to `DBusString`. + + There are some exceptions, for example + if your strings are just used to index a hash table + and you don't do any parsing/modification of them, perhaps + `DBusString` is wasteful and wouldn't help much. But definitely + if you're doing any parsing, reallocation, etc. use `DBusString`. + + - do not include system headers outside of `dbus-memory.c`, + `dbus-sysdeps.c`, and other places where they are already + included. This gives us one place to audit all external + dependencies on features in libc, etc. + + - do not use libc features that are "complicated" + and may contain security holes. For example, you probably shouldn't + try to use `regcomp()` to compile an untrusted regular expression. + Regular expressions are just too complicated, and there are many + different libc implementations out there. + + - we need to design the message bus daemon (and any similar features) + to use limited privileges, run in a chroot jail, and so on. + +http://vsftpd.beasts.org/ has other good security suggestions. + +### Coding Style + + - Please follow the coding style and indentation of nearby code. + + - C code uses GNU coding conventions (approximately "gnu" style in + Emacs), with GLib-like extensions (e.g. lining up function arguments). + + - Write docs for all non-static functions and structs and so on. try + `doxygen Doxyfile` prior to commit and try not to cause any new + warnings. + + - All external interfaces (network protocols, file formats, etc.) + should have documented specifications sufficient to allow an + alternative implementation to be written. Our implementation should + be strict about specification compliance (should not for example + heuristically parse a file and accept not-well-formed + data). Avoiding heuristics is also important for security reasons; + if it looks funny, ignore it (or exit, or disconnect). + +### Licensing + +Please match the existing licensing (a dual-license: AFL-2.1 or GPL-2+, +recipient's choice). Entirely new modules can be placed under a more +permissive license: to avoid license proliferation, our preferred +permissive license is the variant of the MIT/X11 license used by the +Expat XML library (for example see the top of tools/ci-build.sh). + +### Build systems + +The primary build system for dbus uses the GNU Autotools suite (Autoconf, +Automake and Libtool). This build system is strongly recommended for +Unix OS integrators. It can also be used to compile dbus for Windows +using the mingw-w64 compiler suite, either by cross-compiling on a Unix +system or by using an environment like MSYS2 on Windows. + +There is also a CMake build system. This is primarily there to make it +easier to build dbus on Windows, using either a MSYS2/mingw environment +or the MSVC compiler from Microsoft Visual Studio. It can also be used +on a GNU/Linux system, but this is not recommended for OS integrators. + +Changes contributed to dbus must not break the build for either of these +build systems. It is OK for the CMake build system to support fewer +options, support fewer operating systems, have less test coverage or +build fewer non-essential programs, but it must continue to work on at +least GNU/Linux and Windows. + +### Environment variables + +These are some of the environment variables that are used by the D-Bus +client library. + +* `DBUS_VERBOSE=1` + + Turns on printing verbose messages. This only works if D-Bus has been + compiled with `--enable-verbose-mode`. + +* `DBUS_MALLOC_FAIL_NTH=n` + + Can be set to a number, causing every *n*th call to `dbus_alloc` or + `dbus_realloc` to fail. This only works if D-Bus has been compiled with + `--enable-embedded-tests`. + +* `DBUS_MALLOC_FAIL_GREATER_THAN=n` + + Can be set to a number, causing every call to `dbus_alloc` or + `dbus_realloc` to fail if the number of bytes to be allocated is greater + than the specified number. This only works if D-Bus has been compiled with + `--enable-embedded-tests`. + +* `DBUS_TEST_MALLOC_FAILURES=n` + + Many of the D-Bus tests will run over and over, once for each `malloc` + involved in the test. Each run will fail a different `malloc`, plus some + number of `malloc`s following that malloc (because a fair number of bugs + only happen if two or more `malloc`s fail in a row, e.g. error recovery + that itself involves `malloc`). This environment variable sets the + number of consecutive `malloc`s to fail. + + Here's why you care: If set to 0, then the `malloc` checking is skipped, + which makes the test suite a lot faster. Just run with this + environment variable unset before you commit. + +### Tests + +Please try to write test coverage for all new functionality. +We have two broad categories of tests. + +The *modular tests* are enabled by configuring with +`--enable-modular-tests`. These mostly use GLib's GTest framework, +and are standalone programs that do not affect the contents of the +production dbus library and programs. Most of them can be installed +alongside the library and programs by configuring with +`--enable-installed-tests`. + +The *embedded tests* are enabled by configuring with +`--enable-embedded-tests`. Unlike the modular tests, enabling the +embedded tests adds special code to libdbus and dbus-daemon, some of +which may harm performance or security. A production version of dbus +that will be included in an operating system should never have the +embedded tests enabled. + +If possible, new test coverage should be provided via modular tests, +preferably using GLib's GTest framework. `test/dbus-daemon.c` is a good +example. + +## Information for maintainers + +This section is not directly relevant to infrequent contributors. + +### Releasing + +To make a release of D-Bus, do the following: + + - check out a fresh copy from Git + + - verify that the libtool versioning/library soname is + changed if it needs to be, or not changed if not + + - update the file NEWS based on the git history + + - verify that the version number of dbus-specification.xml is + changed if it needs to be; if changes have been made, update the + release date in that file + + - update the AUTHORS file with "make update-authors" if necessary + + - the version number should have major.minor.micro, even + if micro is 0, i.e. "1.0.0" and "1.2.0" not "1.0"/"1.2"; the micro + version should be even for releases, and odd for intermediate snapshots + + - "make distcheck" (DO NOT just "make dist" - pass the check!) + + - if make distcheck fails, fix it. + + - once distcheck succeeds, "git commit -a". This is the version + of the tree that corresponds exactly to the released tarball. + + - tag the tree with "git tag -s -m 'Released X.Y.Z' dbus-X.Y.Z" + where X.Y.Z is the version of the release. If you can't sign + then simply created an unsigned annotated tag: + "git tag -a -m 'Released X.Y.Z' dbus-X.Y.Z". + + - bump the version number up in configure.ac (so the micro version is odd), + and commit it. Make sure you do this *after* tagging the previous + release! The idea is that git has a newer version number + than anything released. Similarly, bump the version number of + dbus-specification.xml and set the release date to "(not finalized)". + + - merge the branch you've released to the chronologically-later + branch (usually "master"). You'll probably have to fix a merge + conflict in configure.ac (the version number). + + - push your changes and the tag to the central repository with + git push origin master dbus-X.Y dbus-X.Y.Z + + - scp your tarball to freedesktop.org server and copy it to + dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/releases/dbus/dbus-X.Y.Z.tar.gz. + This should be possible if you're in group "dbus" + + - Update the online documentation with `make -C doc maintainer-upload-docs`. + + - update the wiki page http://www.freedesktop.org/Software/dbus by + adding the new release under the Download heading. Then, cut the + link and changelog for the previous that was there. + + - post to d...@lists.freedesktop.org announcing the release. + +### Making a ".0" stable release + +We create a branch for each stable release. The branch name should be +dbus-X.Y which is a branch that has releases versioned X.Y.Z; +changes on a stable branch should be limited to significant bug fixes. + +Because we won't make minor changes like keeping up with the latest +deprecations on a stable branch, stable branches should turn off the +gcc warning for deprecated declarations (e.g. see commit 4ebb275ab7). + +Be extra-careful not to merge master (or any branch based on master) into a +stable branch. + +To branch: + + git branch dbus-X.Y + +and upload the branch tag to the server: + + git push origin dbus-X.Y + +To develop in this branch: + + git checkout dbus-X.Y + +### Code reviews + +The commit rules are approximately these: + + - Fixes that don't affect API or protocol can be committed + if any one qualified reviewer other than patch author + reviews and approves + + - For fixes that do affect API or protocol, two people + in the reviewer group have to review and approve the commit. + + - If there's a live unresolved controversy about a change, + don't commit it while the argument is still raging. + + - At their discretion, members of the reviewer group may also commit + branches/patches under these conditions: + + - the branch does not add or change API, ABI or wire-protocol + + - the branch solves a known problem and is covered by the regression tests + + - there are no objections from the rest of the review group within + a week of the merge request being opened + + - the committer gets a positive review on the merge request from someone + they consider qualified to review the change (e.g. a colleague with D-Bus + experience; not necessarily a member of the reviewer group) + + - Regardless of reviews, to commit a patch: + + - `make check` must pass + - the test suite must be extended to cover the new code + as much as reasonably feasible (see Tests above) + - the patch has to follow the portability, security, and + style guidelines + - the patch should as much as reasonable do one thing, + not many unrelated changes + + No reviewer should approve a patch without these attributes, and + failure on these points is grounds for reverting the patch. + +The reviewer group that can approve patches consists of the members +of <https://gitlab.freedesktop.org/dbus/dbus/project_members> with +"Maintainer" or "Owner" status. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/HACKING new/dbus-1.12.12/HACKING --- old/dbus-1.12.10/HACKING 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.12/HACKING 1970-01-01 01:00:00.000000000 +0100 @@ -1,356 +0,0 @@ -The guidelines in this file are the ideals; it's better to send a -not-fully-following-guidelines patch than no patch at all, though. We -can always polish it up. - -Mailing list -=== - -The D-Bus mailing list is d...@lists.freedesktop.org; discussion -of patches, etc. should go there. - -Security -=== - -If you find a security vulnerability that is not known to the public, -please report it privately to dbus-secur...@lists.freedesktop.org -or by reporting a freedesktop.org bug that is marked as -restricted to the "D-BUS security group". - -Most of D-Bus is security sensitive. Guidelines related to that: - - - avoid memcpy(), sprintf(), strlen(), snprintf, strlcat(), - strstr(), strtok(), or any of this stuff. Use DBusString. - If DBusString doesn't have the feature you need, add it - to DBusString. - - There are some exceptions, for example - if your strings are just used to index a hash table - and you don't do any parsing/modification of them, perhaps - DBusString is wasteful and wouldn't help much. But definitely - if you're doing any parsing, reallocation, etc. use DBusString. - - - do not include system headers outside of dbus-memory.c, - dbus-sysdeps.c, and other places where they are already - included. This gives us one place to audit all external - dependencies on features in libc, etc. - - - do not use libc features that are "complicated" - and may contain security holes. For example, you probably shouldn't - try to use regcomp() to compile an untrusted regular expression. - Regular expressions are just too complicated, and there are many - different libc's out there. - - - we need to design the message bus daemon (and any similar features) - to use limited privileges, run in a chroot jail, and so on. - -http://vsftpd.beasts.org/ has other good security suggestions. - -Coding Style -=== - - - The C library uses GNU coding conventions, with GLib-like - extensions (e.g. lining up function arguments). The - Qt wrapper uses KDE coding conventions. - - - Write docs for all non-static functions and structs and so on. try - "doxygen Doxyfile" prior to commit and be sure there are no - warnings printed. - - - All external interfaces (network protocols, file formats, etc.) - should have documented specifications sufficient to allow an - alternative implementation to be written. Our implementation should - be strict about specification compliance (should not for example - heuristically parse a file and accept not-well-formed - data). Avoiding heuristics is also important for security reasons; - if it looks funny, ignore it (or exit, or disconnect). - -Development -=== - -D-Bus uses Git as its version control system. The main repository is -hosted on freedesktop.org. To clone D-Bus, execute one of the -following commands: - - git clone https://anongit.freedesktop.org/git/dbus/dbus.git - git clone git://anongit.freedesktop.org/dbus/dbus - git clone ssh://git.freedesktop.org/git/dbus/dbus - -The last form is the one that allows pushing, but it also requires -an SSH account on the server. The other forms allow anonymous -checkouts. - -D-Bus development happens in two branches in parallel: the current -stable branch, with an even minor number (like 1.0, 1.2 and 1.4), and -the next development branch, with the next odd number. - -The stable branch is named after the version number itself (dbus-1.2, -dbus-1.4), whereas the development branch is simply known as "master". - -When making a change to D-Bus, do the following: - - - check out the earliest branch of D-Bus that makes sense to have - your change in. If it's a bugfix, it's normally the current stable - branch; if it's a feature, it's normally the "master" branch. If - you have an important security fix, you may want to apply to older - branches too. - - - for large changes: - if you're developing a new, large feature, it's recommended - to create a new branch and do your development there. Publish - your branch at a suitable place and ask others to help you - develop and test it. Once your feature is considered finalised, - you may merge it into the "master" branch. - -- for small changes: - . make your change to the source code - . execute tests to guarantee that you're not introducing a - regression. For that, execute: make check - (if possible, add a new test to check the fix you're - introducing) - . commit your change using "git commit" - in the commit message, write a short sentence describing what - you did in the first line. Then write a longer description in - the next paragraph(s). - . repeat the previous steps if necessary to have multiple commits - - - extract your patches and send to the D-Bus mailing list for - review or post them to the D-Bus Bugzilla, attaching them to a bug - report. To extract the patches, execute: - git format-patch origin/master - - - once your code has been reviewed, you may push it to the Git - server: - git push origin my-branch:remote - OR - git push origin dbus-X.Y - OR - git push origin master - (consult the Git manual to know which command applies) - - - (Optional) if you've not worked on "master", merge your changes to - that branch. If you've worked on an earlier branch than the current - stable, merge your changes upwards towards the stable branch, then - from there into "master". - - . execute: git checkout master - . ensure that you have the latest "master" from the server, update - if you don't - . execute: git merge dbus-X.Y - . if you have any conflicts, resolve them, git add the conflicted - files and then git commit - . push the "master" branch to the server as well - - Executing this merge is recommended, but not necessary for all - changes. You should do this step if your bugfix is critical for the - development in "master", or if you suspect that conflicts will arise - (you're usually the best person to resolve conflicts introduced by - your own code), or if it has been too long since the last merge. - - -Making a release -=== - -To make a release of D-Bus, do the following: - - - check out a fresh copy from Git - - - verify that the libtool versioning/library soname is - changed if it needs to be, or not changed if not - - - update the file NEWS based on the git history - - - verify that the version number of dbus-specification.xml is - changed if it needs to be; if changes have been made, update the - release date in that file - - - update the AUTHORS file with "make update-authors" if necessary - - - the version number should have major.minor.micro, even - if micro is 0, i.e. "1.0.0" and "1.2.0" not "1.0"/"1.2"; the micro - version should be even for releases, and odd for intermediate snapshots - - - "make distcheck" (DO NOT just "make dist" - pass the check!) - - - if make distcheck fails, fix it. - - - once distcheck succeeds, "git commit -a". This is the version - of the tree that corresponds exactly to the released tarball. - - - tag the tree with "git tag -s -m 'Released X.Y.Z' dbus-X.Y.Z" - where X.Y.Z is the version of the release. If you can't sign - then simply created an unsigned annotated tag: - "git tag -a -m 'Released X.Y.Z' dbus-X.Y.Z". - - - bump the version number up in configure.ac (so the micro version is odd), - and commit it. Make sure you do this *after* tagging the previous - release! The idea is that git has a newer version number - than anything released. Similarly, bump the version number of - dbus-specification.xml and set the release date to "(not finalized)". - - - merge the branch you've released to the chronologically-later - branch (usually "master"). You'll probably have to fix a merge - conflict in configure.ac (the version number). - - - push your changes and the tag to the central repository with - git push origin master dbus-X.Y dbus-X.Y.Z - - - scp your tarball to freedesktop.org server and copy it to - dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/releases/dbus/dbus-X.Y.Z.tar.gz. - This should be possible if you're in group "dbus" - - - Update the online documentation with `make -C doc maintainer-upload-docs`. - - - update the wiki page http://www.freedesktop.org/Software/dbus by - adding the new release under the Download heading. Then, cut the - link and changelog for the previous that was there. - - - update the wiki page - http://www.freedesktop.org/Software/DbusReleaseArchive pasting the - previous release. Note that bullet points for each of the changelog - items must be indented three more spaces to conform to the - formatting of the other releases there. - - - post to d...@lists.freedesktop.org announcing the release. - - -Making a ".0" stable release -=== - -We create a branch for each stable release. The branch name should be -dbus-X.Y which is a branch that has releases versioned X.Y.Z; -changes on a stable branch should be limited to significant bug fixes. - -Because we won't make minor changes like keeping up with the latest -deprecations on a stable branch, stable branches should turn off the -gcc warning for deprecated declarations (e.g. see commit 4ebb275ab7). - -Be extra-careful not to merge master (or any branch based on master) into a -stable branch. - -To branch: - git branch dbus-X.Y -and upload the branch tag to the server: - git push origin dbus-X.Y - -To develop in this branch: - git checkout dbus-X.Y - -Environment variables -=== - -These are the environment variables that are used by the D-Bus client library - -DBUS_VERBOSE=1 -Turns on printing verbose messages. This only works if D-Bus has been -compiled with --enable-verbose-mode - -DBUS_MALLOC_FAIL_NTH=n -Can be set to a number, causing every nth call to dbus_alloc or -dbus_realloc to fail. This only works if D-Bus has been compiled with ---enable-tests. - -DBUS_MALLOC_FAIL_GREATER_THAN=n -Can be set to a number, causing every call to dbus_alloc or -dbus_realloc to fail if the number of bytes to be allocated is greater -than the specified number. This only works if D-Bus has been compiled with ---enable-tests. - -DBUS_TEST_MALLOC_FAILURES=n -Many of the D-Bus tests will run over and over, once for each malloc -involved in the test. Each run will fail a different malloc, plus some -number of mallocs following that malloc (because a fair number of bugs -only happen if two or more mallocs fail in a row, e.g. error recovery -that itself involves malloc). This env variable sets the number of -mallocs to fail. -Here's why you care: If set to 0, then the malloc checking is skipped, -which makes the test suite a heck of a lot faster. Just run with this -env variable unset before you commit. - -Tests -=== - -These are the test programs that are built if dbus is compiled using ---enable-tests. - -dbus/test-dbus -This is the main unit test program that tests all aspects of the D-Bus -client library. - -dbus/bus-test -This it the unit test program for the message bus. - -test/break-loader -A test that tries to break the message loader by passing it randomly -created invalid messages. - -test/name-test/* -This is a suite of programs which are run with a temporary session bus. -If your test involves multiple processes communicating, your best bet -is to add a test in here. - -"make check" runs all the deterministic test programs (i.e. not break-loader). - -"make lcov-check" is available if you configure with --enable-compiler-coverage -and gives a complete report on test suite coverage. - -Patches -=== - -Please file them at http://bugzilla.freedesktop.org under component -dbus, and also post to the mailing list for discussion. The commit -rules are: - - - for fixes that don't affect API or protocol, they can be committed - if any one qualified reviewer other than patch author - reviews and approves - - - for fixes that do affect API or protocol, two people - in the reviewer group have to review and approve the commit, and - posting to the list is definitely mandatory - - - if there's a live unresolved controversy about a change, - don't commit it while the argument is still raging. - - - at their discretion, members of the reviewer group may also commit - branches/patches under these conditions: - - - the branch does not add or change API, ABI or wire-protocol - - - the branch solves a known problem and is covered by the regression tests - - - there are no objections from the rest of the review group within - a week of the patches being attached to Bugzilla - - - the committer gets a positive review on Bugzilla from someone they - consider qualified to review the change (e.g. a colleague with D-Bus - experience; not necessarily a member of the reviewer group) - - - regardless of reviews, to commit a patch: - - make check must pass - - the test suite must be extended to cover the new code - as much as reasonably feasible (see Tests above) - - the patch has to follow the portability, security, and - style guidelines - - the patch should as much as reasonable do one thing, - not many unrelated changes - No reviewer should approve a patch without these attributes, and - failure on these points is grounds for reverting the patch. - -The reviewer group that can approve patches: - -Havoc Pennington <h...@pobox.net> -Michael Meeks <michael.me...@novell.com> -Alexander Larsson <al...@redhat.com> -Zack Rusin <z...@kde.org> -Joe Shaw <j...@assbarn.com> -Mikael Hallendal <mi...@imendio.com> -Richard Hult <rich...@imendio.com> -Owen Fraser-Green <o...@discobabe.net> -Olivier Andrieu <oliv...@users.sourceforge.net> -Colin Walters <walt...@verbum.org> -Thiago Macieira <thi...@kde.org> -John Palmieri <jo...@redhat.com> -Scott James Remnant <sc...@netsplit.com> -Will Thompson <will.thomp...@collabora.co.uk> -Simon McVittie <simon.mcvit...@collabora.co.uk> -David Zeuthen <dav...@redhat.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/Makefile.am new/dbus-1.12.12/Makefile.am --- old/dbus-1.12.10/Makefile.am 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.12/Makefile.am 2018-12-04 12:13:44.000000000 +0100 @@ -9,7 +9,7 @@ EXTRA_DIST = \ autogen.sh \ - HACKING \ + CONTRIBUTING.md \ dbus-1.pc.in \ cleanup-man-pages.sh \ ChangeLog.pre-1-0 \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/NEWS new/dbus-1.12.12/NEWS --- old/dbus-1.12.10/NEWS 2018-08-02 20:27:01.000000000 +0200 +++ new/dbus-1.12.12/NEWS 2018-12-04 14:56:48.000000000 +0100 @@ -1,3 +1,51 @@ +dbus 1.12.12 (2018-12-04) +========================= + +The “draconic disciple” release. + +dbus version control is now hosted on freedesktop.org's Gitlab +installation, and bug reports and feature requests have switched from +Bugzilla bugs (indicated by "fd.o #nnn") to Gitlab issues ("dbus#nnn") +and merge requests ("dbus!nnn"). + +Enhancements: + +• Reference the freedesktop.org Code of Conduct (Simon McVittie) + +Fixes: + +• Stop the dbus-daemon leaking memory (an error message) if delivering + the message that triggered auto-activation is forbidden. This is + technically a denial of service because the dbus-daemon will + run out of memory eventually, but it's a very slow and noisy one, + because all the rejected messages are also very likely to have + been logged to the system log, and its scope is typically limited by + the finite number of activatable services available. + (dbus#234, Simon McVittie) + +• Remove __attribute__((__malloc__)) attribute on dbus_realloc(), + which does not meet the criteria for that attribute in gcc 4.7+, + potentially leading to miscompilation (fd.o #107741, Simon McVittie) + +• Fix some small O(1) memory leaks (fd.o #107320, Simon McVittie) + +• Fix printf formats for pointer-sized integers on 64-bit Windows + (fd.o #105662, Ralf Habacker) + +• Always use select()-based poll() emulation on Darwin-based OSs + (macOS, etc.) and on Interix, similar to what libcurl does + (dbus#232, dbus!19; Simon McVittie) + +• Extend a test timeout to avoid spurious failures in CI + (dbus!26, Simon McVittie) + +Tests and CI: + +• Add Travis-CI builds for 64-bit Windows using mingw-w64 + (fd.o #105662, Ralf Habacker) + +• Add Gitlab-CI integration (fd.o #108177, Simon McVittie) + dbus 1.12.10 (2018-08-02) ========================= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/README new/dbus-1.12.12/README --- old/dbus-1.12.10/README 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.12/README 2018-12-04 12:13:44.000000000 +0100 @@ -18,7 +18,8 @@ See http://www.freedesktop.org/software/dbus/ for lots of documentation, mailing lists, etc. -See also the file HACKING for notes of interest to developers working on D-Bus. +See also the file CONTRIBUTING.md for notes of interest to developers +working on D-Bus. If you're considering D-Bus for use in a project, you should be aware that D-Bus was designed for a couple of specific use cases, a "system diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/build-aux/compile new/dbus-1.12.12/build-aux/compile --- old/dbus-1.12.10/build-aux/compile 2018-04-10 18:04:51.000000000 +0200 +++ new/dbus-1.12.12/build-aux/compile 2018-11-05 05:03:34.000000000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # 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 <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -255,7 +255,8 @@ echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -339,9 +340,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/build-aux/missing new/dbus-1.12.12/build-aux/missing --- old/dbus-1.12.10/build-aux/missing 2018-04-10 18:04:51.000000000 +0200 +++ new/dbus-1.12.12/build-aux/missing 2018-11-05 05:03:34.000000000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # 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 <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ exit $st fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software program_details () { @@ -207,9 +207,9 @@ exit $st # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/build-aux/tap-driver.sh new/dbus-1.12.12/build-aux/tap-driver.sh --- old/dbus-1.12.10/build-aux/tap-driver.sh 2018-04-10 18:04:51.000000000 +0200 +++ new/dbus-1.12.12/build-aux/tap-driver.sh 2018-11-05 05:03:34.000000000 +0100 @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2011-2017 Free Software Foundation, Inc. +# Copyright (C) 2011-2018 Free Software Foundation, Inc. # # 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 @@ -12,7 +12,7 @@ # 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 <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -132,7 +132,7 @@ # last `echo $?' statement), and would thus die reporting an internal # error. # For more information, see the Autoconf manual and the threads: - # <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html> + # <https://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html> # <http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2009-February/004121.html> trap : 1 3 2 13 15 if test $merge -gt 0; then @@ -643,7 +643,7 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/bus/activation.c new/dbus-1.12.12/bus/activation.c --- old/dbus-1.12.10/bus/activation.c 2017-11-24 14:15:49.000000000 +0100 +++ new/dbus-1.12.12/bus/activation.c 2018-12-03 17:32:31.000000000 +0100 @@ -1267,6 +1267,7 @@ entry->activation_message); } + dbus_error_free (&error); link = next; continue; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/bus/main.c new/dbus-1.12.12/bus/main.c --- old/dbus-1.12.10/bus/main.c 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.12/bus/main.c 2018-12-03 17:31:46.000000000 +0100 @@ -692,6 +692,7 @@ _dbus_string_get_length(&address) > 0 ? &address : NULL, &error); _dbus_string_free (&config_file); + _dbus_string_free (&address); if (context == NULL) { _dbus_warn ("Failed to start message bus: %s", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/config.h.in new/dbus-1.12.12/config.h.in --- old/dbus-1.12.10/config.h.in 2018-08-02 20:35:28.000000000 +0200 +++ new/dbus-1.12.12/config.h.in 2018-12-04 16:16:40.000000000 +0100 @@ -3,9 +3,6 @@ /* Define if building universal (internal helper macro) */ #undef AC_APPLE_UNIVERSAL_BUILD -/* poll doesn't work on devices */ -#undef BROKEN_POLL - /* Directory for installing the binaries */ #undef DBUS_BINDIR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/configure.ac new/dbus-1.12.12/configure.ac --- old/dbus-1.12.10/configure.ac 2018-08-02 20:34:11.000000000 +0200 +++ new/dbus-1.12.12/configure.ac 2018-12-04 14:56:54.000000000 +0100 @@ -3,7 +3,7 @@ m4_define([dbus_major_version], [1]) m4_define([dbus_minor_version], [12]) -m4_define([dbus_micro_version], [10]) +m4_define([dbus_micro_version], [12]) m4_define([dbus_version], [dbus_major_version.dbus_minor_version.dbus_micro_version]) AC_INIT([dbus],[dbus_version],[https://bugs.freedesktop.org/enter_bug.cgi?product=dbus],[dbus]) @@ -42,7 +42,7 @@ ## increment any time the source changes; set to ## 0 if you increment CURRENT -LT_REVISION=8 +LT_REVISION=9 ## increment if any interfaces have been added; set to 0 ## if any interfaces have been changed or removed. removal has @@ -630,34 +630,6 @@ AC_CHECK_HEADERS_ONCE([sys/prctl.h]) AC_CHECK_FUNCS_ONCE([prctl raise]) -#### Check for broken poll; taken from Glib's configure - -AC_MSG_CHECKING([for broken poll]) -AC_RUN_IFELSE([AC_LANG_SOURCE([[ - #include <stdlib.h> - #include <fcntl.h> - #include <poll.h> - #ifdef HAVE_SYS_POLL_H - #include <sys/poll.h> - #endif - int main(void) { - struct pollfd fds[1]; - int fd; - fd = open("/dev/null", 1); - fds[0].fd = fd; - fds[0].events = POLLIN; - fds[0].revents = 0; - if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { - exit(1); /* Does not work for devices -- fail */ - } - exit(0); - }]])], - [broken_poll=no], - [broken_poll=yes - AC_DEFINE(BROKEN_POLL,1,[poll doesn't work on devices])], - [broken_poll="no (cross compiling)"]) -AC_MSG_RESULT($broken_poll) - AC_MSG_CHECKING(for dirfd) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include <sys/types.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/dbus/dbus-memory.h new/dbus-1.12.12/dbus/dbus-memory.h --- old/dbus-1.12.10/dbus/dbus-memory.h 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.12/dbus/dbus-memory.h 2018-12-03 17:31:46.000000000 +0100 @@ -48,7 +48,6 @@ void* dbus_malloc0 (size_t bytes); DBUS_EXPORT -DBUS_MALLOC DBUS_ALLOC_SIZE(2) void* dbus_realloc (void *memory, size_t bytes); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/dbus/dbus-server-unix.c new/dbus-1.12.12/dbus/dbus-server-unix.c --- old/dbus-1.12.10/dbus/dbus-server-unix.c 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.12/dbus/dbus-server-unix.c 2018-12-03 17:31:46.000000000 +0100 @@ -249,6 +249,7 @@ goto systemd_err; dbus_free (fds); + _dbus_string_free (&address); return DBUS_SERVER_LISTEN_OK; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/dbus/dbus-sysdeps-win.c new/dbus-1.12.12/dbus/dbus-sysdeps-win.c --- old/dbus-1.12.10/dbus/dbus-sysdeps-win.c 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.12/dbus/dbus-sysdeps-win.c 2018-12-03 17:31:46.000000000 +0100 @@ -2556,7 +2556,7 @@ DPRINTF ("%3d %s", i++, pSymbol->Name); } else - DPRINTF ("%3d 0x%lx", i++, sf.AddrPC.Offset); + DPRINTF ("%3d 0x%Ix", i++, sf.AddrPC.Offset); line.SizeOfStruct = sizeof(IMAGEHLP_LINE); if (SymGetLineFromAddr (GetCurrentProcess (), sf.AddrPC.Offset, &dwDisplacement, &line)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/dbus/dbus-sysdeps.h new/dbus-1.12.12/dbus/dbus-sysdeps.h --- old/dbus-1.12.10/dbus/dbus-sysdeps.h 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.12/dbus/dbus-sysdeps.h 2018-12-03 17:31:46.000000000 +0100 @@ -48,6 +48,32 @@ #include <string.h> #include <stdarg.h> +#if !defined(BROKEN_POLL) && (defined(__APPLE__) || defined(__INTERIX)) + /* Following libcurl's example, we blacklist poll() on Darwin + * (macOS, iOS, etc.) and Interix due to a history of implementation + * issues. + * https://github.com/curl/curl/blob/master/m4/curl-functions.m4 + * + * On unspecified older macOS versions, poll() failed if given a + * device node to poll. + * + * On macOS < 10.9, poll() with nfds=0 failed instead of waiting for + * the timeout and then succeeding. + * + * On macOS >= 10.12, poll() with nfds=0 succeeded immediately + * instead of waiting for the timeout, resulting in busy-looping. + * + * On Interix, poll() apparently only works for files in /proc. + * + * The "legacy" build flavour in our CI machinery defines BROKEN_POLL + * on whatever platform is in use (normally Linux) to force use of the + * same select()-based poll() emulation that we use for macOS, Interix, + * and any platform that lacks a real poll(), so that we can test it + * more regularly. + */ +# define BROKEN_POLL +#endif + /* AIX sys/poll.h does #define events reqevents, and other * wonderousness, so must include sys/poll before declaring * DBusPollFD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/dbus/dbus-transport-socket.c new/dbus-1.12.12/dbus/dbus-transport-socket.c --- old/dbus-1.12.10/dbus/dbus-transport-socket.c 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.12/dbus/dbus-transport-socket.c 2018-12-03 17:31:46.000000000 +0100 @@ -1026,7 +1026,7 @@ flags); else _dbus_verbose ("asked to handle watch %p on fd %" DBUS_SOCKET_FORMAT " that we don't recognize\n", - watch, dbus_watch_get_socket (watch)); + watch, _dbus_socket_printable (_dbus_watch_get_socket (watch))); } #endif /* DBUS_ENABLE_VERBOSE_MODE */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/dbus/dbus.h new/dbus-1.12.12/dbus/dbus.h --- old/dbus-1.12.10/dbus/dbus.h 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.12/dbus/dbus.h 2018-12-04 12:13:44.000000000 +0100 @@ -91,8 +91,8 @@ * This manual also contains docs for @ref DBusInternals "D-Bus internals", * so you can use it to get oriented to the D-Bus source code if you're * interested in patching the code. You should also read the - * file HACKING which comes with the source code if you plan to contribute to - * D-Bus. + * file CONTRIBUTING.md which comes with the source code if you plan to + * contribute to D-Bus. * * As you read the code, you can identify internal D-Bus functions * because they start with an underscore ('_') character. Also, any diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/doc/Makefile.am new/dbus-1.12.12/doc/Makefile.am --- old/dbus-1.12.10/doc/Makefile.am 2018-04-27 19:18:24.000000000 +0200 +++ new/dbus-1.12.12/doc/Makefile.am 2018-12-04 13:28:05.000000000 +0100 @@ -145,7 +145,7 @@ if DBUS_CAN_UPLOAD_DOCS BONUS_FILES = \ $(top_srcdir)/README \ - $(top_srcdir)/HACKING \ + $(top_srcdir)/CONTRIBUTING.md \ $(top_srcdir)/AUTHORS \ $(top_srcdir)/NEWS \ $(top_srcdir)/COPYING \ @@ -189,7 +189,6 @@ maintainer-upload-docs: @echo "Can't upload documentation! Re-run configure with" @echo " --enable-doxygen-docs --enable-xml-docs --enable-ducktype-docs" - @echo "and ensure that man2html is installed." @false endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/m4/libtool.m4 new/dbus-1.12.12/m4/libtool.m4 --- old/dbus-1.12.10/m4/libtool.m4 2018-08-02 18:07:12.000000000 +0200 +++ new/dbus-1.12.12/m4/libtool.m4 2018-12-04 14:58:53.000000000 +0100 @@ -4063,7 +4063,8 @@ if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" @@ -6438,7 +6439,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no @@ -6813,7 +6814,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -6878,7 +6879,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -7217,7 +7218,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support @@ -7301,7 +7302,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. @@ -7312,7 +7313,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.10/test/dbus-daemon.c new/dbus-1.12.12/test/dbus-daemon.c --- old/dbus-1.12.10/test/dbus-daemon.c 2018-05-03 18:58:32.000000000 +0200 +++ new/dbus-1.12.12/test/dbus-daemon.c 2018-12-03 17:31:46.000000000 +0100 @@ -1045,9 +1045,13 @@ test_progress ('.'); test_main_context_iterate (f->ctx, TRUE); - /* It should take no longer than 500ms to get disconnected. We'll - * be generous and allow 1000ms. */ - g_assert_cmpint (g_get_monotonic_time (), <=, start + G_USEC_PER_SEC); + /* It should take 0.5s to get disconnected, as configured in + * valid-config-files/pending-fd-timeout.conf; but this test + * might get starved by other processes running in parallel + * (particularly on shared CI systems), so we have to be a lot + * more generous. Allow up to 10 seconds. */ + g_assert_cmpint (g_get_monotonic_time (), <=, + start + (10 * G_USEC_PER_SEC)); } g_object_unref (socket); ++++++ dbus-new-autoconf-archive.patch ++++++ Index: dbus-1.12.12/Makefile.am =================================================================== --- dbus-1.12.12.orig/Makefile.am +++ dbus-1.12.12/Makefile.am @@ -51,4 +51,4 @@ DISTCHECK_CONFIGURE_FLAGS = \ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} # Add rules for code-coverage testing, as defined by AX_CODE_COVERAGE -@CODE_COVERAGE_RULES@ +include $(top_srcdir)/aminclude_static.am Index: dbus-1.12.12/bus/Makefile.am =================================================================== --- dbus-1.12.12.orig/bus/Makefile.am +++ dbus-1.12.12/bus/Makefile.am @@ -306,4 +306,4 @@ systemduserunit_DATA = \ endif # Add rules for code-coverage testing, as defined by AX_CODE_COVERAGE -@CODE_COVERAGE_RULES@ +include $(top_srcdir)/aminclude_static.am Index: dbus-1.12.12/dbus/Makefile.am =================================================================== --- dbus-1.12.12.orig/dbus/Makefile.am +++ dbus-1.12.12/dbus/Makefile.am @@ -329,7 +329,7 @@ test_dbus_SOURCES= \ test_dbus_LDADD = libdbus-internal.la # Add rules for code-coverage testing, as defined by AX_CODE_COVERAGE -@CODE_COVERAGE_RULES@ +include $(top_srcdir)/aminclude_static.am clean-local: $(AM_V_at)rm -fr ./.dbus-keyrings Index: dbus-1.12.12/test/Makefile.am =================================================================== --- dbus-1.12.12.orig/test/Makefile.am +++ dbus-1.12.12/test/Makefile.am @@ -672,4 +672,4 @@ $(installable_test_meta_with_config): %_ ) > $@.tmp && mv $@.tmp $@ # Add rules for code-coverage testing, as defined by AX_CODE_COVERAGE -@CODE_COVERAGE_RULES@ +include $(top_srcdir)/aminclude_static.am ++++++ dbus-no-ax-check.patch ++++++ >From ee09cc0acdc1c34e8ae999adf9922f3d0d66f407 Mon Sep 17 00:00:00 2001 From: Simon McVittie <s...@collabora.com> Date: Mon, 21 Jan 2019 14:28:24 +0000 Subject: configure.ac: Forbid AX_-prefixed patterns more selectively We want to make autoconf fail early and with a user-comprehensible message if autoconf-archive isn't installed, rather than generating a configure script with syntax errors, or a configure script that runs successfully but doesn't do what we intended. However, autoconf-archive doesn't actually guarantee not to use AX_-prefixed shell variable names without m4_pattern_allow'ing them (unlike Autoconf, Automake, Libtool and pkg-config, which explicitly use m4_pattern_allow for variables with AC_, AM_, LT_ and PKG_ prefixes), so it isn't safe to assume that they won't be used. In particular, recent versions of AX_CHECK_GNU_MAKE appear to be using $AX_CHECK_GNU_MAKE_HEADLINE as a shell variable. Instead, specifically forbid the names of the finite list of macros that we actually use. Signed-off-by: Simon McVittie <s...@collabora.com> Resolves: dbus#249 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index a5a7fd3..83d8b47 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ AC_INIT([dbus], [dbus_version], [https://gitlab.freedesktop.org/dbus/dbus/issues AC_CONFIG_AUX_DIR([build-aux]) -m4_pattern_forbid([^AX_], +m4_pattern_forbid([^AX_(CHECK_ENABLE_DEBUG|CODE_COVERAGE|COMPILER_FLAGS|COMPILER_FLAGS_(CFLAGS|CXXFLAGS|LDFLAGS))\b], [Unexpanded AX_ macro found. Please install GNU autoconf-archive]) AC_CANONICAL_HOST -- cgit v1.1