Files
snapd/packaging/debian-sid/control
Oliver Calder 6905775c44 i/prompting: implement path pattern matching (#13866)
Path pattern matching is implemented via the doublestar package, which
emulates bash's globstar matching. Patterns may include '*' wildcard
characters (which match any number of non-separator characters), '**'
doublestars (which match zero or more subdirectories), '?' wildcard
characters (which match exactly one non-separator character), and nested
groups delimited by '{' and '}'. Notably, path patterns are *not* allowed
to have character classes delimited by '[' and ']', nor inverted
classes of the form "[^abc]".

There is a limit on the number of groups allowed in path patterns, but
up to that limit, groups may be arbitrarily nested or sequential.

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>

i/prompting: fix typo and add notes to remove test boilerplate

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>

i/prompting: use separate test suite for patterns

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>

i/prompting: improve unit test coverage

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>

* i/prompting: count and validate true number of expanded patterns

Rather than counting the number of groups and using it as a heuristic
for the number of patterns into which a given path pattern will expand,
instead compute the true number of expanded patterns and compare it
against a set limit.

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>

* i/prompting: implement path pattern checks in constraints

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>

* i/prompting: throw error if group depth exceeds maximum expanded patterns

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>

* packaging: add doublestar dependency for prompting pattern matching

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>

* i/prompting: remove standalone path pattern validation

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>

---------

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
2024-06-17 20:12:22 +02:00

130 lines
4.4 KiB
Plaintext

Source: snapd
Section: devel
Priority: optional
Maintainer: Michael Hudson-Doyle <mwhudson@debian.org>
Uploaders: Steve Langasek <vorlon@debian.org>,
Zygmunt Krynicki <me@zygoon.pl>,
Luke Faraone <lfaraone@debian.org>,
Michael Vogt <mvo@debian.org>
Build-Depends: autoconf,
autoconf-archive,
automake,
autotools-dev,
bash-completion,
ca-certificates,
dbus,
debhelper (>= 9.20160709),
dh-apparmor,
dh-autoreconf,
dh-golang (>=1.7),
fakeroot,
gcc-multilib [amd64],
gettext,
gnupg2,
golang-dbus-dev,
golang-github-bmatcuk-doublestar-dev,
golang-github-coreos-bbolt-dev,
golang-github-coreos-go-systemd-dev,
golang-github-gorilla-mux-dev,
golang-github-jessevdk-go-flags-dev,
golang-github-juju-ratelimit-dev,
golang-github-kr-pretty-dev,
golang-github-mvo5-goconfigparser-dev,
golang-github-seccomp-libseccomp-golang-dev,
golang-go (>=2:1.18),
golang-golang-x-crypto-dev,
golang-golang-x-xerrors-dev,
golang-gopkg-check.v1-dev,
golang-gopkg-macaroon.v1-dev,
golang-gopkg-mgo.v2-dev,
golang-gopkg-retry.v1-dev,
golang-gopkg-tomb.v2-dev (>= 0.0~git20161208.0.d5d1b58),
golang-gopkg-tylerb-graceful.v1-dev,
golang-gopkg-yaml.v2-dev,
golang-gopkg-yaml.v3-dev,
grub-common,
indent,
libapparmor-dev,
libcap-dev,
libglib2.0-dev,
liblzo2-dev,
libseccomp-dev,
libudev-dev,
openssh-client,
pkg-config,
python3,
python3-docutils,
python3-markdown,
squashfs-tools,
systemd-dev,
tzdata,
udev,
xfslibs-dev
Standards-Version: 4.6.0
Homepage: https://github.com/snapcore/snapd
Vcs-Browser: https://salsa.debian.org/debian/snapd
Vcs-Git: https://salsa.debian.org/debian/snapd.git
XS-Go-Import-Path: github.com/snapcore/snapd
Package: golang-github-snapcore-snapd-dev
Architecture: all
Breaks: golang-github-ubuntu-core-snappy-dev (<< 2.0.6),
golang-snappy-dev (<< 1.7.3+20160303ubuntu4)
Replaces: golang-github-ubuntu-core-snappy-dev (<< 2.0.6),
golang-snappy-dev (<< 1.7.3+20160303ubuntu4)
Depends: ${misc:Depends}
Description: snappy development go packages.
Use these to use the snappy API.
Package: snapd
Architecture: any
Depends: adduser,
apparmor (>= 2.10.95-5),
ca-certificates,
default-dbus-session-bus | dbus-session-bus,
gnupg1 | gnupg,
kmod,
openssh-client,
squashfs-tools,
systemd,
udev,
${misc:Depends},
${shlibs:Depends}
Replaces: snap-confine (<< 2.23),
snapd-xdg-open (<= 0.0.0),
ubuntu-core-launcher (<< 2.22),
ubuntu-snappy (<< 1.9),
ubuntu-snappy-cli (<< 1.9)
Breaks: snap-confine (<< 2.23),
snapd-xdg-open (<= 0.0.0),
ubuntu-core-launcher (<< 2.22),
ubuntu-snappy (<< 1.9),
ubuntu-snappy-cli (<< 1.9),
${snapd:Breaks}
Recommends: gnupg
Suggests: zenity | kdialog
Conflicts: snap (<< 2013-11-29-1ubuntu1)
Built-Using: ${Built-Using} ${misc:Built-Using}
Description: Daemon and tooling that enable snap packages
Install, configure, refresh and remove snap packages. Snaps are
'universal' packages that work across many different Linux systems,
enabling secure distribution of the latest apps and utilities for
cloud, servers, desktops and the internet of things.
.
Start with 'snap list' to see installed snaps.
Package: snap-confine
Architecture: any
Section: oldlibs
Depends: snapd (= ${binary:Version}), ${misc:Depends}
Description: Transitional package for snapd
This is a transitional dummy package. It can safely be removed.
Package: ubuntu-core-launcher
Architecture: any
Depends: snapd (= ${binary:Version}), ${misc:Depends}
Section: oldlibs
Pre-Depends: dpkg (>= 1.15.7.2)
Description: Transitional package for snapd
This is a transitional dummy package. It can safely be removed.