Linux installer project

Linux specific forum
Bitblazer
Enthusiast
Enthusiast
Posts: 733
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Linux installer project

Post by Bitblazer »

I just uploaded the version 0.8 of my linux installer project. The goal will make most linux people laugh and shake their heads in disbelieve and suggest a perl solution ;)

The project homepage is here. Only for linux experts for now. As for any 0.8 release, its in a very early state and a lot changes will be incorporated during the next days, but if you are curious about the project or idea - this is the first working version tested on 64-bit Ubuntu 18/19 and Neptune. Please report any problems or missing files, so i can fix them. I am sure there are a few ;)

This is really a 0.8 version and should only be tried by experienced linux users.

Enjoy <3
webpage - discord chat links -> purebasic GPT4All
User avatar
Mijikai
Addict
Addict
Posts: 1360
Joined: Sun Sep 11, 2016 2:17 pm

Re: Linux installer project

Post by Mijikai »

Good idea.
User avatar
useful
Enthusiast
Enthusiast
Posts: 367
Joined: Fri Jul 19, 2013 7:36 am

Re: Linux installer project

Post by useful »

Great, but I really want to get the updated official documentation from Fred and the team before that.
viewtopic.php?p=540588#p540588

p.s. I'll be testing for x86 on (XL)debian-9,(XLM)ubuntu-16,(X)mint-18
and add euphoria 3.11 to my projects
Dawn will come inevitably.
Bitblazer
Enthusiast
Enthusiast
Posts: 733
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: Linux installer project

Post by Bitblazer »

Binaries updated with a better manual.
webpage - discord chat links -> purebasic GPT4All
Bitblazer
Enthusiast
Enthusiast
Posts: 733
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: Linux installer project

Post by Bitblazer »

useful wrote:p.s. I'll be testing for x86 on (XL)debian-9,(XLM)ubuntu-16,(X)mint-18
and add euphoria 3.11 to my projects
Testing would be awesome but i hope you mean x64 and not literally x86.

I'm not even sure if i will add x86 sometimes, that seems a bit too retro when even my raspberry PI, smartphone and my wristwatch have 64bit ;)
webpage - discord chat links -> purebasic GPT4All
User avatar
useful
Enthusiast
Enthusiast
Posts: 367
Joined: Fri Jul 19, 2013 7:36 am

Re: Linux installer project

Post by useful »

I'll still have access to the source code in the future, won't I?
I will build it myself under x86(32bit). !!!

p.s. I'm a retro programmer myself.
I started to study in September 1978 (41 years ago) ALGAMS(АЛГАМС-ru) (as nowadays it is fashionable to say fork ALGOL) :mrgreen:
Dawn will come inevitably.
Bitblazer
Enthusiast
Enthusiast
Posts: 733
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: Linux installer project

Post by Bitblazer »

useful wrote:I'll still have access to the source code in the future, won't I?
I will build it myself under x86(32bit). !!!

p.s. I'm a retro programmer myself.
I started to study in September 1978 (41 years ago) ALGAMS(АЛГАМС-ru) (as nowadays it is fashionable to say fork ALGOL) :mrgreen:
Nice :) I started around 1981 with a ZX81 and my first software was a basic hex editor and monitor so i could write z80 assembler programs. Those machines where seriously limited but so much fun :D

The sources and project have a CC 4.0 license, so i hope you can have access and use the software for many years to come :)

I will make the project licensing more clear.

ps: Licensing added to the sources and to the webpage

pps: the compilation is a bit tricky currently. I compiled the GTK and QT versions with dummy binaries and as a last step, the textmode version which includesx the GTK/QT installers with their binaries. Because the resulting binary has includes which unpack the GUI versions. This way i ended with a 800 KB download instead of a 4 Megabyte one. An additional subsystem() parameter like "console" would really help.
webpage - discord chat links -> purebasic GPT4All
Bitblazer
Enthusiast
Enthusiast
Posts: 733
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: Linux installer project

Post by Bitblazer »

I am still working on this in my spare time, but featuritis got a bit in my way again :wink:

I added a packagemanager terminal and a SO inspector.

Packager terminal

Image

SO inspector

Image

The result is a distribution dependant package list like this for ubuntu 18.04

Code: Select all

GTKINSTALL V 0.7 packager terminal
GTKLibraries : 11
QTLibraries : 7
gcc
g++
libc6-dev
libsdl1.2-dev
libgtk-3-dev
unixodbc-dev
libgnome2-dev
libwebkitgtk-3.0-dev
libxxf86vm-dev
libwebkitgtk-dev
libgnome-2
qtbase5-dev
qttools5-dev
qtmultimedia5-dev
qtdeclarative5-dev
libqt5svg5-dev
libqt5webkit5-dev
libqt5multimedia5-plugins
Distribution file for Ubuntu_x64_18.04.distribution

I will probably add a pre and postprocessing option in case there are additional commands needed on some distributions. Currently the fokus is on application development, but from experience i know that multimedia and database development require individual libraries and sometimes setup/configuration commands.

