summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/pkg_add/pod/OpenBSD::RequiredBy.pod57
1 files changed, 57 insertions, 0 deletions
diff --git a/usr.sbin/pkg_add/pod/OpenBSD::RequiredBy.pod b/usr.sbin/pkg_add/pod/OpenBSD::RequiredBy.pod
new file mode 100644
index 00000000000..6eb4d648762
--- /dev/null
+++ b/usr.sbin/pkg_add/pod/OpenBSD::RequiredBy.pod
@@ -0,0 +1,57 @@
+$OpenBSD: OpenBSD::RequiredBy.pod,v 1.1 2005/08/17 11:02:10 espie Exp $
+
+=head1 NAME
+
+OpenBSD::RequiredBy - manage installed package dependencies
+
+=head1 SYNOPSIS
+
+ use OpenBSD::RequiredBy;
+
+
+ # let's do things for real
+ our $not = 0;
+
+ my $o = OpenBSD::RequiredBy->new($pkgname);
+
+ my $o2 = OpenBSD::Requiring->new($pkgname);
+
+ print "Requirements for $pkgname are ", join(' ',$o2->list()), "\n";
+
+ # add some reverse dependencies
+ $o->add($reverse_dep1, $reverse_dep2);
+
+ # remove some dependency
+ $o2->delete($dep);
+
+ # forget some cache entry
+ OpenBSD::RequiredBy->forget(installed_info($pkgname));
+
+
+=head1 DESCRIPTION
+
+=for comment should add a reference to L<PackageInfo/installed_info>
+when it's documented.
+
+C<OpenBSD::RequiredBy> handles lists of forward and reverse dependencies
+for installed packages.
+
+If C<$main::not> is true, all change operations are done internally and
+never written to disk.
+
+C<$o = OpenBSD::RequiredBy-E<gt>new($pkgname)> gives access to the reverse
+dependencies,
+C<$o =OpenBSD::Requiring-E<gt>new($pkgname)> gives access to the forward
+dependencies.
+
+Such an object can be used to list the dependencies C<$o-E<gt>list()>,
+add names to them C<$o-E<gt>add(name1, name2,...)> or remove name from
+them C<$o-E<gt>delete(name1, name2, ...)>.
+
+Those lists of dependencies trim duplicates and, unless C<$main::not> is true,
+disk files are automatically synchronized whenever the lists change.
+
+C<OpenBSD::RequiredBy> maintains a cache for efficiency. When an
+installed package is deleted completely,
+C<OpenBSD::RequiredBy-E<gt>forget($dir)> and
+C<OpenBSD::Requiring-E<gt>forget($dir)> will remove the cache entries.