1Alien::Packages(3) User Contributed Perl Documentation Alien::Packages(3)
2
3
4
6 Alien::Packages - Find information of installed packages
7
9 my $ap = Alien::Packages->new();
10
11 my @packages = $ap->list_packages();
12 foreach my $pkg (@packages)
13 {
14 print "$pkg->[0] version $pkg->[1]: $pkg->[2]\n";
15 }
16
17 my %perl_owners = $ap->list_fileowners( File::Spec->rel2abs( $^X ) );
18 while( my ($fn, $pkg) = each( %perl_owners ) )
19 {
20 print "$fn is provided by ", join( ", ", @$pkg ), "\n";
21 }
22
24 new
25 Instantiates new Alien::Packages object. Attributes can be specified
26 for used finder (of type Module::Pluggable::Object). Additionally,
27
28 "only_loaded"
29 Use only plugins which are still loaded.
30
31 can be specified with a true value. This forces to grep %INC instead of
32 using Module::Pluggable.
33
34 list_packages
35 Lists the installed packages on the system (if the caller has the
36 permission to do).
37
38 Results in a list of array references, whereby each item contains:
39
40 {
41 PkgType => $pkg_type, # e.g. 'dpkg', 'pkgsrc', ...
42 Package => $pkg_name,
43 Version => $version,
44 Summary => $summary,
45 }
46
47 "type" is the packager type, e.g. rpm, lpp or pkgsrc.
48
49 list_fileowners
50 Provides an association between files on the system and the package
51 which reference it (has presumably installed it).
52
53 Returns a hash with the files names as key and a list of referencing
54 package names as value:
55
56 '/absolute/path/to/file' =>
57 [
58 {
59 PkgType => $pkg_type,
60 Package => $pkg_name,
61 }
62 ],
63 ...
64
66 Jens Rehsack, "<rehsack at cpan.org>"
67
69 To get novice help, it's usually recommended to ask on typical
70 platforms like PerlMonks. To help you make the best use of the
71 PerlMonks platform, and any other lists or forums you may use, I
72 strongly recommend that you read "How To Ask Questions The Smart Way"
73 by Eric Raymond: <http://www.catb.org/~esr/faqs/smart-questions.html>.
74
75 If you really asks a question what noone can answer, please drop me a
76 note with the question URL to either my CPAN address or on
77 "irc.perl.org" in the channels "#toolchain" or "#devops". I'll try to
78 answer as best as I can (and as soon, as possible, of course).
79
80 Where can I go for help with a concrete version?
81 Bugs and feature requests are accepted against the latest version only.
82 To get patches for earlier versions, you need to get an agreement with
83 a developer of your choice - who may or not report the issue and a
84 suggested fix upstream (depends on the license you have chosen).
85
86 Business support and maintenance
87 For business support you can contact Jens via his CPAN email address
88 rehsackATcpan.org. Please keep in mind that business support is neither
89 available for free nor are you eligible to receive any support based on
90 the license distributed with this package.
91
93 This module is alpha software, the API may change in future releases.
94 See Alien::Packages::Roadmap for more details.
95
96 Please report any bugs or feature requests to "bug-alien-packages at
97 rt.cpan.org", or through the web interface at
98 <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Alien-Packages>. I
99 will be notified, and then you'll automatically be notified of progress
100 on your bug as I make changes.
101
103 You can find documentation for this module with the perldoc command.
104
105 perldoc Alien::Packages
106
107 You can also look for information at:
108
109 • RT: CPAN's request tracker
110
111 <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Alien-Packages>
112
113 • AnnoCPAN: Annotated CPAN documentation
114
115 <http://annocpan.org/dist/Alien-Packages>
116
117 • CPAN Ratings
118
119 <http://cpanratings.perl.org/d/Alien-Packages>
120
121 • Search CPAN
122
123 <http://search.cpan.org/dist/Alien-Packages/>
124
125 If you think you've found a bug then please also read "How to Report
126 Bugs Effectively" by Simon Tatham:
127 <http://www.chiark.greenend.org.uk/~sgtatham/bugs.html>.
128
130 There're several ways how you can help to support future development:
131 You can hire the author to implement the features you require at most
132 (this also defines priorities), you can negotiate a support and
133 maintenance contract with the company of the author and you can provide
134 tests and patches. Further, you can submit documentation and links to
135 resources to improve or add packaging systems or grant remote access to
136 machines with insufficient supported packaging tools.
137
140 Copyright 2010 Jens Rehsack.
141
142 This program is free software; you can redistribute it and/or modify it
143 under the terms of either: the GNU General Public License as published
144 by the Free Software Foundation; or the Artistic License.
145
146 See http://dev.perl.org/licenses/ for more information.
147
148
149
150perl v5.36.0 2023-01-19 Alien::Packages(3)