1Dpkg::Deps::Simple(3perl) libdpkg-perl Dpkg::Deps::Simple(3perl)
2
3
4
6 Dpkg::Deps::Simple - represents a single dependency statement
7
9 This class represents a single dependency statement. It has several
10 interesting properties:
11
12 package
13 The package name (can be undef if the dependency has not been
14 initialized or if the simplification of the dependency lead to its
15 removal).
16
17 relation
18 The relational operator: "=", "<<", "<=", ">=" or ">>". It can be
19 undefined if the dependency had no version restriction. In that
20 case the following field is also undefined.
21
22 version
23 The version.
24
25 arches
26 The list of architectures where this dependency is applicable. It
27 is undefined when there's no restriction, otherwise it is an array
28 ref. It can contain an exclusion list, in that case each
29 architecture is prefixed with an exclamation mark.
30
31 archqual
32 The arch qualifier of the dependency (can be undef if there is
33 none). In the dependency "python:any (>= 2.6)", the arch qualifier
34 is "any".
35
36 restrictions
37 The restrictions formula for this dependency. It is undefined when
38 there is no restriction formula. Otherwise it is an array ref.
39
41 $dep = Dpkg::Deps::Simple->new([$dep[, %opts]]);
42 Creates a new object. Some options can be set through %opts:
43
44 host_arch
45 Sets the host architecture.
46
47 build_arch
48 Sets the build architecture.
49
50 build_dep
51 Specifies whether the parser should consider it a build
52 dependency. Defaults to 0.
53
54 tests_dep
55 Specifies whether the parser should consider it a tests
56 dependency. Defaults to 0.
57
58 $dep->reset()
59 Clears any dependency information stored in $dep so that
60 $dep->is_empty() returns true.
61
62 $dep->parse_string($dep_string)
63 Parses the dependency string and modifies internal properties to
64 match the parsed dependency.
65
66 $dep->parse($fh, $desc)
67 Parse a dependency line from a filehandle.
68
69 $dep->load($filename)
70 Parse a dependency line from $filename.
71
72 $dep->output([$fh])
73 "$dep"
74 Returns a string representing the dependency. If $fh is set, it
75 prints the string to the filehandle.
76
77 $dep->save($filename)
78 Save the dependency into the given $filename.
79
80 $dep->implies($other_dep)
81 Returns 1 when $dep implies $other_dep. Returns 0 when $dep implies
82 NOT($other_dep). Returns undef when there is no implication. $dep
83 and $other_dep do not need to be of the same type.
84
85 $dep->get_deps()
86 Returns a list of sub-dependencies, which for this object it means
87 it returns itself.
88
89 $dep->sort()
90 This method is a no-op for this object.
91
92 $dep->arch_is_concerned($arch)
93 Returns true if the dependency applies to the indicated
94 architecture.
95
96 $dep->reduce_arch($arch)
97 Simplifies the dependency to contain only information relevant to
98 the given architecture. This object can be left empty after this
99 operation. This trims off the architecture restriction list of
100 these objects.
101
102 $dep->has_arch_restriction()
103 Returns the package name if the dependency applies only to a subset
104 of architectures.
105
106 $dep->profile_is_concerned()
107 Returns true if the dependency applies to the indicated profile.
108
109 $dep->reduce_profiles()
110 Simplifies the dependency to contain only information relevant to
111 the given profile. This object can be left empty after this
112 operation. This trims off the profile restriction list of this
113 object.
114
115 $dep->get_evaluation($facts)
116 Evaluates the dependency given a list of installed packages and a
117 list of virtual packages provided. These lists are part of the
118 Dpkg::Deps::KnownFacts object given as parameters.
119
120 Returns 1 when it's true, 0 when it's false, undef when some
121 information is lacking to conclude.
122
123 $dep->simplify_deps($facts, @assumed_deps)
124 Simplifies the dependency as much as possible given the list of
125 facts (see class Dpkg::Deps::KnownFacts) and a list of other
126 dependencies that are known to be true.
127
128 $dep->is_empty()
129 Returns true if the dependency is empty and doesn't contain any
130 useful information. This is true when the object has not yet been
131 initialized.
132
133 $dep->merge_union($other_dep)
134 Returns true if $dep could be modified to represent the union of
135 both dependencies. Otherwise returns false.
136
138 Version 1.02 (dpkg 1.17.10)
139 New methods: Add $dep->profile_is_concerned() and
140 $dep->reduce_profiles().
141
142 Version 1.01 (dpkg 1.16.1)
143 New method: Add $dep->reset().
144
145 New property: recognizes the arch qualifier "any" and stores it in the
146 "archqual" property when present.
147
148 Version 1.00 (dpkg 1.15.6)
149 Mark the module as public.
150
151
152
1531.21.9 2022-08-04 Dpkg::Deps::Simple(3perl)