Linux installer project
Linux installer project
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
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
Re: Linux installer project
Good idea.
Re: Linux installer project
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
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.
Re: Linux installer project
Binaries updated with a better manual.
Re: Linux installer project
Testing would be awesome but i hope you mean x64 and not literally x86.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
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
Re: Linux installer project
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)
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)
Dawn will come inevitably.
Re: Linux installer project
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 funuseful 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)
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.
Re: Linux installer project
I am still working on this in my spare time, but featuritis got a bit in my way again
I added a packagemanager terminal and a SO inspector.
Packager terminal
SO inspector
The result is a distribution dependant package list like this for ubuntu 18.04
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.
I added a packagemanager terminal and a SO inspector.
Packager terminal
SO inspector
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
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.
Re: Linux installer project
For an interesting test, try this with your favorite linux.
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.
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()
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.
Re: Linux installer project
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
A library which created a fatal error while trying to open it
A library which could not be opened
A library which created a fatal error while trying to open it
Re: Linux installer project
Is this still an active project? Your most recent post is from september, but the download on the website returns a 404 error.
Re: Linux installer project
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.
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.
Re: Linux installer project
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"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 did get it sorted, mostly (although checkinstall is still looking for things I don't have, PB works, so... good enough?)
Re: Linux installer project
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.