Browse Source

* Added the ability to skip the rebuild of all packages which are dependent on the package being installed

git-svn-id: trunk@16131 -
joost 15 years ago
parent
commit
631811d779
2 changed files with 6 additions and 1 deletions
  1. 4 1
      utils/fppkg/fppkg.pp
  2. 2 0
      utils/fppkg/pkgoptions.pp

+ 4 - 1
utils/fppkg/fppkg.pp

@@ -180,6 +180,7 @@ begin
   Writeln('  -o --options=value Pass extra options to the compiler');
   Writeln('  -o --options=value Pass extra options to the compiler');
   Writeln('  -n                 Do not read the default configuration files');
   Writeln('  -n                 Do not read the default configuration files');
   Writeln('  -p --prefix=value  Specify the prefix');
   Writeln('  -p --prefix=value  Specify the prefix');
+  Writeln('  -s --skipbroken    Skip the rebuild of depending packages after installation');
   Writeln('  --compiler=value   Specify the compiler-executable');
   Writeln('  --compiler=value   Specify the compiler-executable');
   Writeln('  --cpu=value        Specify the target cpu to compile for');
   Writeln('  --cpu=value        Specify the target cpu to compile for');
   Writeln('  --os=value         Specify the target operating system to compile for');
   Writeln('  --os=value         Specify the target operating system to compile for');
@@ -294,6 +295,8 @@ begin
         GlobalOptions.AllowBroken:=true
         GlobalOptions.AllowBroken:=true
       else if CheckOption(I,'l','showlocation') then
       else if CheckOption(I,'l','showlocation') then
         GlobalOptions.ShowLocation:=true
         GlobalOptions.ShowLocation:=true
+      else if CheckOption(I,'s','skipbroken') then
+        GlobalOptions.SkipFixBrokenAfterInstall:=true
       else if CheckOption(I,'o','options') and FirstPass then
       else if CheckOption(I,'o','options') and FirstPass then
         begin
         begin
           OptString := OptionArg(I);
           OptString := OptionArg(I);
@@ -444,7 +447,7 @@ begin
       end;
       end;
 
 
     // Recompile all packages dependent on this package
     // Recompile all packages dependent on this package
-    if (ParaAction='install') then
+    if (ParaAction='install') and not GlobalOptions.SkipFixBrokenAfterInstall then
       pkghandler.ExecuteAction('','fixbroken');
       pkghandler.ExecuteAction('','fixbroken');
 
 
     Terminate;
     Terminate;

+ 2 - 0
utils/fppkg/pkgoptions.pp

@@ -51,6 +51,7 @@ Type
     FOptionParser: TTemplateParser;
     FOptionParser: TTemplateParser;
     FShowLocation: Boolean;
     FShowLocation: Boolean;
     FSkipConfigurationFiles: boolean;
     FSkipConfigurationFiles: boolean;
+    FSkipFixBrokenAfterInstall: boolean;
     function  GetOptString(Index: integer): String;
     function  GetOptString(Index: integer): String;
     procedure SetOptString(Index: integer; const AValue: String);
     procedure SetOptString(Index: integer; const AValue: String);
     procedure UpdateLocalRepositoryOption;
     procedure UpdateLocalRepositoryOption;
@@ -85,6 +86,7 @@ Type
     Property AllowBroken : Boolean Read FAllowBroken Write FAllowBroken;
     Property AllowBroken : Boolean Read FAllowBroken Write FAllowBroken;
     Property ShowLocation : Boolean Read FShowLocation Write FShowLocation;
     Property ShowLocation : Boolean Read FShowLocation Write FShowLocation;
     Property SkipConfigurationFiles: boolean read FSkipConfigurationFiles write FSkipConfigurationFiles;
     Property SkipConfigurationFiles: boolean read FSkipConfigurationFiles write FSkipConfigurationFiles;
+    Property SkipFixBrokenAfterInstall: boolean read FSkipFixBrokenAfterInstall write FSkipFixBrokenAfterInstall;
   end;
   end;