Commit 79a7e953 authored by Lorenzo "Palinuro" Faletra's avatar Lorenzo "Palinuro" Faletra Committed by Lorenzo "Palinuro" Faletra

Import Debian version 1.8.1+parrot1

apt (1.8.1+parrot1) testing; urgency=medium

  * Import new Debian release.
  * Re-apply https downgrade patch.

apt (1.8.1) unstable; urgency=medium

  * Add test case for local-only packages pinned to never
  * Prevent shutdown while running dpkg (LP: #1820886)
  * Add linux-{buildinfo,image-unsigned,source} versioned kernel pkgs
    (LP: #1821640)
parent c5dc7863
# - Try to find SYSTEMD
# Once done, this will define
#
# SYSTEMD_FOUND - system has SYSTEMD
# SYSTEMD_INCLUDE_DIRS - the SYSTEMD include directories
# SYSTEMD_LIBRARIES - the SYSTEMD library
find_package(PkgConfig)
pkg_check_modules(SYSTEMD_PKGCONF libsystemd)
find_path(SYSTEMD_INCLUDE_DIRS
NAMES systemd/sd-bus.h
PATHS ${SYSTEMD_PKGCONF_INCLUDE_DIRS}
)
find_library(SYSTEMD_LIBRARIES
NAMES systemd
PATHS ${SYSTEMD_PKGCONF_LIBRARY_DIRS}
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Systemd DEFAULT_MSG SYSTEMD_INCLUDE_DIRS SYSTEMD_LIBRARIES)
mark_as_advanced(SYSTEMD_INCLUDE_DIRS SYSTEMD_LIBRARIES)
......@@ -20,6 +20,9 @@
/* Define if we have the zstd library for zst */
#cmakedefine HAVE_ZSTD
/* Define if we have the systemd library */
#cmakedefine HAVE_SYSTEMD
/* Define if we have the udev library */
#cmakedefine HAVE_UDEV
......
......@@ -115,6 +115,11 @@ if (UDEV_FOUND)
set(HAVE_UDEV 1)
endif()
find_package(Systemd)
if (SYSTEMD_FOUND)
set(HAVE_SYSTEMD 1)
endif()
find_package(Seccomp)
if (SECCOMP_FOUND)
set(HAVE_SECCOMP 1)
......@@ -188,7 +193,7 @@ check_cxx_target(HAVE_FMV_SSE42_AND_CRC32DI "sse4.2" "__builtin_ia32_crc32di(0,
# Configure some variables like package, version and architecture.
set(PACKAGE ${PROJECT_NAME})
set(PACKAGE_MAIL "APT Development Team <deity@lists.debian.org>")
set(PACKAGE_VERSION "1.8.0")
set(PACKAGE_VERSION "1.8.1")
if (NOT DEFINED DPKG_DATADIR)
execute_process(COMMAND ${PERL_EXECUTABLE} -MDpkg -e "print $Dpkg::DATADIR;"
......
......@@ -46,6 +46,7 @@ target_include_directories(apt-pkg
${LZ4_INCLUDE_DIRS}
$<$<BOOL:${ZSTD_FOUND}>:${ZSTD_INCLUDE_DIRS}>
$<$<BOOL:${UDEV_FOUND}>:${UDEV_INCLUDE_DIRS}>
$<$<BOOL:${SYSTEMD_FOUND}>:${SYSTEMD_INCLUDE_DIRS}>
${ICONV_INCLUDE_DIRS}
)
......@@ -58,6 +59,7 @@ target_link_libraries(apt-pkg
${LZ4_LIBRARIES}
$<$<BOOL:${ZSTD_FOUND}>:${ZSTD_LIBRARIES}>
$<$<BOOL:${UDEV_FOUND}>:${UDEV_LIBRARIES}>
$<$<BOOL:${SYSTEMD_FOUND}>:${SYSTEMD_LIBRARIES}>
${ICONV_LIBRARIES}
)
set_target_properties(apt-pkg PROPERTIES VERSION ${MAJOR}.${MINOR})
......
......@@ -71,6 +71,9 @@
#ifdef HAVE_ZSTD
#include <zstd.h>
#endif
#ifdef HAVE_SYSTEMD
#include <systemd/sd-bus.h>
#endif
#include <endian.h>
#include <stdint.h>
......@@ -3393,3 +3396,48 @@ bool OpenConfigurationFileFd(std::string const &File, FileFd &Fd) /*{{{*/
return true;
}
/*}}}*/
int Inhibit(const char *what, const char *who, const char *why, const char *mode) /*{{{*/
{
#ifdef HAVE_SYSTEMD
sd_bus_error error = SD_BUS_ERROR_NULL;
sd_bus_message *m = NULL;
sd_bus *bus = NULL;
int fd;
int r;
r = sd_bus_open_system(&bus);
if (r < 0)
goto out;
r = sd_bus_call_method(bus,
"org.freedesktop.login1",
"/org/freedesktop/login1",
"org.freedesktop.login1.Manager",
"Inhibit",
&error,
&m,
"ssss",
what,
who,
why,
mode);
if (r < 0)
goto out;
r = sd_bus_message_read(m, "h", &fd);
if (r < 0)
goto out;
// We received a file descriptor, return it - systemd will close the read fd
// on free, so let's duplicate it here.
r = dup(fd);
out:
sd_bus_error_free(&error);
sd_bus_message_unref(m);
sd_bus_unref(bus);
return r;
#else
return -ENOTSUP;
#endif
}
/*}}}*/
......@@ -300,4 +300,6 @@ bool Popen(const char* Args[], FileFd &Fd, pid_t &Child, FileFd::OpenMode Mode);
APT_HIDDEN bool OpenConfigurationFileFd(std::string const &File, FileFd &Fd);
APT_HIDDEN int Inhibit(const char *what, const char *who, const char *why, const char *mode);
#endif
......@@ -1463,6 +1463,21 @@ bool pkgDPkgPM::ExpandPendingCalls(std::vector<Item> &List, pkgDepCache &Cache)
}
bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
{
struct Inhibitor
{
int Fd = -1;
Inhibitor()
{
if (_config->FindB("DPkg::Inhibit-Shutdown", true))
Fd = Inhibit("shutdown", "APT", "APT is installing or removing packages", "block");
}
~Inhibitor()
{
if (Fd > 0)
close(Fd);
}
} inhibitor;
// explicitly remove&configure everything for hookscripts and progress building
// we need them only temporarily through, so keep the length and erase afterwards
decltype(List)::const_iterator::difference_type explicitIdx =
......
......@@ -17,6 +17,7 @@ APT
"linux-modules";
"linux-modules-extra";
"linux-signed-image";
"linux-image-unsigned";
# kfreebsd kernels
"kfreebsd-image";
"kfreebsd-headers";
......@@ -30,6 +31,10 @@ APT
# tools
"linux-tools";
"linux-cloud-tools";
# build info
"linux-buildinfo";
# source code
"linux-source";
};
Never-MarkAuto-Sections
......
apt (1.8.1+parrot1) testing; urgency=medium
* Import new Debian release.
* Re-apply https downgrade patch.
-- Lorenzo "Palinuro" Faletra <palinuro@parrotsec.org> Fri, 10 May 2019 21:47:56 +0200
apt (1.8.1) unstable; urgency=medium
* Add test case for local-only packages pinned to never
* Prevent shutdown while running dpkg (LP: #1820886)
* Add linux-{buildinfo,image-unsigned,source} versioned kernel pkgs
(LP: #1821640)
-- Julian Andres Klode <jak@debian.org> Mon, 06 May 2019 10:41:52 +0200
apt (1.8.0+parrot1) testing; urgency=medium
* Allow https to http downgrade for https mirrordirectors with http mirrors.
......
......@@ -21,6 +21,7 @@ Build-Depends: cmake (>= 3.4),
liblz4-dev (>= 0.0~r126),
liblzma-dev,
libseccomp-dev [amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x hppa powerpc powerpcspe ppc64 x32],
libsystemd-dev [linux-any],
libudev-dev [linux-any],
libzstd-dev (>= 1.0),
ninja-build,
......
......@@ -268,7 +268,7 @@
">
<!-- this will be updated by 'prepare-release' -->
<!ENTITY apt-product-version "1.8.0">
<!ENTITY apt-product-version "1.8.1">
<!-- (Code)names for various things used all over the place -->
<!ENTITY debian-oldstable-codename "stretch">
......
......@@ -503,6 +503,9 @@ DPkg
progress-bg "<STRING>";
progress-bar "<BOOL>";
};
// Set a shutdown block inhibitor on systemd systems while running dpkg
Inhibit-Shutdown "<BOOL>";
}
/* Options you can set to see some debugging text They correspond to names
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-doc 1.8.0\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
"POT-Creation-Date: 2019-03-08 09:41+0100\n"
"POT-Creation-Date: 2019-05-06 10:41+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.8.0\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
"POT-Creation-Date: 2019-03-08 09:41+0100\n"
"POT-Creation-Date: 2019-05-06 10:41+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......
......@@ -407,7 +407,20 @@ testsuccessequal "coolstuff:
500 file:${tmppath}/aptarchive stable/main all Packages" aptcache policy coolstuff
msgmsg "Check that local-only versions can be pinned correctly (LP: #1821308)"
echo "Package: coolstuff
Pin: version 2.0~bpo1
Pin-Priority: 1000" > rootdir/etc/apt/preferences
testsuccessequal "coolstuff:
Installed: 2.0~bpo1
Candidate: 2.0~bpo1
Version table:
2.0~bpo2 100
100 file:${tmppath}/aptarchive backports/main all Packages
*** 2.0~bpo1 1000
100 ${tmppath}/rootdir/var/lib/dpkg/status
1.0 500
500 file:${tmppath}/aptarchive stable/main all Packages" aptcache policy coolstuff
# Check for 0
echo "Package: coolstuff
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment