From bebf48350e91c4067ac9f5d2cfbe6f0a40dfb8b7 Mon Sep 17 00:00:00 2001 From: Abou Al Montacir Date: Thu, 30 Mar 2023 20:31:30 +0100 Subject: [PATCH] Align fp IDE template file paths with Debian standards 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 | 2 ++ fpcsrc/packages/ide/fpini.pas | 13 ++++++++++++- fpcsrc/packages/ide/fpmake.pp | 20 ++++++++++---------- fpcsrc/packages/ide/fpswitch.pas | 2 ++ 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/fpcsrc/packages/ide/fpcompil.pas b/fpcsrc/packages/ide/fpcompil.pas index 54d0ffd1..4a5edb99 100644 --- a/fpcsrc/packages/ide/fpcompil.pas +++ b/fpcsrc/packages/ide/fpcompil.pas @@ -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...'); diff --git a/fpcsrc/packages/ide/fpini.pas b/fpcsrc/packages/ide/fpini.pas index b493cafd..f515f95b 100644 --- a/fpcsrc/packages/ide/fpini.pas +++ b/fpcsrc/packages/ide/fpini.pas @@ -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; diff --git a/fpcsrc/packages/ide/fpmake.pp b/fpcsrc/packages/ide/fpmake.pp index 22cb8efd..3a2e2f1e 100644 --- a/fpcsrc/packages/ide/fpmake.pp +++ b/fpcsrc/packages/ide/fpmake.pp @@ -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 diff --git a/fpcsrc/packages/ide/fpswitch.pas b/fpcsrc/packages/ide/fpswitch.pas index e46266f0..196f2151 100644 --- a/fpcsrc/packages/ide/fpswitch.pas +++ b/fpcsrc/packages/ide/fpswitch.pas @@ -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); -- 2.30.2