[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tyndur-devel] [PATCH] + lpt: Installation lokaler Pakete



---
 trunk/src/modules/pas/lpt/lpt.pas |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/trunk/src/modules/pas/lpt/lpt.pas b/trunk/src/modules/pas/lpt/lpt.pas
index 06c3e63..2469cda 100644
--- a/trunk/src/modules/pas/lpt/lpt.pas
+++ b/trunk/src/modules/pas/lpt/lpt.pas
@@ -125,6 +125,8 @@ begin
     WriteLn('  scan: Lädt die Paketlisten von den Servern');
     WriteLn('  list: Zeigt alle installierten Pakete an');
     WriteLn('  get:  Installiert das angegebene Paket');
+    WriteLn('  install: Installiert das angegebene Paket aus lokaler Datei');
+    WriteLn('           Achtung, Datei als letzten Parameter angeben!');
 end;
 
 procedure Scan;
@@ -184,6 +186,16 @@ begin
                     TextColor(7);
                 end;
             end;
+        end else if repo.repostype = 'singlefile' then begin
+            try
+                pkgset.ScanPackage(repo.url, repo);
+            except
+                on e: Exception do begin
+                    TextColor(12);
+                    WriteLn('Fehler beim Einlesen der Paketliste: ', e.message);
+                    TextColor(7);
+                end;
+            end;
         end;
     end;
 end;
@@ -311,6 +323,14 @@ begin
 
 end;
 
+procedure Install(pkgfile: String; pkgname: String; reinstall: boolean);
+var
+    repo: TRepository;
+begin
+    AddRepository(pkgname, pkgfile, 'singlefile');
+    Get(pkgname, reinstall);
+end;
+
 procedure List;
 var
     srec: SearchRec;
@@ -415,6 +435,20 @@ begin
             WriteLn('Falsche Parameterzahl');
             PrintUsage;
         end;
+    end else if system.ParamStr(1) = 'install' then begin
+        if system.ParamCount = 3 then begin
+            Install(system.ParamStr(3), system.ParamStr(2), false);
+        end else begin
+            WriteLn('Falsche Parameterzahl');
+            PrintUsage;
+        end;
+    end else if system.ParamStr(1) = 'reinstall' then begin
+        if system.ParamCount = 3 then begin
+            Install(system.ParamStr(3), system.ParamStr(2), true);
+        end else begin
+            WriteLn('Falsche Parameterzahl');
+            PrintUsage;
+        end;
     end else if system.ParamStr(1) = 'cfg-addbin' then begin
         if system.ParamCount = 3 then begin
             CfgAddbin(system.ParamStr(2), system.ParamStr(3));
-- 
1.5.6.3