Adding debian version 3.0.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
6810ba718b
commit
c7f0765a64
47 changed files with 16681 additions and 0 deletions
335
debian/NEWS
vendored
Normal file
335
debian/NEWS
vendored
Normal file
|
@ -0,0 +1,335 @@
|
|||
apt (2.9.24) unstable; urgency=medium
|
||||
|
||||
/etc/apt/trusted.gpg is no longer trusted. Setting the Dir::Etc::trusted
|
||||
option manually continues to work for some more time.
|
||||
|
||||
sources.list(5) entries without the Signed-By field are deprecated;
|
||||
migrate any legacy entries to the deb822 .sources format. See the
|
||||
apt-secure(8) manual page for best practices for signer configuration.
|
||||
This deprecates the /etc/apt/trusted.gpg.d directory.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Tue, 21 Jan 2025 12:17:36 +0100
|
||||
|
||||
apt (2.9.19) unstable; urgency=medium
|
||||
|
||||
This release switches to OpenSSL for hashing and TLS, replacing the
|
||||
GnuTLS and gcrypt libraries.
|
||||
|
||||
This release switches to Sequoia for OpenPGP verification on supported
|
||||
Debian platforms. A Sequoia policy override enabling SHA1 self-signatures
|
||||
until 2026 is included. To override the policy, the following environment
|
||||
variables and files are considered:
|
||||
|
||||
* The APT_SEQUOIA_CRYPTO_POLICY environment variable, and failing that:
|
||||
- /etc/crypto-policies/back-ends/apt-sequoia.config,
|
||||
- /var/lib/crypto-config/profiles/current/apt-sequoia.config
|
||||
* The SEQUOIA_CRYPTO_POLICY environment variable, and failing that:
|
||||
- /etc/crypto-policies/back-ends/sequoia.config
|
||||
- /var/lib/crypto-config/profiles/current/sequoia.config
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Mon, 23 Dec 2024 12:16:22 +0100
|
||||
|
||||
apt (2.9.15) unstable; urgency=medium
|
||||
|
||||
This release stops using apt-key to verify the signatures.
|
||||
Final call to stop using it before it's gone next week.
|
||||
|
||||
Please note that due to the switch to internal verification, APT now
|
||||
has the same requirements on files in trusted.gpg.d as for other .d
|
||||
directories: Only alphanumerical characters, '_', '-', ':' and '.'
|
||||
are supported, other characters such as '@' cause the file to silently
|
||||
be ignored.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Thu, 28 Nov 2024 19:31:24 +0100
|
||||
|
||||
apt (2.9.11) unstable; urgency=medium
|
||||
|
||||
The ftp, rsh, and ssh methods have been removed. They have been unsupported
|
||||
and disabled since 1.8. Please, migrate to http(s) instead, or contribute
|
||||
an sftp method.
|
||||
|
||||
If you need ad hoc access to a remote repository, you can usually run
|
||||
`python3 -m http.server` on that machine and use SSH port forwarding to
|
||||
run HTTP over SSH.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Thu, 07 Nov 2024 14:02:07 +0100
|
||||
|
||||
apt (2.5.2) unstable; urgency=medium
|
||||
|
||||
Installing or upgrading a binary package now upgrades other binaries from
|
||||
the same source package if they have the same candidate version. You can
|
||||
disable this by setting `APT::Get::Upgrade-By-Source-Package` to `false`.
|
||||
|
||||
-- Julian Andres Klode <juliank@ubuntu.com> Sun, 24 Jul 2022 15:45:15 +0200
|
||||
|
||||
apt (2.4.0) unstable; urgency=medium
|
||||
|
||||
GPG verification now first tries only the trusted.gpg.d keys, before
|
||||
then falling back to the legacy trusted.gpg keyring and issuing a
|
||||
warning to migrate keys if verification succeeded in the fallback.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Tue, 22 Feb 2022 20:01:00 +0100
|
||||
|
||||
apt (2.3.12) unstable; urgency=medium
|
||||
|
||||
The solver will no longer try to remove Essential or Protected packages,
|
||||
any dependency problem that would need such a solution will have to be
|
||||
resolved manually.
|
||||
|
||||
The "Yes, do as I say" prompt for removing essential packages has been
|
||||
replaced by an error message. The appropriate command-line option needs
|
||||
to be used instead.
|
||||
|
||||
Thank you to Linus Tech Tips and System76 for bringing this issue
|
||||
to our attention.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Wed, 17 Nov 2021 18:26:40 +0100
|
||||
|
||||
apt (2.1.16) unstable; urgency=medium
|
||||
|
||||
Automatically remove unused kernels on apt {dist,full}-upgrade. To revert
|
||||
to previous behavior, set APT::Get::AutomaticRemove::Kernels to false or
|
||||
pass --no-auto-remove to the command. apt-get remains unchanged.
|
||||
|
||||
Packages files can now set the Phased-Update-Percentage field to restrict
|
||||
update rollout to a specified percentage of machines. Previously, this has
|
||||
only been available to users of Ubuntu's update-manager tool. See
|
||||
apt_preferences(5) for details and how to configure multiple systems to get
|
||||
the same updates. Phased updates are disabled in chroots for now to not
|
||||
break buildd-style setups.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Fri, 08 Jan 2021 22:01:50 +0100
|
||||
|
||||
apt (1.9.11) experimental; urgency=medium
|
||||
|
||||
apt(8) now waits for the lock indefinitely if connected to a tty, or
|
||||
for 120 seconds if not.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Wed, 26 Feb 2020 20:30:33 +0100
|
||||
|
||||
apt (1.9.6) experimental; urgency=medium
|
||||
|
||||
apt(8) no longer treats package names passed as regular expressions or fnmatch
|
||||
expressions, requiring the use of patterns (apt-patterns(7)) to perform complex
|
||||
searches. For ease of use, regular expressions starting with ^ or ending with
|
||||
$ continue to work.
|
||||
|
||||
This fixes the problem where e.g. g++ could mean either "the package g++"
|
||||
or, if there is no g++ package, "all packages containing g". This change
|
||||
will propagate to apt-* after the release of Debian bullseye.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Wed, 15 Jan 2020 21:45:18 +0100
|
||||
|
||||
apt (1.9.5) unstable; urgency=medium
|
||||
|
||||
Credentials in apt_auth.conf(5) now only apply to https and tor+https
|
||||
sources to avoid them being leaked over plaintext (Closes: #945911). To
|
||||
opt-in to http, add http:// before the hostname. Note that this will transmit
|
||||
credentials in plain text, which you do not want on devices that could be
|
||||
operating in an untrusted network.
|
||||
|
||||
-- Julian Andres Klode <juliank@ubuntu.com> Mon, 02 Dec 2019 11:45:52 +0100
|
||||
|
||||
apt (1.8.0~alpha3) unstable; urgency=medium
|
||||
|
||||
The PATH for running dpkg is now configured by the option DPkg::Path,
|
||||
and defaults to "/usr/sbin:/usr/bin:/sbin:/bin". Previous behavior of
|
||||
not changing PATH may be restored by setting the option to an empty string.
|
||||
|
||||
Support for /etc/apt/auth.conf.d/ has been added, see apt_auth.conf(5).
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Tue, 18 Dec 2018 15:02:11 +0100
|
||||
|
||||
apt (1.6~rc1) unstable; urgency=medium
|
||||
|
||||
Seccomp sandboxing has been turned off by default for now. If it works
|
||||
for you, you are encouraged to re-enable it by setting APT::Sandbox::Seccomp
|
||||
to true.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Fri, 06 Apr 2018 14:14:29 +0200
|
||||
|
||||
apt (1.6~beta1) unstable; urgency=medium
|
||||
|
||||
APT now verifies that the date of Release files is not in the future. By
|
||||
default, it may be 10 seconds in the future to allow for some clock drift.
|
||||
|
||||
Two new configuration options can be used to tweak the behavior:
|
||||
Acquire::Check-Date
|
||||
Acquire::Max-DateFuture
|
||||
|
||||
These can be overridden in sources.list entries using the check-date
|
||||
and date-future-max options. Note that disabling check-date also
|
||||
disables checks on valid-until: It is considered to mean that your
|
||||
machine's time is not reliable.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Mon, 26 Feb 2018 13:14:13 +0100
|
||||
|
||||
apt (1.6~alpha1) unstable; urgency=medium
|
||||
|
||||
All methods provided by apt except for cdrom, gpgv, and rsh now
|
||||
use seccomp-BPF sandboxing to restrict the list of allowed system
|
||||
calls, and trap all others with a SIGSYS signal. Three options
|
||||
can be used to configure this further:
|
||||
|
||||
APT::Sandbox::Seccomp is a boolean to turn it on/off
|
||||
APT::Sandbox::Seccomp::Trap is a list of names of more syscalls to trap
|
||||
APT::Sandbox::Seccomp::Allow is a list of names of more syscalls to allow
|
||||
|
||||
Also, sandboxing is now enabled for the mirror method.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Mon, 23 Oct 2017 01:58:18 +0200
|
||||
|
||||
apt (1.5~beta1) unstable; urgency=medium
|
||||
|
||||
[ New HTTPS method ]
|
||||
The default http method now supports HTTPS itself, including encrypted proxies
|
||||
and connecting to HTTPS sites via HTTPS proxies; and the apt-transport-https
|
||||
package only provides a "curl+https" method now as a fallback, but will be
|
||||
removed shortly. If TLS support is unwanted, it can be disabled overall by
|
||||
setting the option Acquire::AllowTLS to "false".
|
||||
|
||||
As for backwards compatibility, the options IssuerCert and SslForceVersion
|
||||
are not supported anymore, and any specified certificate files must be in the
|
||||
PEM format (curl might have allowed DER files as well).
|
||||
|
||||
[ Changes to unauthenticated repositories ]
|
||||
The security exception for apt-get to only raise warnings if it encounters
|
||||
unauthenticated repositories in the "update" command is gone now, so that it
|
||||
will raise errors just like apt and all other apt-based front-ends do since
|
||||
at least apt version 1.3.
|
||||
|
||||
It is possible (but STRONGLY ADVISED AGAINST) to revert to the previous
|
||||
behaviour of apt-get by setting the option
|
||||
Binary::apt-get::Acquire::AllowInsecureRepositories "true";
|
||||
See apt-secure(8) manpage for configuration details.
|
||||
|
||||
[ Release Info Changes ]
|
||||
If values like Origin, Label, and Codename change in a Release file,
|
||||
update fails, or asks a user (if interactive). Various
|
||||
--allow-releaseinfo-change are provided for non-interactive use.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Mon, 03 Jul 2017 15:09:23 +0200
|
||||
|
||||
apt (1.4.2) unstable; urgency=medium
|
||||
|
||||
If periodic updates and unattended upgrades are enabled, the start of
|
||||
periodic updates are now distributed over 24 hour intervals (as in 1.2
|
||||
to 1.4), whereas starting unattended-upgrade has been restricted to a
|
||||
time between 6 and 7 am. This only affects systems using systemd, other
|
||||
systems still use the classical hourly cron job.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Thu, 04 May 2017 22:54:02 +0200
|
||||
|
||||
apt (1.4~beta1) unstable; urgency=medium
|
||||
|
||||
Support for GPG signatures using the SHA1 or RIPE-MD/160 hash
|
||||
algorithms has been disabled. Repositories using Release files
|
||||
signed in such a way will stop working. This change has been made
|
||||
due to security considerations, especially with regards to possible
|
||||
further breakthroughs in SHA1 breaking during the lifetime
|
||||
of this APT release series.
|
||||
|
||||
It is possible (but STRONGLY ADVISED AGAINST) to revert to the previous
|
||||
behaviour by setting the options
|
||||
APT::Hashes::SHA1::Weak "yes";
|
||||
APT::Hashes::RIPE-MD/160::Weak "yes";
|
||||
Note that setting these options only affects the verification of the overall
|
||||
repository signature.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Fri, 25 Nov 2016 13:19:32 +0100
|
||||
|
||||
apt (1.2~exp1) experimental; urgency=medium
|
||||
|
||||
[ Automatic removal of debs after install ]
|
||||
After packages are successfully installed by apt(8),
|
||||
the corresponding .deb package files will be
|
||||
removed from the /var/cache/apt/archives cache directory.
|
||||
|
||||
This can be changed by setting the apt configuration option
|
||||
"Binary::apt::APT::Keep-Downloaded-Packages" to "true". E.g:
|
||||
|
||||
# echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' \
|
||||
> /etc/apt/apt.conf.d/01keep-debs
|
||||
|
||||
Please note that the behavior of apt-get is unchanged. The
|
||||
downloaded debs will be kept in the cache directory after they
|
||||
are installed. To enable the behavior for other tools, you can set
|
||||
"APT::Keep-Downloaded-Packages" to false.
|
||||
|
||||
[ Compressed indices ]
|
||||
If you use Acquire::gzipIndexes, or any other compressed index targets,
|
||||
those will now be compressed with the fastest supported algorithm,
|
||||
currently lz4.
|
||||
|
||||
-- Michael Vogt <mvo@debian.org> Tue, 05 Jan 2016 19:22:16 +0100
|
||||
|
||||
apt (1.1~exp9) experimental; urgency=medium
|
||||
|
||||
A new algorithm for pinning has been implemented, it now assigns a
|
||||
pin priority to a version instead of assigning a pin to a package.
|
||||
|
||||
This might break existing corner cases of pinning, if they use multiple
|
||||
pins involving the same package name or patterns matching the same
|
||||
package name, but should overall lead to pinning that actually works
|
||||
as intended and documented.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Mon, 17 Aug 2015 14:45:17 +0200
|
||||
|
||||
apt (0.8.11) unstable; urgency=low
|
||||
|
||||
* apt-get install pkg/experimental will now not only switch the
|
||||
candidate of package pkg to the version from the release experimental
|
||||
but also of all dependencies of pkg if the current candidate can't
|
||||
satisfy a versioned dependency.
|
||||
|
||||
-- David Kalnischkies <kalnischkies@gmail.com> Fri, 03 Dec 2010 14:09:12 +0100
|
||||
|
||||
apt (0.7.26~exp3) experimental; urgency=low
|
||||
|
||||
* apt-ftparchive now reads the standard configuration files in
|
||||
/etc/apt/apt.conf and /etc/apt/apt.conf.d.
|
||||
|
||||
-- Julian Andres Klode <jak@debian.org> Fri, 26 Mar 2010 15:34:16 +0100
|
||||
|
||||
apt (0.7.24) unstable; urgency=low
|
||||
|
||||
* Already included in the last version but now with better documentation
|
||||
is the possibility to add/prefer different compression types while
|
||||
downloading archive information, which can decrease the time needed for
|
||||
update on slow machines. See apt.conf (5) manpage for details.
|
||||
* APT manages his manpage translations now with po4a, thanks to Nicolas
|
||||
François and Kurasawa Nozomu, who also provide the ja translation.
|
||||
Thanks to Christian Perrier we have already a fr translation and
|
||||
a few more are hopefully added in the near future.
|
||||
* This version also introduces some _experimental_ configuration options
|
||||
to make more aggressive use of dpkg's triggers. If you want to help
|
||||
testing these _experimental_ options see apt.conf (5) manpage.
|
||||
|
||||
-- David Kalnischkies <kalnischkies@gmail.com> Thu, 24 Sep 2009 15:13:16 +0200
|
||||
|
||||
apt (0.7.23) unstable; urgency=low
|
||||
|
||||
* Code that determines which proxy to use was changed. Now
|
||||
'Acquire::{http,ftp}::Proxy[::<host>]' options have the highest priority,
|
||||
and '{http,ftp}_proxy' environment variables are used only if options
|
||||
mentioned above are not specified.
|
||||
|
||||
-- Eugene V. Lyubimkin <jackyf.devel@gmail.com> Thu, 19 Aug 2009 11:26:16 +0200
|
||||
|
||||
apt (0.6.44) unstable; urgency=low
|
||||
|
||||
* apt-ftparchive --db now uses Berkeley DB_BTREE instead of DB_HASH.
|
||||
If you use a database created by an older version of apt, delete
|
||||
it and allow it to be recreated the next time.
|
||||
|
||||
-- Michael Vogt <mvo@debian.org> Wed, 26 Apr 2006 12:57:53 +0200
|
||||
|
||||
apt (0.5.25) unstable; urgency=low
|
||||
|
||||
* apt-ftparchive --db now uses Berkeley DB version 4.2. If used with a
|
||||
database created by an older version of apt, an attempt will be made
|
||||
to upgrade the database, but this may not work in all cases. If your
|
||||
database is not automatically upgraded, delete it and allow it to be
|
||||
recreated the next time.
|
||||
|
||||
-- Matt Zimmerman <mdz@debian.org> Sat, 8 May 2004 12:38:07 -0700
|
12
debian/apt-daily-upgrade.service
vendored
Normal file
12
debian/apt-daily-upgrade.service
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Daily apt upgrade and clean activities
|
||||
Documentation=man:apt(8)
|
||||
ConditionACPower=true
|
||||
After=apt-daily.service network.target network-online.target systemd-networkd.service NetworkManager.service connman.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStartPre=-/usr/lib/apt/apt-helper wait-online
|
||||
ExecStart=/usr/lib/apt/apt.systemd.daily install
|
||||
KillMode=process
|
||||
TimeoutStopSec=900
|
11
debian/apt-daily-upgrade.timer
vendored
Normal file
11
debian/apt-daily-upgrade.timer
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
[Unit]
|
||||
Description=Daily apt upgrade and clean activities
|
||||
After=apt-daily.timer
|
||||
|
||||
[Timer]
|
||||
OnCalendar=*-*-* 6:00
|
||||
RandomizedDelaySec=60m
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
11
debian/apt-daily.service
vendored
Normal file
11
debian/apt-daily.service
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
[Unit]
|
||||
Description=Daily apt download activities
|
||||
Documentation=man:apt(8)
|
||||
ConditionACPower=true
|
||||
After=network.target network-online.target systemd-networkd.service NetworkManager.service connman.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStartPre=-/usr/lib/apt/apt-helper wait-online
|
||||
ExecStart=/usr/lib/apt/apt.systemd.daily update
|
||||
|
10
debian/apt-daily.timer
vendored
Normal file
10
debian/apt-daily.timer
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
[Unit]
|
||||
Description=Daily apt download activities
|
||||
|
||||
[Timer]
|
||||
OnCalendar=*-*-* 6,18:00
|
||||
RandomizedDelaySec=12h
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
13
debian/apt-doc.doc-base.guide
vendored
Normal file
13
debian/apt-doc.doc-base.guide
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
Document: apt-user-guide
|
||||
Title: APT User's Guide
|
||||
Author: Jason Gunthorpe
|
||||
Abstract: The APT User's Guide provides an overview of how to use the
|
||||
APT package manager, and provides a detailed look at the apt-get tool.
|
||||
Section: Debian
|
||||
|
||||
Format: html
|
||||
Index: /usr/share/doc/apt-doc/guide.html/index.html
|
||||
Files: /usr/share/doc/apt-doc/guide.html/*.html
|
||||
|
||||
Format: text
|
||||
Files: /usr/share/doc/apt-doc/guide.text.gz
|
13
debian/apt-doc.doc-base.offline
vendored
Normal file
13
debian/apt-doc.doc-base.offline
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
Document: apt-offline-usage-guide
|
||||
Title: APT Offline Usage Guide
|
||||
Author: Jason Gunthorpe
|
||||
Abstract: The APT Offline Usage Guide provides detailed instructions and
|
||||
examples of how to use APT on an unconnected computer.
|
||||
Section: Debian
|
||||
|
||||
Format: html
|
||||
Index: /usr/share/doc/apt-doc/offline.html/index.html
|
||||
Files: /usr/share/doc/apt-doc/offline.html/*.html
|
||||
|
||||
Format: text
|
||||
Files: /usr/share/doc/apt-doc/offline.text.gz
|
6
debian/apt-doc.docs
vendored
Normal file
6
debian/apt-doc.docs
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
doc/acquire-additional-files.md
|
||||
doc/external-dependency-solver-protocol.md
|
||||
doc/external-installation-planner-protocol.md
|
||||
doc/json-hooks-protocol.md
|
||||
doc/progress-reporting.md
|
||||
doc/srv-records-support.md
|
1
debian/apt-doc.install
vendored
Normal file
1
debian/apt-doc.install
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
usr/share/doc/apt-doc
|
1
debian/apt-utils.examples
vendored
Normal file
1
debian/apt-utils.examples
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
usr/share/doc/apt-utils/examples/*
|
5
debian/apt-utils.install
vendored
Normal file
5
debian/apt-utils.install
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
usr/bin/apt-ftparchive
|
||||
usr/bin/apt-sortpkgs
|
||||
usr/lib/apt/planners/
|
||||
usr/lib/apt/solvers/
|
||||
usr/share/locale/*/*/apt-utils.mo
|
2
debian/apt-utils.links
vendored
Normal file
2
debian/apt-utils.links
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
../lib/apt/apt-extracttemplates usr/bin/apt-extracttemplates
|
||||
|
6
debian/apt-utils.manpages
vendored
Normal file
6
debian/apt-utils.manpages
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
usr/share/man/*/*/apt-extracttemplates.*
|
||||
usr/share/man/*/*/apt-ftparchive.*
|
||||
usr/share/man/*/*/apt-sortpkgs.*
|
||||
usr/share/man/*/apt-extracttemplates.*
|
||||
usr/share/man/*/apt-ftparchive.*
|
||||
usr/share/man/*/apt-sortpkgs.*
|
55
debian/apt.apt-compat.cron.daily
vendored
Normal file
55
debian/apt.apt-compat.cron.daily
vendored
Normal file
|
@ -0,0 +1,55 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
# Systemd systems use a systemd timer unit which is preferable to
|
||||
# run. We want to randomize the apt update and unattended-upgrade
|
||||
# runs as much as possible to avoid hitting the mirrors all at the
|
||||
# same time. The systemd time is better at this than the fixed
|
||||
# cron.daily time
|
||||
if [ -d /run/systemd/system ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
check_power()
|
||||
{
|
||||
# laptop check, on_ac_power returns:
|
||||
# 0 (true) System is on main power
|
||||
# 1 (false) System is not on main power
|
||||
# 255 (false) Power status could not be determined
|
||||
# Desktop systems always return 255 it seems
|
||||
if command -v on_ac_power >/dev/null; then
|
||||
if on_ac_power; then
|
||||
:
|
||||
elif [ $? -eq 1 ]; then
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# sleep for a random interval of time (default 30min)
|
||||
# (some code taken from cron-apt, thanks)
|
||||
random_sleep()
|
||||
{
|
||||
RandomSleep=1800
|
||||
eval $(apt-config shell RandomSleep APT::Periodic::RandomSleep)
|
||||
if [ $RandomSleep -eq 0 ]; then
|
||||
return
|
||||
fi
|
||||
if [ -z "$RANDOM" ] ; then
|
||||
# A fix for shells that do not have this bash feature.
|
||||
RANDOM=$(( $(dd if=/dev/urandom bs=2 count=1 2> /dev/null | cksum | cut -d' ' -f1) % 32767 ))
|
||||
fi
|
||||
TIME=$(($RANDOM % $RandomSleep))
|
||||
sleep $TIME
|
||||
}
|
||||
|
||||
# delay the job execution by a random amount of time
|
||||
random_sleep
|
||||
|
||||
# ensure we don't do this on battery
|
||||
check_power || exit 0
|
||||
|
||||
# run daily job
|
||||
exec /usr/lib/apt/apt.systemd.daily
|
29
debian/apt.bug-script
vendored
Executable file
29
debian/apt.bug-script
vendored
Executable file
|
@ -0,0 +1,29 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
cat <<EOF
|
||||
I can automatically include various information about your apt configuration in
|
||||
your bug report. This information may help to diagnose your problem.
|
||||
|
||||
EOF
|
||||
|
||||
yesno "May I include your apt configuration (/etc/apt/apt.conf et al)? [Y/n] " yep
|
||||
|
||||
if [ "$REPLY" = "yep" ]; then
|
||||
printf "\n-- apt-config dump --\n\n" >&3
|
||||
apt-config dump >&3 2>&1
|
||||
fi
|
||||
|
||||
for config in /etc/apt/preferences /etc/apt/preferences.d/* /etc/apt/sources.list /etc/apt/sources.list.d/* ; do
|
||||
if [ -f "$config" ]; then
|
||||
yesno "May I include your $config configuration file? [Y/n] " yep
|
||||
if [ "$REPLY" = "yep" ]; then
|
||||
printf "\n-- %s --\n\n" "$config" >&3
|
||||
cat "$config" >&3
|
||||
else
|
||||
printf "\n-- (%s present, but not submitted) --\n\n" "$config" >&3
|
||||
fi
|
||||
else
|
||||
printf "\n-- (no %s present) --\n\n" "$config" >&3
|
||||
fi
|
||||
done
|
32
debian/apt.conf.autoremove
vendored
Normal file
32
debian/apt.conf.autoremove
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
APT
|
||||
{
|
||||
NeverAutoRemove
|
||||
{
|
||||
"^firmware-linux.*";
|
||||
"^linux-firmware$";
|
||||
"^linux-image-[a-z0-9]*$";
|
||||
"^linux-image-[a-z0-9]*-[a-z0-9]*$";
|
||||
};
|
||||
|
||||
VersionedKernelPackages
|
||||
{
|
||||
# kernels
|
||||
"linux-.*";
|
||||
"kfreebsd-.*";
|
||||
"gnumach-.*";
|
||||
# (out-of-tree) modules
|
||||
".*-modules";
|
||||
".*-kernel";
|
||||
};
|
||||
|
||||
Never-MarkAuto-Sections
|
||||
{
|
||||
"metapackages";
|
||||
"tasks";
|
||||
};
|
||||
|
||||
Move-Autobit-Sections
|
||||
{
|
||||
"oldlibs";
|
||||
};
|
||||
};
|
3
debian/apt.dirs
vendored
Normal file
3
debian/apt.dirs
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
etc/kernel/postinst.d
|
||||
usr/share/bug/apt
|
||||
etc/apt/keyrings
|
1
debian/apt.docs
vendored
Normal file
1
debian/apt.docs
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
README.md
|
1
debian/apt.examples
vendored
Normal file
1
debian/apt.examples
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
usr/share/doc/apt/examples/*
|
21
debian/apt.install
vendored
Normal file
21
debian/apt.install
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
debian/*.service /usr/lib/systemd/system/
|
||||
debian/*.timer /usr/lib/systemd/system/
|
||||
debian/apt.systemd.daily usr/lib/apt
|
||||
debian/default-sequoia.config usr/share/apt/
|
||||
etc/apt/
|
||||
usr/bin/apt
|
||||
usr/bin/apt-cache
|
||||
usr/bin/apt-cdrom
|
||||
usr/bin/apt-config
|
||||
usr/bin/apt-get
|
||||
usr/bin/apt-mark
|
||||
usr/lib/*/libapt-private.so*
|
||||
usr/lib/apt/apt-helper
|
||||
usr/lib/apt/apt-extracttemplates
|
||||
usr/lib/apt/methods/
|
||||
usr/lib/apt/planners/dump
|
||||
usr/lib/apt/solvers/dump
|
||||
usr/lib/dpkg/methods/apt/
|
||||
usr/share/bash-completion/completions/
|
||||
usr/share/locale/*/*/apt.mo
|
||||
var/
|
10
debian/apt.lintian-overrides
vendored
Normal file
10
debian/apt.lintian-overrides
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
# the private library is for internal sharing only
|
||||
apt: package-name-doesnt-match-sonames
|
||||
apt: exit-in-shared-library [usr/lib*/libapt-private.so.0.0.0]
|
||||
# we are implementing our own fallback and it is a minor usecase only
|
||||
apt: missing-depends-on-sensible-utils sensible-pager [usr/lib*/libapt-private.so.0.0.0]
|
||||
# these man pages document usage/config for things called via apt
|
||||
apt: spare-manual-page [usr/share/man*/man1/apt-transport-http.1.gz]
|
||||
apt: spare-manual-page [usr/share/man*/man1/apt-transport-https.1.gz]
|
||||
apt: spare-manual-page [usr/share/man*/man1/apt-transport-mirror.1.gz]
|
||||
apt: spare-manual-page [usr/share/man*/man8/apt-secure.8.gz]
|
16
debian/apt.logrotate
vendored
Normal file
16
debian/apt.logrotate
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
/var/log/apt/term.log {
|
||||
rotate 12
|
||||
monthly
|
||||
compress
|
||||
missingok
|
||||
notifempty
|
||||
}
|
||||
|
||||
/var/log/apt/history.log {
|
||||
rotate 12
|
||||
monthly
|
||||
compress
|
||||
missingok
|
||||
notifempty
|
||||
}
|
||||
|
4
debian/apt.maintscript
vendored
Normal file
4
debian/apt.maintscript
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
rm_conffile /etc/apt/apt.conf.d/20changelog 1.2.4~
|
||||
# we use a systemd timer unit now
|
||||
rm_conffile /etc/cron.daily/apt 1.2.10~
|
||||
rm_conffile /etc/kernel/postinst.d/apt-auto-removal 2.4.5~
|
24
debian/apt.manpages
vendored
Normal file
24
debian/apt.manpages
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
usr/share/man/*/*/apt-cache.*
|
||||
usr/share/man/*/*/apt-cdrom.*
|
||||
usr/share/man/*/*/apt-config.*
|
||||
usr/share/man/*/*/apt-get.*
|
||||
usr/share/man/*/*/apt-mark.*
|
||||
usr/share/man/*/*/apt-secure.*
|
||||
usr/share/man/*/*/apt-patterns.*
|
||||
usr/share/man/*/*/apt.*
|
||||
usr/share/man/*/*/apt_preferences.*
|
||||
usr/share/man/*/*/apt_auth.*
|
||||
usr/share/man/*/*/apt-transport-*.*
|
||||
usr/share/man/*/*/sources.list.*
|
||||
usr/share/man/*/apt-cache.*
|
||||
usr/share/man/*/apt-cdrom.*
|
||||
usr/share/man/*/apt-config.*
|
||||
usr/share/man/*/apt-get.*
|
||||
usr/share/man/*/apt-mark.*
|
||||
usr/share/man/*/apt-secure.*
|
||||
usr/share/man/*/apt-patterns.*
|
||||
usr/share/man/*/apt.*
|
||||
usr/share/man/*/apt_preferences.*
|
||||
usr/share/man/*/apt_auth.*
|
||||
usr/share/man/*/apt-transport-*.*
|
||||
usr/share/man/*/sources.list.*
|
15
debian/apt.postinst
vendored
Executable file
15
debian/apt.postinst
vendored
Executable file
|
@ -0,0 +1,15 @@
|
|||
#! /bin/sh
|
||||
set -e
|
||||
|
||||
if [ "$1" = 'configure' ] && [ -z "$DPKG_ROOT" ] && ! getent passwd _apt >/dev/null; then
|
||||
# add unprivileged user for the apt methods
|
||||
adduser --force-badname --system --home /nonexistent \
|
||||
--no-create-home --quiet _apt || true
|
||||
fi
|
||||
|
||||
if [ "$1" = "configure" ] && [ -n "$2" ] && dpkg --compare-versions -- "$2" le-nl "2.4.5~"; then
|
||||
rm -f /etc/apt/apt.conf.d/01autoremove-kernels
|
||||
fi
|
||||
|
||||
|
||||
#DEBHELPER#
|
22
debian/apt.postrm
vendored
Executable file
22
debian/apt.postrm
vendored
Executable file
|
@ -0,0 +1,22 @@
|
|||
#! /bin/sh
|
||||
|
||||
# apt postrm
|
||||
# Copyright (C) 1998, Ben Gertzfield <che@debian.org>
|
||||
|
||||
# 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
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
set -e
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
case "$1" in
|
||||
remove)
|
||||
;;
|
||||
purge)
|
||||
rm -rf /var/cache/apt
|
||||
rm -rf /var/lib/apt
|
||||
esac
|
||||
|
538
debian/apt.systemd.daily
vendored
Executable file
538
debian/apt.systemd.daily
vendored
Executable file
|
@ -0,0 +1,538 @@
|
|||
#!/bin/sh
|
||||
#set -e
|
||||
#
|
||||
# This file understands the following apt configuration variables:
|
||||
# Values here are the default.
|
||||
# Create /etc/apt/apt.conf.d/10periodic file to set your preference.
|
||||
#
|
||||
# All of the n-days interval options also accept the suffixes
|
||||
# s for seconds, m for minutes, h for hours, d for days or
|
||||
# the "always" value to do the action for every job run,
|
||||
# which can be used with systemd OnCalendar overrides to
|
||||
# define custom schedules for the apt update/upgrade jobs.
|
||||
#
|
||||
# Dir "/";
|
||||
# - RootDir for all configuration files
|
||||
#
|
||||
# Dir::Cache "var/cache/apt/";
|
||||
# - Set apt package cache directory
|
||||
#
|
||||
# Dir::Cache::Archives "archives/";
|
||||
# - Set package archive directory
|
||||
#
|
||||
# APT::Periodic::Enable "1";
|
||||
# - Enable the update/upgrade script (0=disable)
|
||||
#
|
||||
# APT::Periodic::BackupArchiveInterval "0";
|
||||
# - Backup after n-days if archive contents changed.(0=disable)
|
||||
#
|
||||
# APT::Periodic::BackupLevel "3";
|
||||
# - Backup level.(0=disable), 1 is invalid.
|
||||
#
|
||||
# Dir::Cache::Backup "backup/";
|
||||
# - Set periodic package backup directory
|
||||
#
|
||||
# APT::Archives::MaxAge "0"; (old, deprecated)
|
||||
# APT::Periodic::MaxAge "0"; (new)
|
||||
# - Set maximum allowed age of a cache package file. If a cache
|
||||
# package file is older it is deleted (0=disable)
|
||||
#
|
||||
# APT::Archives::MinAge "2"; (old, deprecated)
|
||||
# APT::Periodic::MinAge "2"; (new)
|
||||
# - Set minimum age of a package file. If a file is younger it
|
||||
# will not be deleted (0=disable). Useful to prevent races
|
||||
# and to keep backups of the packages for emergency.
|
||||
#
|
||||
# APT::Archives::MaxSize "0"; (old, deprecated)
|
||||
# APT::Periodic::MaxSize "0"; (new)
|
||||
# - Set maximum size of the cache in MB (0=disable). If the cache
|
||||
# is bigger, cached package files are deleted until the size
|
||||
# requirement is met (the oldest packages will be deleted
|
||||
# first).
|
||||
#
|
||||
# APT::Periodic::Update-Package-Lists "0";
|
||||
# - Do "apt-get update" automatically every n-days (0=disable)
|
||||
#
|
||||
# APT::Periodic::Download-Upgradeable-Packages "0";
|
||||
# - Do "apt-get upgrade --download-only" every n-days (0=disable)
|
||||
#
|
||||
# APT::Periodic::Download-Upgradeable-Packages-Debdelta "1";
|
||||
# - Use debdelta-upgrade to download updates if available (0=disable)
|
||||
#
|
||||
# APT::Periodic::Unattended-Upgrade "0";
|
||||
# - Run the "unattended-upgrade" security upgrade script
|
||||
# every n-days (0=disabled)
|
||||
# Requires the package "unattended-upgrades" and will write
|
||||
# a log in /var/log/unattended-upgrades
|
||||
#
|
||||
# APT::Periodic::AutocleanInterval "0";
|
||||
# - Do "apt-get autoclean" every n-days (0=disable)
|
||||
#
|
||||
# APT::Periodic::CleanInterval "0";
|
||||
# - Do "apt-get clean" every n-days (0=disable)
|
||||
#
|
||||
# APT::Periodic::Verbose "0";
|
||||
# - Send report mail to root
|
||||
# 0: no report (or null string)
|
||||
# 1: progress report (actually any string)
|
||||
# 2: + command outputs (remove -qq, remove 2>/dev/null, add -d)
|
||||
# 3: + trace on
|
||||
#
|
||||
|
||||
check_stamp()
|
||||
{
|
||||
stamp="$1"
|
||||
interval="$2"
|
||||
|
||||
if [ "$interval" = always ]; then
|
||||
debug_echo "check_stamp: ignoring time stamp file, interval set to always"
|
||||
# treat as enough time has passed
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ "$interval" = 0 ]; then
|
||||
debug_echo "check_stamp: interval=0"
|
||||
# treat as no time has passed
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ ! -f "$stamp" ]; then
|
||||
debug_echo "check_stamp: missing time stamp file: $stamp."
|
||||
# treat as enough time has passed
|
||||
return 0
|
||||
fi
|
||||
|
||||
# compare midnight today to midnight the day the stamp was updated
|
||||
stamp_file="$stamp"
|
||||
stamp=$(date --date="$(date -r "$stamp_file" --iso-8601)" +%s 2>/dev/null)
|
||||
if [ "$?" != "0" ]; then
|
||||
# Due to some timezones returning 'invalid date' for midnight on
|
||||
# certain dates (e.g. America/Sao_Paulo), if date returns with error
|
||||
# remove the stamp file and return 0. See coreutils bug:
|
||||
# http://lists.gnu.org/archive/html/bug-coreutils/2007-09/msg00176.html
|
||||
rm -f "$stamp_file"
|
||||
return 0
|
||||
fi
|
||||
|
||||
now=$(date --date="$(date --iso-8601)" +%s 2>/dev/null)
|
||||
if [ "$?" != "0" ]; then
|
||||
# As above, due to some timezones returning 'invalid date' for midnight
|
||||
# on certain dates (e.g. America/Sao_Paulo), if date returns with error
|
||||
# return 0.
|
||||
return 0
|
||||
fi
|
||||
|
||||
delta=$((now-stamp))
|
||||
|
||||
# Calculate the interval in seconds depending on the unit specified
|
||||
if [ "${interval%s}" != "$interval" ] ; then
|
||||
interval="${interval%s}"
|
||||
elif [ "${interval%m}" != "$interval" ] ; then
|
||||
interval="${interval%m}"
|
||||
interval=$((interval*60))
|
||||
elif [ "${interval%h}" != "$interval" ] ; then
|
||||
interval="${interval%h}"
|
||||
interval=$((interval*60*60))
|
||||
else
|
||||
interval="${interval%d}"
|
||||
interval=$((interval*60*60*24))
|
||||
fi
|
||||
|
||||
debug_echo "check_stamp: interval=$interval, now=$now, stamp=$stamp, delta=$delta (sec)"
|
||||
|
||||
# remove timestamps a day (or more) in the future and force re-check
|
||||
if [ "$stamp" -gt $((now+86400)) ]; then
|
||||
echo "WARNING: file $stamp_file has a timestamp in the future: $stamp"
|
||||
rm -f "$stamp_file"
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ $delta -ge $interval ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
update_stamp()
|
||||
{
|
||||
stamp="$1"
|
||||
touch "$stamp"
|
||||
}
|
||||
|
||||
# we check here if autoclean was enough sizewise
|
||||
check_size_constraints()
|
||||
{
|
||||
MaxAge=0
|
||||
eval $(apt-config shell MaxAge APT::Archives::MaxAge)
|
||||
eval $(apt-config shell MaxAge APT::Periodic::MaxAge)
|
||||
|
||||
MinAge=2
|
||||
eval $(apt-config shell MinAge APT::Archives::MinAge)
|
||||
eval $(apt-config shell MinAge APT::Periodic::MinAge)
|
||||
|
||||
MaxSize=0
|
||||
eval $(apt-config shell MaxSize APT::Archives::MaxSize)
|
||||
eval $(apt-config shell MaxSize APT::Periodic::MaxSize)
|
||||
|
||||
Cache="/var/cache/apt/archives/"
|
||||
eval $(apt-config shell Cache Dir::Cache::archives/d)
|
||||
|
||||
# sanity check
|
||||
if [ -z "$Cache" ]; then
|
||||
echo "empty Dir::Cache::archives, exiting"
|
||||
exit
|
||||
fi
|
||||
|
||||
# check age
|
||||
if [ ! $MaxAge -eq 0 ] && [ ! $MinAge -eq 0 ]; then
|
||||
debug_echo "aged: ctime <$MaxAge and mtime <$MaxAge and ctime>$MinAge and mtime>$MinAge"
|
||||
find $Cache -name "*.deb" \( -mtime +$MaxAge -and -ctime +$MaxAge \) -and -not \( -mtime -$MinAge -or -ctime -$MinAge \) -print0 | xargs -r -0 rm -f
|
||||
elif [ ! $MaxAge -eq 0 ]; then
|
||||
debug_echo "aged: ctime <$MaxAge and mtime <$MaxAge only"
|
||||
find $Cache -name "*.deb" -ctime +$MaxAge -and -mtime +$MaxAge -print0 | xargs -r -0 rm -f
|
||||
else
|
||||
debug_echo "skip aging since MaxAge is 0"
|
||||
fi
|
||||
|
||||
# check size
|
||||
if [ ! $MaxSize -eq 0 ]; then
|
||||
# maxSize is in MB
|
||||
MaxSize=$((MaxSize*1024))
|
||||
|
||||
#get current time
|
||||
now=$(date --date="$(date --iso-8601)" +%s)
|
||||
MinAge=$((MinAge*24*60*60))
|
||||
|
||||
# reverse-sort by mtime
|
||||
for file in $(ls -rt $Cache/*.deb 2>/dev/null); do
|
||||
du=$(du -s $Cache)
|
||||
size=${du%%/*}
|
||||
# check if the cache is small enough
|
||||
if [ $size -lt $MaxSize ]; then
|
||||
debug_echo "end remove by archive size: size=$size < $MaxSize"
|
||||
break
|
||||
fi
|
||||
|
||||
# check for MinAge of the file
|
||||
if [ $MinAge -ne 0 ]; then
|
||||
# check both ctime and mtime
|
||||
mtime=$(stat -c %Y "$file")
|
||||
ctime=$(stat -c %Z "$file")
|
||||
if [ "$mtime" -gt "$ctime" ]; then
|
||||
delta=$((now-mtime))
|
||||
else
|
||||
delta=$((now-ctime))
|
||||
fi
|
||||
if [ $delta -le $MinAge ]; then
|
||||
debug_echo "skip remove by archive size: $file, delta=$delta < $MinAge"
|
||||
break
|
||||
else
|
||||
# delete oldest file
|
||||
debug_echo "remove by archive size: $file, delta=$delta >= $MinAge (sec), size=$size >= $MaxSize"
|
||||
rm -f "$file"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# deal with the Apt::Periodic::BackupArchiveInterval
|
||||
do_cache_backup()
|
||||
{
|
||||
BackupArchiveInterval="$1"
|
||||
if [ "$BackupArchiveInterval" = always ]; then
|
||||
:
|
||||
elif [ "$BackupArchiveInterval" = 0 ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
# Set default values and normalize
|
||||
CacheDir="/var/cache/apt"
|
||||
eval $(apt-config shell CacheDir Dir::Cache/d)
|
||||
CacheDir=${CacheDir%/}
|
||||
if [ -z "$CacheDir" ]; then
|
||||
debug_echo "practically empty Dir::Cache, exiting"
|
||||
return 0
|
||||
fi
|
||||
|
||||
Cache="${CacheDir}/archives/"
|
||||
eval $(apt-config shell Cache Dir::Cache::Archives/d)
|
||||
if [ -z "$Cache" ]; then
|
||||
debug_echo "practically empty Dir::Cache::archives, exiting"
|
||||
return 0
|
||||
fi
|
||||
|
||||
BackupLevel=3
|
||||
eval $(apt-config shell BackupLevel APT::Periodic::BackupLevel)
|
||||
if [ $BackupLevel -le 1 ]; then
|
||||
BackupLevel=2 ;
|
||||
fi
|
||||
|
||||
Back="${CacheDir}/backup/"
|
||||
eval $(apt-config shell Back Dir::Cache::Backup/d)
|
||||
if [ -z "$Back" ]; then
|
||||
echo "practically empty Dir::Cache::Backup, exiting" 1>&2
|
||||
return
|
||||
fi
|
||||
|
||||
CacheArchive="$(basename "${Cache}")"
|
||||
test -n "${CacheArchive}" || CacheArchive="archives"
|
||||
BackX="${Back}${CacheArchive}/"
|
||||
for x in $(seq 0 1 $((BackupLevel-1))); do
|
||||
eval "Back${x}=${Back}${x}/"
|
||||
done
|
||||
|
||||
# backup after n-days if archive contents changed.
|
||||
# (This uses hardlink to save disk space)
|
||||
BACKUP_ARCHIVE_STAMP=/var/lib/apt/periodic/backup-archive-stamp
|
||||
if check_stamp $BACKUP_ARCHIVE_STAMP "$BackupArchiveInterval"; then
|
||||
if [ $({ (cd $Cache 2>/dev/null; find . -name "*.deb"); (cd $Back0 2>/dev/null;find . -name "*.deb") ;}| sort|uniq -u|wc -l) -ne 0 ]; then
|
||||
mkdir -p $Back
|
||||
rm -rf $Back$((BackupLevel-1))
|
||||
for y in $(seq $((BackupLevel-1)) -1 1); do
|
||||
eval BackY=${Back}$y
|
||||
eval BackZ=${Back}$((y-1))
|
||||
if [ -e $BackZ ]; then
|
||||
mv -f $BackZ $BackY ;
|
||||
fi
|
||||
done
|
||||
cp -la $Cache $Back ; mv -f $BackX $Back0
|
||||
update_stamp $BACKUP_ARCHIVE_STAMP
|
||||
debug_echo "backup with hardlinks. (success)"
|
||||
else
|
||||
debug_echo "skip backup since same content."
|
||||
fi
|
||||
else
|
||||
debug_echo "skip backup since too new."
|
||||
fi
|
||||
}
|
||||
|
||||
debug_echo()
|
||||
{
|
||||
# Display message if $VERBOSE >= 1
|
||||
if [ "$VERBOSE" -ge 1 ]; then
|
||||
echo "$1" 1>&2
|
||||
fi
|
||||
}
|
||||
|
||||
# ------------------------ main ----------------------------
|
||||
if [ "$1" = "lock_is_held" ]; then
|
||||
shift
|
||||
else
|
||||
# Maintain a lock on fd 3, so we can't run the script twice at the same
|
||||
# time.
|
||||
eval $(apt-config shell StateDir Dir::State/d)
|
||||
exec 3>${StateDir}/daily_lock
|
||||
if ! flock -w 3600 3; then
|
||||
echo "E: Could not acquire lock" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# We hold the lock. Rerun this script as a child process, which
|
||||
# can run without propagating an extra fd to all of its children.
|
||||
"$0" lock_is_held "$@" 3>&-
|
||||
exit $?
|
||||
fi
|
||||
|
||||
if test -r /var/lib/apt/extended_states; then
|
||||
# Backup the 7 last versions of APT's extended_states file
|
||||
# shameless copy from dpkg cron
|
||||
if cd /var/backups ; then
|
||||
if ! cmp -s apt.extended_states.0 /var/lib/apt/extended_states; then
|
||||
cp -p /var/lib/apt/extended_states apt.extended_states
|
||||
savelog -c 7 apt.extended_states >/dev/null
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# check apt-config existence
|
||||
if ! command -v apt-config >/dev/null; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# check if the user really wants to do something
|
||||
AutoAptEnable=1 # default is yes
|
||||
eval $(apt-config shell AutoAptEnable APT::Periodic::Enable)
|
||||
|
||||
if [ $AutoAptEnable -eq 0 ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Set VERBOSE mode from apt-config (or inherit from environment)
|
||||
VERBOSE=0
|
||||
eval $(apt-config shell VERBOSE APT::Periodic::Verbose)
|
||||
debug_echo "verbose level $VERBOSE"
|
||||
if [ "$VERBOSE" -le 1 ]; then
|
||||
# quiet for 0/1
|
||||
XSTDOUT=">/dev/null"
|
||||
XSTDERR="2>/dev/null"
|
||||
XAPTOPT="-qq"
|
||||
XUUPOPT=""
|
||||
else
|
||||
XSTDOUT=""
|
||||
XSTDERR=""
|
||||
XAPTOPT=""
|
||||
XUUPOPT="-d"
|
||||
fi
|
||||
if [ "$VERBOSE" -ge 3 ]; then
|
||||
# trace output
|
||||
set -x
|
||||
fi
|
||||
|
||||
# check if we can lock the cache and if the cache is clean
|
||||
if command -v apt-get >/dev/null && ! eval apt-get check $XAPTOPT $XSTDERR ; then
|
||||
debug_echo "error encountered in cron job with \"apt-get check\"."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Global current time in seconds since 1970-01-01 00:00:00 UTC
|
||||
now=$(date +%s)
|
||||
|
||||
# Support old Archive for compatibility.
|
||||
# Document only Periodic for all controlling parameters of this script.
|
||||
|
||||
UpdateInterval=0
|
||||
eval $(apt-config shell UpdateInterval APT::Periodic::Update-Package-Lists)
|
||||
|
||||
DownloadUpgradeableInterval=0
|
||||
eval $(apt-config shell DownloadUpgradeableInterval APT::Periodic::Download-Upgradeable-Packages)
|
||||
|
||||
UnattendedUpgradeInterval=0
|
||||
eval $(apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade)
|
||||
|
||||
AutocleanInterval=0
|
||||
eval $(apt-config shell AutocleanInterval APT::Periodic::AutocleanInterval)
|
||||
|
||||
CleanInterval=0
|
||||
eval $(apt-config shell CleanInterval APT::Periodic::CleanInterval)
|
||||
|
||||
BackupArchiveInterval=0
|
||||
eval $(apt-config shell BackupArchiveInterval APT::Periodic::BackupArchiveInterval)
|
||||
|
||||
Debdelta=1
|
||||
eval $(apt-config shell Debdelta APT::Periodic::Download-Upgradeable-Packages-Debdelta)
|
||||
|
||||
# check if we actually have to do anything that requires locking the cache
|
||||
if [ $UpdateInterval = always ] ||
|
||||
[ $DownloadUpgradeableInterval = always ] ||
|
||||
[ $UnattendedUpgradeInterval = always ] ||
|
||||
[ $BackupArchiveInterval = always ] ||
|
||||
[ $AutocleanInterval = always ] ||
|
||||
[ $CleanInterval = always ] ; then
|
||||
:
|
||||
elif [ $UpdateInterval = 0 ] &&
|
||||
[ $DownloadUpgradeableInterval = 0 ] &&
|
||||
[ $UnattendedUpgradeInterval = 0 ] &&
|
||||
[ $BackupArchiveInterval = 0 ] &&
|
||||
[ $AutocleanInterval = 0 ] &&
|
||||
[ $CleanInterval = 0 ] ; then
|
||||
|
||||
# check cache size
|
||||
check_size_constraints
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$1" = "update" ] || [ -z "$1" ] ; then
|
||||
# deal with BackupArchiveInterval
|
||||
do_cache_backup $BackupArchiveInterval
|
||||
|
||||
# include default system language so that "apt-get update" will
|
||||
# fetch the right translated package descriptions
|
||||
if [ -r /etc/default/locale ]; then
|
||||
. /etc/default/locale
|
||||
export LANG LANGUAGE LC_MESSAGES LC_ALL
|
||||
fi
|
||||
|
||||
# update package lists
|
||||
UPDATED=0
|
||||
UPDATE_STAMP=/var/lib/apt/periodic/update-stamp
|
||||
if check_stamp $UPDATE_STAMP $UpdateInterval; then
|
||||
if eval apt-get $XAPTOPT -y update $XSTDERR; then
|
||||
debug_echo "download updated metadata (success)."
|
||||
update_stamp $UPDATE_STAMP
|
||||
UPDATED=1
|
||||
else
|
||||
debug_echo "download updated metadata (error)"
|
||||
fi
|
||||
else
|
||||
debug_echo "download updated metadata (not run)."
|
||||
fi
|
||||
|
||||
# download all upgradeable packages (if it is requested)
|
||||
DOWNLOAD_UPGRADEABLE_STAMP=/var/lib/apt/periodic/download-upgradeable-stamp
|
||||
if [ $UPDATED -eq 1 ] && check_stamp $DOWNLOAD_UPGRADEABLE_STAMP $DownloadUpgradeableInterval; then
|
||||
if [ $Debdelta -eq 1 ]; then
|
||||
debdelta-upgrade >/dev/null 2>&1 || true
|
||||
fi
|
||||
if eval apt-get $XAPTOPT -y -d dist-upgrade $XSTDERR; then
|
||||
update_stamp $DOWNLOAD_UPGRADEABLE_STAMP
|
||||
debug_echo "download upgradable (success)"
|
||||
else
|
||||
debug_echo "download upgradable (error)"
|
||||
fi
|
||||
else
|
||||
debug_echo "download upgradable (not run)"
|
||||
fi
|
||||
|
||||
if command -v unattended-upgrade >/dev/null && env LC_ALL=C.UTF-8 unattended-upgrade --help | grep -q download-only && check_stamp $DOWNLOAD_UPGRADEABLE_STAMP $UnattendedUpgradeInterval; then
|
||||
if unattended-upgrade --download-only $XUUPOPT; then
|
||||
update_stamp $DOWNLOAD_UPGRADEABLE_STAMP
|
||||
debug_echo "unattended-upgrade -d (success)"
|
||||
else
|
||||
debug_echo "unattended-upgrade -d (error)"
|
||||
fi
|
||||
else
|
||||
debug_echo "unattended-upgrade -d (not run)"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$1" = "install" ] || [ -z "$1" ] ; then
|
||||
# auto upgrade all upgradeable packages
|
||||
UPGRADE_STAMP=/var/lib/apt/periodic/upgrade-stamp
|
||||
if command -v unattended-upgrade >/dev/null && check_stamp $UPGRADE_STAMP $UnattendedUpgradeInterval; then
|
||||
if unattended-upgrade $XUUPOPT; then
|
||||
update_stamp $UPGRADE_STAMP
|
||||
debug_echo "unattended-upgrade (success)"
|
||||
else
|
||||
debug_echo "unattended-upgrade (error)"
|
||||
fi
|
||||
else
|
||||
debug_echo "unattended-upgrade (not run)"
|
||||
fi
|
||||
|
||||
# clean package archive
|
||||
CLEAN_STAMP=/var/lib/apt/periodic/clean-stamp
|
||||
if check_stamp $CLEAN_STAMP $CleanInterval; then
|
||||
if eval apt-get $XAPTOPT -y clean $XSTDERR; then
|
||||
debug_echo "clean (success)."
|
||||
update_stamp $CLEAN_STAMP
|
||||
else
|
||||
debug_echo "clean (error)"
|
||||
fi
|
||||
else
|
||||
debug_echo "clean (not run)"
|
||||
fi
|
||||
|
||||
# autoclean package archive
|
||||
AUTOCLEAN_STAMP=/var/lib/apt/periodic/autoclean-stamp
|
||||
if check_stamp $AUTOCLEAN_STAMP $AutocleanInterval; then
|
||||
if eval apt-get $XAPTOPT -y autoclean $XSTDERR; then
|
||||
debug_echo "autoclean (success)."
|
||||
update_stamp $AUTOCLEAN_STAMP
|
||||
else
|
||||
debug_echo "autoclean (error)"
|
||||
fi
|
||||
else
|
||||
debug_echo "autoclean (not run)"
|
||||
fi
|
||||
|
||||
# check cache size
|
||||
check_size_constraints
|
||||
fi
|
||||
|
||||
#
|
||||
# vim: set sts=4 ai :
|
||||
#
|
||||
|
13604
debian/changelog
vendored
Normal file
13604
debian/changelog
vendored
Normal file
File diff suppressed because it is too large
Load diff
161
debian/control
vendored
Normal file
161
debian/control
vendored
Normal file
|
@ -0,0 +1,161 @@
|
|||
Source: apt
|
||||
Section: admin
|
||||
Priority: required
|
||||
Maintainer: APT Development Team <deity@lists.debian.org>
|
||||
Uploaders: Michael Vogt <mvo@debian.org>,
|
||||
Julian Andres Klode <jak@debian.org>,
|
||||
David Kalnischkies <donkult@debian.org>
|
||||
Rules-Requires-Root: no
|
||||
Standards-Version: 4.1.1
|
||||
Build-Depends: dpkg-dev (>= 1.22.5) <!pkg.apt.ci>,
|
||||
cmake (>= 3.4),
|
||||
debhelper-compat (= 12),
|
||||
docbook-xml <!nodoc>,
|
||||
docbook-xsl <!nodoc>,
|
||||
dpkg-dev (>= 1.20.8),
|
||||
gettext (>= 0.12),
|
||||
googletest <!nocheck> | libgtest-dev <!nocheck>,
|
||||
libbz2-dev,
|
||||
libdb-dev,
|
||||
libssl-dev,
|
||||
liblz4-dev (>= 0.0~r126),
|
||||
liblzma-dev,
|
||||
libseccomp-dev (>= 2.4.2) [amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x hppa powerpc powerpcspe ppc64 x32],
|
||||
libsystemd-dev [linux-any],
|
||||
libudev-dev [linux-any],
|
||||
libxxhash-dev (>= 0.8),
|
||||
libzstd-dev (>= 1.0),
|
||||
ninja-build,
|
||||
pkg-config,
|
||||
po4a (>= 0.34-2) <!nodoc>,
|
||||
sqv (>= 1.3.0) [amd64 arm64 armel armhf i386 mips64el ppc64el riscv64 s390x hurd-amd64 hurd-i386 loong64 powerpc ppc64 sparc64] <!pkg.apt.nosqv> | gpgv,
|
||||
triehash,
|
||||
xsltproc <!nodoc>,
|
||||
zlib1g-dev
|
||||
Build-Depends-Indep: doxygen <!nodoc !pkg.apt.nodoxygen>, graphviz <!nodoc !pkg.apt.nodoxygen>, w3m <!nodoc>
|
||||
Vcs-Git: https://salsa.debian.org/apt-team/apt.git
|
||||
Vcs-Browser: https://salsa.debian.org/apt-team/apt
|
||||
|
||||
Package: apt
|
||||
Architecture: any
|
||||
Depends: base-passwd (>= 3.6.1) | adduser,
|
||||
${openpgp:Depends},
|
||||
libapt-pkg7.0 (>= ${binary:Version}),
|
||||
${apt:keyring},
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Replaces: apt-transport-https (<< 1.5~alpha4~), apt-utils (<< 1.3~exp2~)
|
||||
Breaks: apt-transport-https (<< 1.5~alpha4~),
|
||||
apt-utils (<< 1.3~exp2~),
|
||||
aptitude (<< 0.8.10)
|
||||
Conflicts: apt-verify, libnettle8 (<< 3.9.1-2.2~)
|
||||
Provides: apt-transport-https (= ${binary:Version})
|
||||
Recommends: ca-certificates
|
||||
Suggests: apt-doc,
|
||||
aptitude | synaptic | wajig,
|
||||
dpkg-dev (>= 1.17.2),
|
||||
gnupg | gnupg2 | gnupg1,
|
||||
powermgmt-base
|
||||
Description: commandline package manager
|
||||
This package provides commandline tools for searching and
|
||||
managing as well as querying information about packages
|
||||
as a low-level access to all features of the libapt-pkg library.
|
||||
.
|
||||
These include:
|
||||
* apt-get for retrieval of packages and information about them
|
||||
from authenticated sources and for installation, upgrade and
|
||||
removal of packages together with their dependencies
|
||||
* apt-cache for querying available information about installed
|
||||
as well as installable packages
|
||||
* apt-cdrom to use removable media as a source for packages
|
||||
* apt-config as an interface to the configuration settings
|
||||
* apt-extracttemplates is used by debconf to prompt for configuration
|
||||
questions before installation.
|
||||
|
||||
Package: libapt-pkg7.0
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Priority: optional
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||
Breaks: appstream (<< 0.9.0-3~), apt (<< 1.6~), aptitude (<< 0.8.9), libapt-inst1.5 (<< 0.9.9~), dpkg (<< 1.20.8)
|
||||
Recommends: apt (>= ${binary:Version})
|
||||
Conflicts: libnettle8 (<< 3.9.1-2.2~)
|
||||
Section: libs
|
||||
Provides: ${t64:Provides}, libapt-pkg (= ${binary:Version})
|
||||
Description: package management runtime library
|
||||
This library provides the common functionality for searching and
|
||||
managing packages as well as information about packages.
|
||||
Higher-level package managers can depend upon this library.
|
||||
.
|
||||
This includes:
|
||||
* retrieval of information about packages from multiple sources
|
||||
* retrieval of packages and all dependent packages
|
||||
needed to satisfy a request either through an internal
|
||||
solver or by interfacing with an external one
|
||||
* authenticating the sources and validating the retrieved data
|
||||
* installation and removal of packages in the system
|
||||
* providing different transports to retrieve data over cdrom and
|
||||
http(s) as well as an interface to add more transports like
|
||||
tor+http(s) (apt-transport-tor).
|
||||
|
||||
Package: apt-doc
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Depends: ${misc:Depends}
|
||||
Section: doc
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!nodoc>
|
||||
Description: documentation for APT
|
||||
This package contains the user guide and offline guide for various
|
||||
APT tools which are provided in a html and a text-only version.
|
||||
|
||||
Package: libapt-pkg-dev
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Priority: optional
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Depends: libapt-pkg (= ${binary:Version}),
|
||||
${misc:Depends}
|
||||
Section: libdevel
|
||||
Description: development files for APT's libapt-pkg and libapt-inst
|
||||
This package contains the header files and libraries for
|
||||
developing with APT's libapt-pkg Debian package manipulation
|
||||
library and the libapt-inst deb/tar/ar library.
|
||||
|
||||
Package: libapt-pkg-doc
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Depends: ${misc:Depends}
|
||||
Section: doc
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!nodoc>
|
||||
Description: documentation for APT development
|
||||
This package contains documentation for development of the APT
|
||||
Debian package manipulation program and its libraries.
|
||||
.
|
||||
This includes the source code documentation generated by doxygen
|
||||
in html format.
|
||||
|
||||
Package: apt-utils
|
||||
Architecture: any
|
||||
Depends: apt (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Description: package management related utility programs
|
||||
This package contains some less used commandline utilities related
|
||||
to package management with APT.
|
||||
.
|
||||
* apt-ftparchive is used to create Packages and other index files
|
||||
needed to publish an archive of Debian packages
|
||||
* apt-sortpkgs is a Packages/Sources file normalizer.
|
||||
|
||||
Package: apt-transport-https
|
||||
Architecture: all
|
||||
Multi-Arch: foreign
|
||||
Depends: apt (>= 1.5~alpha4), ${misc:Depends}
|
||||
Priority: optional
|
||||
Section: oldlibs
|
||||
Description: transitional package for https support
|
||||
This is a dummy transitional package - https support has been moved into
|
||||
the apt package in 1.5. It can be safely removed.
|
156
debian/copyright
vendored
Normal file
156
debian/copyright
vendored
Normal file
|
@ -0,0 +1,156 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: apt
|
||||
Upstream-Contact: APT Development Team <deity@lists.debian.org>
|
||||
Source: https://salsa.debian.org/apt-team/apt
|
||||
Comment:
|
||||
APT is an old software with lots of contributors over its lifetime. This
|
||||
file is a best effort to document the statements of copyright and licenses
|
||||
as stated in the file, but is not a complete representation of all copyright
|
||||
holders - those have been lost to times.
|
||||
.
|
||||
Several bits of apt-pkg/contrib have had public domain dedications but
|
||||
contributions from authors in countries not recognizing a public domain
|
||||
concept. We believe that these contributions have been done in good faith,
|
||||
and we treat them as if they had been made under the GPL-2+ as we believe
|
||||
some contributors may have missed these facts and the overall license statement
|
||||
for the project has always been GPL-2+, so we cannot be sure that contributors
|
||||
meant to grant additional permissions.
|
||||
.
|
||||
Translation files are also considered to generally be GPL-2+,
|
||||
but they might include strings used in code with other licenses.
|
||||
.
|
||||
The apt-pkg/contrib/fileutl.cc file states "RunScripts()" is "GPLv2".
|
||||
We believe that this was not meant to exclude later versions of the GPL,
|
||||
as that would have changed the overall project license.
|
||||
|
||||
Files: *
|
||||
Copyright: 1997-1999 Jason Gunthorpe and others
|
||||
2018, 2019 Canonical Ltd
|
||||
2009, 2010, 2015, 2016 Julian Andres Klode <jak@debian.org>
|
||||
1998, Ben Gertzfield <che@debian.org>
|
||||
2002-2019 Free Software Foundation, Inc.
|
||||
2003, 2004, 2005, 2009, 2010, 2012 Software in the Public Interest
|
||||
2002-2003 Lars Bahner <bahner@debian.org>
|
||||
2003-2004 Axel Bojer <axelb@skolelinux.no>
|
||||
2004 Klaus Ade Johnstad <klaus@skolelinux.no>
|
||||
2004 Bjorn Steensrud <bjornst@powertech.no>
|
||||
2003, 2005-2010 Hans Fredrik Nordhaug <hans@nordhaug.priv.no>
|
||||
2016, 2018 Petter Reinholdtsen <pere@hungry.com>
|
||||
2009 Rosetta Contributors and Canonical Ltd 2009
|
||||
2013 Debian L10n Turkish 2013
|
||||
2013-2018 Mert Dirik <mertdirik@gmail.com>
|
||||
2004 Krzysztof Fiertek <akfedux@megapolis.pl>
|
||||
2000-2004, 2010, 2012 Robert Luberda <robert@debian.org>
|
||||
2000-2017 Debian Italian l10n team <debian-l10n-italian@lists.debian.org>
|
||||
2003-2017 Debian Japanese List <debian-japanese@lists.debian.org>
|
||||
2000-2018 Debian French l10n team <debian-l10n-french@lists.debian.org>
|
||||
1997 Manoj Srivastava
|
||||
1997 Tom Lees
|
||||
2014 Anthony Towns
|
||||
License: GPL-2+
|
||||
|
||||
Files: methods/connect.c
|
||||
Copyright: Copyright (c) 1996 - 2023, Daniel Stenberg, <daniel@haxx.se>, and many contributors
|
||||
License: GPL-2+ and curl
|
||||
|
||||
Files: CMake/FindBerkeley.cmake
|
||||
Copyright: 2006, Alexander Dymo, <adymo@kdevelop.org>
|
||||
2016, Julian Andres Klode <jak@debian.org>
|
||||
License: BSD-3-clause
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
.
|
||||
1. Redistributions of source code must retain the copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. The name of the author may not be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Files: CMake/Documentation.cmake
|
||||
CMake/FindLFS.cmake
|
||||
Copyright: 2016 Julian Andres Klode <jak@debian.org>
|
||||
License: Expat
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation files
|
||||
(the "Software"), to deal in the Software without restriction,
|
||||
including without limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
License: GPL-2
|
||||
This package is free software; you can redistribute it and/or modify
|
||||
it under the terms version 2 of the GNU General Public License
|
||||
as published by the Free Software Foundation.
|
||||
.
|
||||
This package is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
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 <https://www.gnu.org/licenses/>
|
||||
Comment:
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
|
||||
|
||||
License: GPL-2+
|
||||
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
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
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, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
Comment:
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
|
||||
|
||||
License: curl
|
||||
Permission to use, copy, modify, and distribute this software for any purpose
|
||||
with or without fee is hereby granted, provided that the above copyright
|
||||
notice and this permission notice appear in all copies.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
|
||||
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
||||
OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
.
|
||||
Except as contained in this notice, the name of a copyright holder shall not
|
||||
be used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization of the copyright holder.
|
18
debian/default-sequoia.config
vendored
Normal file
18
debian/default-sequoia.config
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Default APT Sequoia configuration. To overwrite, consider copying this
|
||||
# to /etc/crypto-policies/back-ends/apt-sequoia.config and modify the
|
||||
# desired values.
|
||||
[asymmetric_algorithms]
|
||||
dsa2048 = 2024-02-01
|
||||
dsa3072 = 2024-02-01
|
||||
dsa4096 = 2024-02-01
|
||||
brainpoolp256 = 2028-02-01
|
||||
brainpoolp384 = 2028-02-01
|
||||
brainpoolp512 = 2028-02-01
|
||||
rsa2048 = 2030-02-01
|
||||
|
||||
[hash_algorithms]
|
||||
sha1.second_preimage_resistance = 2026-02-01 # Extend the expiry for legacy repositories
|
||||
sha224 = 2026-02-01
|
||||
|
||||
[packets]
|
||||
signature.v3 = 2026-02-01 # Extend the expiry
|
10
debian/gbp.conf
vendored
Normal file
10
debian/gbp.conf
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
[DEFAULT]
|
||||
; we need a preexport here
|
||||
;preexport = ./prepare-release pre-export
|
||||
prebuild = ./prepare-release pre-build
|
||||
postbuild = ./prepare-release post-build
|
||||
debian-branch = main
|
||||
debian-tag = %(version)s
|
||||
export-dir = ../build-area
|
||||
sign-tags = True
|
||||
multimaint-merge = True
|
3
debian/libapt-pkg-dev.install
vendored
Normal file
3
debian/libapt-pkg-dev.install
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
usr/include/apt-pkg/
|
||||
usr/lib/*/libapt-pkg*.so
|
||||
usr/lib/*/pkgconfig/apt-*.pc
|
14
debian/libapt-pkg-doc.doc-base.design
vendored
Normal file
14
debian/libapt-pkg-doc.doc-base.design
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
Document: libapt-pkg-doc-design
|
||||
Title: APT Design Document
|
||||
Author: Jason Gunthorpe
|
||||
Abstract: The APT Design Document is an overview of the specifications and
|
||||
design goals of the APT project. It also attempts to give a broad
|
||||
description of the implementation as well.
|
||||
Section: Debian
|
||||
|
||||
Format: html
|
||||
Index: /usr/share/doc/libapt-pkg-doc/design.html/index.html
|
||||
Files: /usr/share/doc/libapt-pkg-doc/design.html/*.html
|
||||
|
||||
Format: text
|
||||
Files: /usr/share/doc/libapt-pkg-doc/design.text.gz
|
13
debian/libapt-pkg-doc.doc-base.dpkg-tech
vendored
Normal file
13
debian/libapt-pkg-doc.doc-base.dpkg-tech
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
Document: libapt-pkg-doc-dpkg-tech
|
||||
Title: APT's interpretation of DPkg Technical Specification
|
||||
Author: Jason Gunthorpe
|
||||
Abstract: The DPkg Technical Manual gives an overview of dpkg's external
|
||||
functions(as APT sees them) and describes how it views the world.
|
||||
Section: Debian
|
||||
|
||||
Format: html
|
||||
Index: /usr/share/doc/libapt-pkg-doc/dpkg-tech.html/index.html
|
||||
Files: /usr/share/doc/libapt-pkg-doc/dpkg-tech.html/*.html
|
||||
|
||||
Format: text
|
||||
Files: /usr/share/doc/libapt-pkg-doc/dpkg-tech.text.gz
|
14
debian/libapt-pkg-doc.doc-base.files
vendored
Normal file
14
debian/libapt-pkg-doc.doc-base.files
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
Document: libapt-pkg-doc-files
|
||||
Title: APT Files
|
||||
Author: Jason Gunthorpe
|
||||
Abstract: The APT Files document describes the complete implementation and
|
||||
format of the installed APT directory structure. It also serves as guide
|
||||
to how APT views the Debian archive.
|
||||
Section: Debian
|
||||
|
||||
Format: html
|
||||
Index: /usr/share/doc/libapt-pkg-doc/files.html/index.html
|
||||
Files: /usr/share/doc/libapt-pkg-doc/files.html/*.html
|
||||
|
||||
Format: text
|
||||
Files: /usr/share/doc/libapt-pkg-doc/files.text.gz
|
14
debian/libapt-pkg-doc.doc-base.method
vendored
Normal file
14
debian/libapt-pkg-doc.doc-base.method
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
Document: libapt-pkg-doc-method
|
||||
Title: APT Method Interface
|
||||
Author: Jason Gunthorpe
|
||||
Abstract: The APT Method Interface document describes the interface that
|
||||
APT uses to the archive access methods.
|
||||
Section: Debian
|
||||
|
||||
Format: html
|
||||
Index: /usr/share/doc/libapt-pkg-doc/method.html/index.html
|
||||
Files: /usr/share/doc/libapt-pkg-doc/method.html/*.html
|
||||
|
||||
Format: text
|
||||
Files: /usr/share/doc/libapt-pkg-doc/method.text.gz
|
||||
|
2
debian/libapt-pkg-doc.docs
vendored
Normal file
2
debian/libapt-pkg-doc.docs
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
doc/libapt-pkg2_to_3.txt
|
||||
doc/style.txt
|
1
debian/libapt-pkg-doc.install
vendored
Normal file
1
debian/libapt-pkg-doc.install
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
usr/share/doc/libapt-pkg-doc
|
1
debian/libapt-pkg-doc.lintian-overrides
vendored
Normal file
1
debian/libapt-pkg-doc.lintian-overrides
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
libapt-pkg-doc: duplicate-files usr/share/doc/libapt-pkg-doc/html/*
|
2
debian/libapt-pkg7.0.install
vendored
Normal file
2
debian/libapt-pkg7.0.install
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
usr/lib/*/libapt-pkg*.so.*
|
||||
usr/share/locale/*/*/libapt-pkg*.mo
|
1325
debian/libapt-pkg7.0.symbols
vendored
Normal file
1325
debian/libapt-pkg7.0.symbols
vendored
Normal file
File diff suppressed because it is too large
Load diff
61
debian/rules
vendored
Executable file
61
debian/rules
vendored
Executable file
|
@ -0,0 +1,61 @@
|
|||
#!/usr/bin/make -f
|
||||
# Copyright (C) 2009, 2016 Julian Andres Klode <jak@debian.org>
|
||||
#
|
||||
# Free Software, licensed under the GPL-2 or (at your option) any later version.
|
||||
export DEB_LDFLAGS_MAINT_APPEND := -Wl,--as-needed
|
||||
export DEB_BUILD_MAINT_OPTIONS := hardening=+all
|
||||
|
||||
# do not fail as we are just experimenting with symbol files for now
|
||||
export DPKG_GENSYMBOLS_CHECK_LEVEL=0
|
||||
|
||||
export CTEST_OUTPUT_ON_FAILURE=1
|
||||
|
||||
|
||||
ifneq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
|
||||
configure_test_flags = -DWITH_TESTS=OFF
|
||||
else
|
||||
configure_test_flags =
|
||||
endif
|
||||
|
||||
%:
|
||||
dh $@ --buildsystem=cmake+ninja
|
||||
|
||||
override_dh_clean:
|
||||
cp COPYING debian/copyright
|
||||
dh_clean
|
||||
|
||||
override_dh_install-arch:
|
||||
dh_install -papt-utils -X/dump
|
||||
dh_install -papt -Xmethods/curl -Xmethods/curl+https -Xmethods/curl+http
|
||||
dh_install --remaining
|
||||
install -m 644 debian/apt.conf.autoremove debian/apt/etc/apt/apt.conf.d/01autoremove
|
||||
|
||||
override_dh_gencontrol:
|
||||
dh_gencontrol -- -Vapt:keyring="$(shell ./vendor/getinfo keyring-package)" -Vopenpgp:Depends="$(shell test -e /usr/bin/sqv && echo "sqv (>= 1.3.0)" || echo gpgv)"
|
||||
|
||||
override_dh_installcron:
|
||||
dh_installcron --name=apt-compat
|
||||
|
||||
override_dh_installsystemd:
|
||||
# Do not restart "apt-daily.service" because this script runs
|
||||
# unattended-upgrades. So if apt itself is upgraded as part of
|
||||
# an unattended-upgrades run it would kill itself
|
||||
dh_installsystemd -papt apt-daily.timer apt-daily-upgrade.timer
|
||||
dh_installsystemd -papt --no-restart-on-upgrade --no-restart-after-upgrade --no-start apt-daily.service apt-daily-upgrade.service
|
||||
dh_installsystemd --remaining-packages
|
||||
|
||||
ifneq ($(filter pkg.apt.nodoxygen,$(DEB_BUILD_PROFILES)),)
|
||||
override_dh_auto_configure-arch: configure_doc_flags=-DWITH_DOC=OFF -DWITH_DOC_MANPAGES=ON -DWITH_DOC_EXAMPLES=ON
|
||||
override_dh_auto_configure-indep: configure_doc_flags=-DWITH_DOC=OFF -DWITH_DOC_GUIDES=ON -DWITH_DOC_EXAMPLES=ON
|
||||
else
|
||||
ifneq ($(filter nodoc,$(DEB_BUILD_PROFILES)),)
|
||||
override_dh_auto_configure-arch: configure_doc_flags=-DWITH_DOC=OFF
|
||||
override_dh_auto_configure-indep: configure_doc_flags=-DWITH_DOC=OFF
|
||||
else
|
||||
override_dh_auto_configure-arch: configure_doc_flags=-DWITH_DOC=OFF -DWITH_DOC_MANPAGES=ON -DWITH_DOC_EXAMPLES=ON
|
||||
override_dh_auto_configure-indep: configure_doc_flags=-DWITH_DOC=ON
|
||||
endif
|
||||
endif
|
||||
|
||||
override_dh_auto_configure-arch override_dh_auto_configure-indep:
|
||||
dh_auto_configure -- -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON $(configure_doc_flags) $(configure_test_flags)
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
3.0 (native)
|
15
debian/tests/control
vendored
Normal file
15
debian/tests/control
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
Tests: pkg-config-test
|
||||
Restrictions: superficial
|
||||
Depends: libapt-pkg-dev, pkg-config, g++
|
||||
|
||||
Tests: run-tests
|
||||
Restrictions: allow-stderr
|
||||
Depends: @, @builddeps@, dpkg (>= 1.20.8), expect, fakeroot, wget, stunnel4, lsof, db-util,
|
||||
gpgv,
|
||||
gpgv-sq,
|
||||
sq (>= 0.40),
|
||||
sqv,
|
||||
moreutils,
|
||||
jq,
|
||||
libfile-fcntllock-perl, python3-apt, aptitude,
|
||||
valgrind-if-available [!armhf !ppc64el], gdb
|
32
debian/tests/pkg-config-test
vendored
Normal file
32
debian/tests/pkg-config-test
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ -z "$AUTOPKGTEST_TMP" ]; then
|
||||
WORKDIR=''
|
||||
cleanup() {
|
||||
if [ -n "$WORKDIR" ]; then cd /; rm -rf -- "$WORKDIR"; fi
|
||||
WORKDIR=''
|
||||
}
|
||||
trap 'cleanup' 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
|
||||
WORKDIR="$(mktemp -d)"
|
||||
cd "$WORKDIR"
|
||||
else
|
||||
cd "$AUTOPKGTEST_TMP"
|
||||
fi
|
||||
|
||||
cat >pkgconfigtest.cc <<EOF
|
||||
#include <apt-pkg/init.h>
|
||||
#include <cstdio>
|
||||
|
||||
int main()
|
||||
{
|
||||
printf("APT Version: %s\n", pkgVersion);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
g++ -Wall -Wextra -o pkgconfigtest pkgconfigtest.cc `pkg-config --cflags --libs apt-pkg`
|
||||
echo 'build: OK'
|
||||
test -x pkgconfigtest
|
||||
./pkgconfigtest
|
||||
echo 'run: OK'
|
37
debian/tests/run-tests
vendored
Normal file
37
debian/tests/run-tests
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
SOURCE_DIR="$(pwd)"
|
||||
if [ -z "$AUTOPKGTEST_TMP" ]; then
|
||||
BUILD_DIR=''
|
||||
cleanup() {
|
||||
if [ -n "$BUILD_DIR" ]; then cd /; rm -rf -- "$BUILD_DIR"; fi
|
||||
BUILD_DIR=''
|
||||
}
|
||||
trap 'cleanup' 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
|
||||
BUILD_DIR="$(mktemp -d)"
|
||||
else
|
||||
BUILD_DIR="$AUTOPKGTEST_TMP"
|
||||
fi
|
||||
|
||||
if [ ! -e "${BUILD_DIR}/CMakeCache.txt" ]; then
|
||||
cmake -S "$SOURCE_DIR" -B "$BUILD_DIR" -DUSE_SYSTEM_APTPKG=ON -DWITH_DOC=OFF -DUSE_NLS=OFF
|
||||
fi
|
||||
|
||||
make -C "${BUILD_DIR}/test/interactive-helper"
|
||||
|
||||
# run tests against the installed apt, use "env -i" to ensure
|
||||
# the host env does not pollute our environment
|
||||
env -i \
|
||||
APT_INTEGRATION_TESTS_SOURCE_DIR="${SOURCE_DIR}" \
|
||||
APT_INTEGRATION_TESTS_BUILD_DIR="${BUILD_DIR}" \
|
||||
APT_INTEGRATION_TESTS_METHODS_DIR=/usr/lib/apt/methods \
|
||||
APT_INTEGRATION_TESTS_LIBEXEC_DIR=/usr/lib/apt/ \
|
||||
APT_INTEGRATION_TESTS_INTERNAL_SOLVER=/usr/lib/apt/solvers/apt \
|
||||
APT_INTEGRATION_TESTS_DUMP_SOLVER=/usr/lib/apt/solvers/dump \
|
||||
APT_INTEGRATION_TESTS_INTERNAL_PLANNER=/usr/lib/apt/planners/apt \
|
||||
APT_INTEGRATION_TESTS_FTPARCHIVE_BIN_DIR=/usr/bin \
|
||||
APT_INTEGRATION_TESTS_CMDLINE_BIN_DIR=/usr/bin \
|
||||
APT_INTEGRATION_TESTS_LIBRARY_PATH=/dev/null/does/not/exist \
|
||||
APT_INTEGRATION_TESTS_ARTIFACTS_DIR="${AUTOPKGTEST_ARTIFACTS}" \
|
||||
"${SOURCE_DIR}/test/integration/run-tests" -q
|
Loading…
Add table
Add a link
Reference in a new issue