Align fp IDE template file paths with Debian standards
authorAbou Al Montacir <abou.almontacir@sfr.fr>
Sat, 20 Aug 2022 12:31:18 +0000 (13:31 +0100)
committerGraham Inggs <ginggs@debian.org>
Sat, 20 Aug 2022 12:31:18 +0000 (13:31 +0100)
 The fp IDE looks for template files in /usr/bin where itself is installed.
 However this is not conform with Debian standard for file locations.
 This patch fixes this by making the IDE looking for templates in the base
 installation directory.
 Location of IDE template files in Debian distribution is:
 /usr/lib/$(DEB_TARGET_MULTIARCH)/fpc/3.2.2/ide/
 as for examples:
 /usr/lib/x86_64-linux-gnu/fpc/3.2.2/ide
 /usr/lib/arm-linux-gnueabihf/fpc/3.2.2/ide
index 54d0ffd1..39ae6079 100644

Gbp-Pq: Name fix-IDE-data-file-location.patch

fpcsrc/packages/ide/fpcompil.pas
fpcsrc/packages/ide/fpini.pas
fpcsrc/packages/ide/fpmake.pp
fpcsrc/packages/ide/fpswitch.pas

index 54d0ffd180ea0abaa14f0414a22ec8e8f7d6ff9d..4a5edb99721fb761b822533985ef4c0857a4970f 100644 (file)
@@ -911,6 +911,8 @@ begin
 
   MainFile:=FileName;
   SetStatus('Writing switches to file...');
+  if SwitchesPath = '/etc/'+SwitchesName then
+       SwitchesPath := SwitchesName;
   WriteSwitches(SwitchesPath);
   { leaving open browsers leads to crashes !! (PM) }
   SetStatus('Preparing symbol info...');
index b493cafdbb9de194f701be6e8943e27861ff9e26..f515f95b0d86f2487bc50c427b22e078d3a1d6cf 100644 (file)
@@ -154,6 +154,17 @@ const
   ieShowReadme       = 'ShowReadme';
   ieEditKeys         = 'EditKeys';
 
+const
+{$ifdef CPUARMHF}
+  gnu = 'gnueabihf';
+{$endif CPUARMHF}
+{$ifdef CPUARMEL}
+  gnu = 'gnueabi';
+{$endif CPUARMEL}
+{$ifndef CPUARM}
+  gnu = 'gnu';
+{$endif CPUARM}
+  FullTarget = {$I %FPCTARGETCPU%} + '-' + {$I %FPCTARGETOS%} + '-' + gnu;
 
 Procedure InitDirs;
 begin
@@ -182,7 +193,7 @@ begin
   SystemIDEDir:=FExpand(DirOf(system.paramstr(0))+'../lib/fpc/'+version_string+'/ide/text');
   If Not ExistsDir(SystemIDEdir) Then
     begin
-    SystemIDEDir:=FExpand(DirOf(system.paramstr(0))+'../lib64/fpc/'+version_string+'/ide/text');
+    SystemIDEDir:=FExpand(DirOf(system.paramstr(0))+'../lib/'+LowerCase(FullTarget)+'/fpc/'+version_string+'/ide');
     If Not ExistsDir(SystemIDEdir) Then
       SystemIDEDir:='/usr/lib/fpc/'+version_string+'/ide/text';
     end;
index 22cb8efd01b18c7ce8a92f25c846097239a815ba..3a2e2f1e6333052c35aaaec58d2caef73080575f 100644 (file)
@@ -282,16 +282,16 @@ begin
         T.Directory:='compiler';
         T.Install:=false;
 
-        P.InstallFiles.Add('fp.ans','$(bininstalldir)');
-        P.InstallFiles.Add('gplprog.pt','$(bininstalldir)');
-        P.InstallFiles.Add('gplunit.pt','$(bininstalldir)');
-        P.InstallFiles.Add('program.pt','$(bininstalldir)');
-        P.InstallFiles.Add('unit.pt','$(bininstalldir)');
-        P.InstallFiles.Add('cvsco.tdf','$(bininstalldir)');
-        P.InstallFiles.Add('cvsdiff.tdf','$(bininstalldir)');
-        P.InstallFiles.Add('cvsup.tdf','$(bininstalldir)');
-        P.InstallFiles.Add('grep.tdf','$(bininstalldir)');
-        P.InstallFiles.Add('tpgrep.tdf','$(bininstalldir)');
+        P.InstallFiles.Add('fp.ans','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('gplprog.pt','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('gplunit.pt','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('program.pt','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('unit.pt','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('cvsco.tdf','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('cvsdiff.tdf','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('cvsup.tdf','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('grep.tdf','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('tpgrep.tdf','$(baseinstalldir)/ide');
         P.InstallFiles.Add('fp32.ico', [win32, win64], '$(bininstalldir)');
 
         with P.Sources do
index e46266f06f0c91b9fe1b27a09c6840e026b74f9d..196f2151e47aaa18f694012834fde013b36236d3 100644 (file)
@@ -1392,6 +1392,8 @@ begin
      AddLongIntItem('Local ~h~eap size','h');
    end;}
   SwitchesPath:=LocateFile(SwitchesName);
+  if ExistsFile('/etc/'+SwitchesName) then
+    SwitchesPath:='/etc/'+SwitchesName;
   if SwitchesPath='' then
     SwitchesPath:=SwitchesName;
   SwitchesPath:=FExpand(SwitchesPath);