<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div>Since with Gambas shared libraries we can not use the dh_mkshlib as it also changes system paths etc</div><div><br data-mce-bogus="1"></div><div>I would like to add the following code to generate preinst and postinst scripts for preserving older versions of shared libraries</div><div><br data-mce-bogus="1"></div><div>This change is from the package.module in the ide , there could be some imposed rules for these script regarding how they process the shared libraries.</div><div><br data-mce-bogus="1"></div><div>This would be done to preserve applications that use older versions of the libraries. Linux shared libraries do allow this and usually create a  link to  the most current as a default version.</div><div><br data-mce-bogus="1"></div><div>This is from the Debian build, But can be added for the others as well.</div><div><br data-mce-bogus="1"></div><div>I am including a testexec library which contains the created scripts as examples</div><div><br data-mce-bogus="1"></div><div><div>Case Project.TYPE_LIBRARY</div><div>      Dim PrePostFiles As File</div><div>      PrePostFiles = Open sPackagePath &/ "debian/preinst" For Create</div><div>      Print #PrePostFiles, "#!/usr/bin/gbs" & System.version</div><div>      Print #PrePostFiles, "print \"Gambas Running Pre Install Shared Library Process\""</div><div>      Print #PrePostFiles, "if not exist(\"/usr/lib/gambas" & System.version &/ LCase($sVendor) & "\") then quit 0"   ' never installed before</div><div>      Print #PrePostFiles, "print \"Gambas Running Pre Install Shared Library Process Checking for .lib\""</div><div>      Print #PrePostFiles, "If Not Exist(\"/usr/lib/gambas" & System.version &/ LCase($sVendor) &/ ".lib\") then mkdir \"/usr/lib/gambas" & System.version &/ LCase($sVendor) &/ ".lib\""</div><div>      Print #PrePostFiles, "print \"Gambas Running Pre Install Shared Library Process Checking each file LIKE:" & $sName & "*\""</div><div>      Print #PrePostFiles, "For each i as string in dir(\"/usr/lib/gambas" & System.version &/ LCase($sVendor) & "\",\"" & $sName & "*\",gb.file)"</div><div>      Print #PrePostFiles, "Print \"Gambas Pre Install Moving : \" ; i" </div><div>      Print #PrePostFiles, "Move \"/usr/lib/gambas" & System.version &/ LCase($sVendor) & "\" &/ i To \"/usr/lib/gambas" & System.version &/ LCase($sVendor) &/ ".lib\" &/ i"</div><div>      Print #PrePostFiles, "Next"</div><div>      Print #PrePostFiles, "print \"Gambas Ending Pre Install Shared Library Process\""</div><div>      Close #PrePostFiles</div><div>      </div><div>      </div><div>      Chmod sPackagePath &/ "debian/preinst" To "rwxr-xr-x"</div><div>      </div><div>      </div><div>      PrePostFiles = Open sPackagePath &/ "debian/postinst" For Create</div><div>      Print #PrePostFiles, "#!/usr/bin/gbs" & System.version</div><div>      Print #PrePostFiles, "print \"Gambas Running Post Install Shared Library Process\""</div><div>      Print #PrePostFiles, "if not exist(\"/usr/lib/gambas" & System.version &/ LCase($sVendor) &/ ".lib\") then quit 0"   ' never installed before</div><div>      Print #PrePostFiles, "For Each i As String In Dir(\"/usr/lib/gambas" & System.version &/ LCase($sVendor) &/ ".lib\")"</div><div>      Print #PrePostFiles, "Print \"Gambas Post Install Chking Lib: \";i"</div><div>      Print #PrePostFiles, "If Not Exist(\"/usr/lib/gambas" & System.version &/ LCase($sVendor) & "\" &/  i) Then"</div><div>      Print #PrePostFiles, "Print \"Gambas Post Install Making Available Lib: \";i"</div><div>      Print #PrePostFiles, " Move \"/usr/lib/gambas" & System.version &/ LCase($sVendor) &/ ".lib\" &/ i To \"/usr/lib/gambas" & System.version &/ LCase($sVendor) & "/\" &/ i"</div><div>      Print #PrePostFiles, "Else"</div><div>      Print #PrePostFiles, " Kill \"/usr/lib/gambas" & System.version &/ LCase($sVendor) &/ ".lib\" &/ i"</div><div>      Print #PrePostFiles, " Print\"Gambas Post Install :\"; i ; \"  - Newer version same level installed\""</div><div>      Print #PrePostFiles, "Endif"</div><div>      Print #PrePostFiles, "next"</div><div>      Close #PrePostFiles</div><div>      </div><div>      Chmod sPackagePath &/ "debian/postinst" To "rwxr-xr-x"</div><div>      </div><div>      Print #hFile, "src/"; $sName; "/"; $sLibraryName; ".gambas usr/lib/gambas" & System.Version; "/"; LCase($sVendor)</div><div>      </div><div>    Case Project.TYPE_NORMAL</div><div>   .........</div></div><div><br></div><div data-marker="__SIG_PRE__">Thank You<br>Brian G</div></div></body></html>