[Midnightbsd-cvs] mports: Port.pm: Gutted to be a Mport::DBI subclass.

ctriv at midnightbsd.org ctriv at midnightbsd.org
Mon Sep 10 22:32:04 EDT 2007


Log Message:
-----------
Gutted to be a Mport::DBI subclass.  More functionality will be added to
this class as needed.

Modified Files:
--------------
    mports/Tools/lib/Mport:
        Port.pm (r1.1 -> r1.2)

-------------- next part --------------
Index: Port.pm
===================================================================
RCS file: /home/cvs/mports/Tools/lib/Mport/Port.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -LTools/lib/Mport/Port.pm -LTools/lib/Mport/Port.pm -u -r1.1 -r1.2
--- Tools/lib/Mport/Port.pm
+++ Tools/lib/Mport/Port.pm
@@ -4,85 +4,16 @@
 #
 use strict;
 use warnings;
-use Cwd;
-use Fatal qw(chdir);
-use Text::ParseWords qw(shellwords);
 
-use Mport::Index;
-use Mport::Globals qw($MAKE);
+use base 'Mport::DBI';
 
-=head2 Mport::Port->new()
+__PACKAGE__->table('ports');
+__PACKAGE__->columns(All => qw(name version description license pkgname));
+__PACKAGE__->has_many(depends => 'Mport::Depend' => 'port');
 
-Create a Mport::Port object.  If given a hashref as an argument, this method
-is a simple constructor.  If given a string, then an attempt is made to find 
-port in the index.
 
-=cut
-
-sub new {
-  my $class = shift;
-  
-  if (ref $_[0] && ref $_[0] eq 'HASH') {
-    return $class->_new_from_hash($_[0]);
-  } else {
-    return Mport::Index->find_port($_[0]);
-  }
-}
-
-sub name   { return $_[0]->{'name'}   }
-sub origin { return $_[0]->{'origin'} } 
-
-sub make {
-  my $self = shift;
-  
-  $self->_to_orig;
-  system($MAKE, @_);  
-  $self->_leave_orig;
-}
-
-sub _to_orig {
-  my ($self) = @_;
-  
-  $self->{'_cwd'} = getcwd();
-  
-  chdir($self->origin);
-}
-
-sub _leave_orig {
-  my ($self) = @_;
-  
-  chdir($self->{'_cwd'});
-}
-
-sub options {
-  my ($self) = @_;
- 
-  unless ($self->{'options'}) {
- 
-    my @opts = shellwords($self->_make_var('OPTIONS'));
-    $self->{'options'} = {};
- 
-    while (@opts) {
-      my $var = shift @opts;
-      shift @opts;  # var description
-      my $value = shift @opts;
-      $self->{'options'}->{$var} = $value eq 'On' ? 1 : 0;
-    }
-  }
-  
-  return $self->{'options'};
-}
-
-sub _make_var {
-  my ($self, @vars) = @_;
-  
-  my $args = join(' ', map { "-V $_" } @vars);
-  
-  $self->_to_orig;
-  my @ret = `$MAKE $args`;
-  $self->_leave_orig;
-
-  return wantarray ? @ret : join("\n", @ret);
+sub origin {
+  return join('/', $Mport::Globals::ROOT, $_[0]->name);
 }
 
 1;


More information about the Midnightbsd-cvs mailing list