Menu

Release v0.98.03 Linux installation quality improvements

Anobium
2018-11-14
2018-11-14
  • Anobium

    Anobium - 2018-11-14

    This is a discussion with respect the quality improvements for release v0.98.03 only.

    The thread is intended for those interesting in improving and enhancing the Great Cow BASIC Linux installation process.

     
  • Anobium

    Anobium - 2018-11-14

    Context: install.sh

    The installation script needs to be used across the largest number of operating systems. The script published with v0.98.03 has an error shown below. The proposed script change needs testing and verificationby by a number of contributors.

    chmod +x may be in the incorrect directory
    

    The release now has more operating systems supported and this required a change to the directory structure. The RAR file now has a directory called LinuxBuild where these file reside.

    So, based on the released RAR file will the attach script resolve the issue ? if not, please post revised script.

    See release_install.sh and revised_install.sh attached.

     

    Last edit: Anobium 2018-11-14
    • Trev

      Trev - 2018-11-14

      If you reinstate the previous archive distribution structure, the install.sh issue will be resolved. I think this is the simplest Linux installation fix.

       
      • Anobium

        Anobium - 2018-11-14

        This would have a generic Linux install script in the root directory and various other files in the GreatCowBasic directory. I can revert but a Linux specific folder seems smarter.

        I am ok either way.

         
        • Trev

          Trev - 2018-11-14

          I would prefer a single distribution archive for all the UNIX-like operating systems as the ultimate outcome (so, with the various [os]Build directories) and can fix the Linux install.sh script for that fairly quickly.

          However the various Linux doc and help files would also need updating which would take me longer.

          The FreeBSD/macOS/Darwin build directories should be OK in the current archive (I haven't checked since the pre-release builds but I can't foresee any issues).

           
  • Anobium

    Anobium - 2018-11-14

    Context: filenames:

    Great Cow BASIC is not case sensitive with respect to filenames when using Windows. However, when using Linux case sensitivity is important.

    The filenames of the libraries need to be case-relative (the same case sense) as the file specified in the #include statement.

    During the management of the release process the release automation tooling can ensure that all #include statement are lower-case (this action will need to be implemented). This means that the #include statement will be STRICT lower-case for Linux operating systems.

    However, the release automation tooling CANNOT rename files to lower-case. We have tried and failed. This is because this is a complex interaction of SourceForge-SVN and the Windows operating system - renaming in the local Windows SVN respository has no impact on the SourceForge-SVN respository as Windows fails to detect the case renaming.

    So, we need an implementation within the installation process of Linux (and potentially other operating systems) to rename all libraries to lower-case to match the revised #include statements.

    Essentially, we need a solution that is part of the installation process. Bernd is looking at this issue as of the 14/11/18.

     

    Last edit: Anobium 2018-11-14
    • Trev

      Trev - 2018-11-14

      I'm not sure what changed? The previous distribution archive had the include files as all lowercase whereas the latest archive has mixed cases.

      Perhaps the simplest solution would be to have someone using an operating system with a case sensitive file system to lowercase the final release include files and upload to SVN.

       
      • Anobium

        Anobium - 2018-11-14

        What changed.... I simply used a new Windows installation. So pulling down a new copy of the Sourceforge repo. Reverted the case.

        I would like to see the installation process handle this to ensure this does not happen again.

         
  • Anobium

    Anobium - 2018-11-14

    Context; distrubution name:

    Great Cow BASIC Linux distribution is called GCB@SYN.RAR.

    Does this name need to change?

    Note: I am not removing the password. The rational is simple - we I initially posted the Linux distribution is was only a few days before the whole RAR file was posted on a fake distribution site. Since the password... that has stopped the robots. Not willing to change at this time.

     

    Last edit: Anobium 2018-11-14
    • Trev

      Trev - 2018-11-14

      It would be nice to have a single distribution archive for Linux, FreeBSD and macOS/Darwin. To reflect the usage of the distribution archive, I'd suggest a filename of GreatCowBASIC-UNIX-v0_98_XX.rar as all of these operating systems are loosely classified as UNIX and can use the same source files.

       
      • Anobium

        Anobium - 2018-11-14

        Sounds good to me

        Others OK with this?

         
  • Anobium

    Anobium - 2018-11-14

    Context: version of compiler

    Great Cow BASIC displays the version and date of the compiler to the end user. This information is sourced from the source code within the distribution.

    The format is the string is "0.98.<<>> 2018-10-20" where a release version is "0.98.03 2018-10-20 (Windows 32 bit)" for a Windows 32 bit operating system for release v0.98.03.

    Install scripts need to handle the white space in these strings - as these strings are universal across all operating system.

    The release automation tooling must maintain the STRICT format of these strings.

     
  • Chris Roper

    Chris Roper - 2018-11-14

    Linux Mint support would be nice too.
    Based on Ubuntu or Debian I think - I am a Linux User not developer so am a bit confused bay all the diffrent distroes and graphics frontends.
    If "sudo apt-get GCBASIC" fails then I am out of my depth and GCBASIC doesn't get used.

     
  • Trev

    Trev - 2018-11-14

    apt-get is not going to work unless GCBASIC is added to the rleevant Linux repository - as I'm not a Linux user I'm not sure about that process and I often see Linux users complaining about out-of-date packages (especially Debian istr).

    However, all is not lost. I managed to install GCBASIC on an Ubuntu 18.04 LTS 64 bit cloud virtual machine with just a few issues which I easily resolved. From memory this was the process:

    1) Download the Linux GCBASIC distribution
    2) Download the FreeBASIC binary distribution (2 bit or 64 bit) from https://sourceforge.net/projects/fbc/files/Binaries%20-%20Linux/
    3) Install gcc (apt-get)
    4) Install the missing ncurses-dev library (apt-get)
    5) Run the GCBASIC Linux install.sh script which needed to be made executable first (chmod +x install.sh).

    I don't see why that wouldn't work with any Ubuntu-based Linux distribution. There may be other or different issues with Debian but I'm sure they can be easily resolved.

    [I use FreeBSD and macOS mostly and occasionally Windows XP, Windows 7 and Windows 10 in VMs on my Mac Mini under Parallels.]

     

Log in to post a comment.