Age | Commit message (Collapse) | Author | Files | Lines |
|
This fixes a build failure with old g++ compilers not accepting
-Wc++11-compat.
|
|
|
|
The ncurses bug (#542031) has long been fixed.
|
|
This will allow downstreams to choose something better than gzip as
their default compressor, for example xz. Or when xz becomes the
default to revert back to something else.
|
|
|
|
Use liblzma if available instead of external commands to handle .xz
and .lzma compressed files.
Among other things, this means the xz-utils package no longer has to
be part of the base system.
Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
This sets up the environment to be able to run the local scripts using
local modules and data files.
|
|
The standard way to select if a specific component of the build is to
be enabled or disabled is through --enable-foo and --disable-foo
options, --with-foo and --without-foo are used for selecting external
modules to be used.
|
|
|
|
The md5 module imported from OpenBSD is using these BSD types, but
those are not present on at least Solaris. Define them to their
corresponding C99 types, so that the imported code has to be modified
as less as possible.
Reported-by: Andrew Stormont <andrew.stormont@nexenta.com>
|
|
When building a distribution tarball, the full gettext suite is required
because the *.gmo files are shipped in there. A lex program is also
required because the tarball ships the pre-generated *.c files.
Reported-by: Cyril Brulebois <kibi@debian.org>
|
|
Reported-by: Cyril Brulebois <kibi@debian.org>
|
|
The variable is declared as precious via AC_ARG_VAR, but assigned to
unconditionally.
|
|
The build system requires a perl interpreter to retrieve its library
directory path and to execute dpkg-architecture.pl.
|
|
Continuing will only produce a buggy dpkg.
|
|
This will help building dpkg on systems where perl is not at
/usr/bin/perl, which we were already taking into consideration for the
resulting scripts but not during build.
|
|
|
|
We use those to create binary output, so we require them to be working.
|
|
|
|
Using sync() on unpack causes _all_ filesystems to be sync'd, which is
not so great when one of those is a thumb drive, mounted over a network,
or otherwise slow. Remove the sync-instead-of-fsync codepath due to
those side-effects and to simplify maintenance.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
Reported-by: Raphael Geissert <geissert@debian.org>
Tested-by: Raphael Geissert <geissert@debian.org>
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
Conflicts:
debian/changelog
m4/dpkg-funcs.m4
man/dpkg.1
|
|
It causes undesired I/O on unrelated file systems. It also makes the
code behave differently on Linux systems.
Allow the possibility to enable it again for the benefit of downstreams,
which might want to use it regardless of its problems. Although this
code path will most probably be removed in the near future.
Closes: #588339, #595927, #600075
|
|
Remove trailing spaces. Remove blank lines not separating different code
blocks. Remove blank lines at the end of the file.
|
|
Global review, which includes the following changes to try to increase
consistency, update and improve the source code comments:
- Spelling fixes.
- Use American English forms.
- Uppercase NULL, NUL and ASCII.
- Use “Note: ” instead of the slightly cryptic “NB: ” form.
- Write comments as proper sentences, including capitalizations and
ending dots.
- Move comments before the code, function or variable they refer to.
- Move general function comments outside the body.
- Convert function and variable description comments to doxygen.
- Use one space before dot, exclamation and question marks.
- Use ‘’ or “” instead of `' style quoting.
- Remove author names from comments, already visible from “git blame”.
- Mark strings for translators with “TRANSLATORS: ”.
- Remove useless or outdated comments.
- Fix comment indentation.
- Standardize comment format:
/* Short text comment. */
/* Long text,
* comment. */
/*
* Section text.
*/
|
|
|
|
|
|
The current code was executing code in the action arguments, instead
of just setting boolean flags and processing them afterwards. This
poses several problems, it implies jugling code around in case the the
default changes, it might also duplicate code, and it might leave the
ACTION-IF-NOT-GIVEN argument empty which could turn into an empty
“then fi” shell block which is a syntax error on POSIX shell. Leaving
the ACTION-IF-GIVEN argument empty is fine as it's always used by
autoconf to set $enableval to the specific enable variable, and setting
that variable from $enableval is redundant and might be wrong depending
on the order they are set, which could empty it.
Reported-by: Michael Schmidt <michael.schmidt.dangel@gmail.com>
|
|
|
|
This was making the regex non-functional, as the square brackets
were being removed when generating the output file, thus making the
--disable-compiler-optimisations and --disable-linker-optimisations
non-functional.
|
|
If building dselect is requested (the default), ncurses is requested
through DPKG_LIB_CURSES, but if it isn't found, only AC_MSG_WARN is
used, leading to a successful configure and a failure to build
dselect/*. Use AC_MSG_ERROR instead to make configure bail out.
Reported-by: Michael Schmidt <michael.schmidt.dangel@gmail.com>
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
|
|
Enable code coverage support with 'configure --enable-coverage'. Use
gcov and lcov for C code coverage, and Devel::Cover and cover for Perl
code coverage.
|
|
|
|
The set of default warnings is quite safe, and should point out real
problems or stylistic ones. It's easy to forget, so let's enable them by
default. This will also not interfere with user settings as those will
override the defaults.
|
|
DPKG_CHECK_DEFINE defines the HAVE_symbol to 1 if found, and to 0
otherwise. But the only current user is doing “#ifdef TIOCNOTTY”, which
defeats the test as it's always going to be true, regardless of the
value. Switch to the simplified DPKG_CHECK_DECL, which does not define
the symbol if not found, and remove now unused DPKG_CHECK_DEFINE.
|
|
The current mmap code is not reliable, as it does not handle SIGBUS,
which can happen on I/O errors (among others). Switch the code to
check for USE_MMAP instead of HAVE_MMAP so that it can be explicitly
enabled on build, to produce consistent results by making sure it does
not get reactivated accidentally. Disable it by default due to the
above, in addition to not having been used by released tarballs since
1.14.15.
|
|
Now that the dpkg m4 files are namespaced, we can ignore all foreign
ones safely.
|
|
Due to the performance degradation on ext4 file systems, as a
workaround on Linux, we use sync() which is synchronous, before
rename() to make sure it's truly atomic.
Closes: #578635
|
|
Check for compiler support from preprocessor macros and selectively
enable specific __attribute__ specifications. We avoid exposing the
configure variable HAVE_C_ATTRIBUTE, which was never defined for the
installed headers. Remove the now unused DPKG_C_ATTRIBUTE autoconf
macro.
|
|
This affects only dselect ncurses support for now.
Based-on-patch-by: Yuri Vasilevski <yvasilev@gentoo.org>
|
|
|
|
|
|
|
|
|
|
Use PKG_PROG_PKG_CONFIG to detect and allow overriding the pkg-config
binary to use, for example in case of cross-compilation.
Suggested-by: Tollef Fog Heen <tfheen@err.no>
|
|
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
Use the po4a command found when doing the availability checks.
Reported-by: Felipe Contreras <felipe.contreras@gmail.com>
|
|
This avoids possible future collisions and makes it easier to see
what's coming from dpkg and what each file is for.
|
|
Place first <config.h> and <compat.h>, then all <sys/*.h> sorted by
complexity, followed by the rest of the system headers, then <dpkg/*.h>
and finally the local "*.h" ones.
Move <dpkg/i18n.h> inclusion into libdpkg inclusion block, as the
<gettext.h> compatibility header already takes care of including
<locale.h> before <libintl.h> on environments were its probamatic.
Removed duplicated inclusions.
|