Once this is finished, i will start a little (G)UI which shows a list of supported distributions and marks the one it thinks you run. Then asks you which GUI framework you want to develop for. Once you selected them and press some install button, the systems package manager will be called to fetch and install the required system libraries.

I think those are the 4 options needed - gtk, qt, multimedia and database. Multimedia will deal with image libraries and the tricky xine stuff while database will deal with mysql, mariadb, postgres et. all. Any comment or ideas?

Currently i am stuck with a bug which seems to make the SO inspector unuseable though :)

ps: snooping inside linux distribution libraries with the SO inspector function name filter was quite interesting.
webpage - discord chat links -> purebasic GPT4All
Bitblazer
Enthusiast
Enthusiast
Posts: 733
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: Linux installer project

Post by Bitblazer »

For an interesting test, try this with your favorite linux.

Code: Select all

EnableExplicit

Define DirID.i, LibID.i
Define Attributes.i, RaisedError.i
Define Path$, LibraryName$

; enumerate all libraries in the given path including their function names
If (OpenConsole("so loading test") <> 0)
  Path$ = "/usr/lib"
  DirID = ExamineDirectory(#PB_Any, Path$, "*")
  
  While NextDirectoryEntry(DirID)
    If (DirectoryEntryType(DirID) = #PB_DirectoryEntry_File)
      Attributes = DirectoryEntryAttributes(DirID)
      If ((Attributes & #PB_FileSystem_Link) = 0)
        LibraryName$ = DirectoryEntryName(DirID)
        OnErrorGoto(?SkipLibrary)
        RaisedError = 1
        LibID = OpenLibrary(#PB_Any, DirectoryEntryName(DirID))
        
        RaisedError = 0
        If (LibID <> 0)
          If (ExamineLibraryFunctions(LibID) <> 0)
            While (NextLibraryFunction() <> 0)
            Wend
          EndIf
          CloseLibrary(LibID)
        EndIf
        
        SkipLibrary:
          If (RaisedError <> 0)
            PrintN("  skipped " + Hex(Attributes) + " = " + LibraryName$)
          EndIf
        
      EndIf
    EndIf
  Wend
  FinishDirectory(DirID)
EndIf
Input()
Image

On Neptune linux, this creates a fatal error. Not sure if thats bug report worthy or even really any purbasic bug, but interesting to see imho because it throws a fatal error and purebasic is able to recover and handle the situation with the onerror library.
webpage - discord chat links -> purebasic GPT4All
Bitblazer
Enthusiast
Enthusiast
Posts: 733
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: Linux installer project

Post by Bitblazer »

Added another tool for the SO inspector and it now fully works from inside the GUI with fatal error handling. It takes roughly 2 seconds on my machine in which the GUI appears frozen while it indexes a SO directory and looks inside all libraries for their functions.

A library which could not be opened

Image

A library which created a fatal error while trying to open it

Image
webpage - discord chat links -> purebasic GPT4All
void
Enthusiast
Enthusiast
Posts: 116
Joined: Sat Aug 27, 2011 9:50 pm
Location: Washington, USA

Re: Linux installer project

Post by void »

Is this still an active project? Your most recent post is from september, but the download on the website returns a 404 error.
Bitblazer
Enthusiast
Enthusiast
Posts: 733
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: Linux installer project

Post by Bitblazer »

I still intend to finish it, but other projects have been taken my time lately and there didnt seem to be much interest :( The binaries are uploaded again and both links should work now. Remember that this is an unfinished version 0.81 though ;)

If you get a 501 page error from nginx - just reload the page again, it seems to be a timeout problem due to the cheap hosting.
webpage - discord chat links -> purebasic GPT4All
void
Enthusiast
Enthusiast
Posts: 116
Joined: Sat Aug 27, 2011 9:50 pm
Location: Washington, USA

Re: Linux installer project

Post by void »

Bitblazer wrote:I still intend to finish it, but other projects have been taken my time lately and there didnt seem to be much interest :( The binaries are uploaded again and both links should work now. Remember that this is an unfinished version 0.81 though ;)

If you get a 501 page error from nginx - just reload the page again, it seems to be a timeout problem due to the cheap hosting.
I mostly thought to look into it because I set up again on Linux recently, and had a little trouble with dependencies (it seems like some of what PB's checkinstall script looks for were deprecated quite some time ago and are no longer in the ubuntu ecosystem), and thought "it could be worth trying this thing"

I did get it sorted, mostly (although checkinstall is still looking for things I don't have, PB works, so... good enough?)
Bitblazer
Enthusiast
Enthusiast
Posts: 733
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: Linux installer project

Post by Bitblazer »

Image

textmode support for the latest Kali linux added. For unknown linux versions, the package manager detection has been added for apt-get because several unknown Linux versions use apt-get.

No GUI version (GTK2/QT) currently works with Kali. I will release updated SystemInfo and Linux installer software once this is solved.
webpage - discord chat links -> purebasic GPT4All
Post Reply