فهرست منبع

* Create the archives for multiple packages in the same location as the head fpmake.pp

git-svn-id: trunk@28915 -
joost 10 سال پیش
والد
کامیت
618f9745f8
1فایلهای تغییر یافته به همراه15 افزوده شده و 7 حذف شده
  1. 15 7
      packages/fpmkunit/src/fpmkunit.pp

+ 15 - 7
packages/fpmkunit/src/fpmkunit.pp

@@ -4735,14 +4735,21 @@ begin
   {$ifdef HAS_TAR_SUPPORT}
   if not assigned(FTarWriter) then
     begin
-      FGZFileStream := TGZFileStream.create(Defaults.ZipPrefix + APackage.Name + MakeZipSuffix(Defaults.CPU,Defaults.OS) +'.tar.gz', gzopenwrite);
+      If (APackage.Directory<>'') then
+        EnterDir('');
       try
-        FTarWriter := TTarWriter.Create(FGZFileStream);
-        FTarWriter.Permissions := [tpReadByOwner, tpWriteByOwner, tpReadByGroup, tpReadByOther];
-        FTarWriter.UserName := 'root';
-        FTarWriter.GroupName := 'root';
-      except
-        FGZFileStream.Free;
+        FGZFileStream := TGZFileStream.create(Defaults.ZipPrefix + APackage.Name + MakeZipSuffix(Defaults.CPU,Defaults.OS) +'.tar.gz', gzopenwrite);
+        try
+          FTarWriter := TTarWriter.Create(FGZFileStream);
+          FTarWriter.Permissions := [tpReadByOwner, tpWriteByOwner, tpReadByGroup, tpReadByOther];
+          FTarWriter.UserName := 'root';
+          FTarWriter.GroupName := 'root';
+        except
+          FGZFileStream.Free;
+        end;
+      finally
+        If (APackage.Directory<>'') then
+          EnterDir(APackage.Directory);
       end;
     end;
 {$ifdef unix}
@@ -8016,3 +8023,4 @@ Finalization
   FreeAndNil(GlobalDictionary);
   FreeAndNil(Defaults);
 end.
+