LLStore Update Information

Glenn

Administrator
Staff member
I have been tinkering away at improving the LLStore and Editor etc, Using AI to make me scripts and things to speed up how I do things.

I did spot an issue with using "-" in filenames since switching to AI's methods so the LLStore v6.1011 will be fixing this limitation, the way AI works is it's really smart at doing what you ask, but it doesn't consider outlying issues like this one, I loved how elegant it made the Command Line Parser, but at least my own code was well tested. I think I've fixed all the issues it introduced, but we'll see. This doesn't affect most people as they use the LLStore to install items and don't just double click them from their download folders etc. This is why I hold of doing a bunch of tiny updates and keep the version update for public releases and try to limit it to one a day at the very most. Eventually I wont have to update it at all as all the bugs will be gone, today isn't that day.

I had ChatGPT write some advanced scripts that will generate LLGame.llg files and calculate the size of the folder, so all I need to do is pick the category, paste a description, check the exec file and rate it, the rest is done by itself. I have over 100 LLGames that haven't been shared before that are 100% Native to Linux, I'll eventually get them shared as I've only done about 10 so far and spotted a few bugs I had to fix along the way that distracted me from getting more done.

I've decided to post my LLStore update information here as I thought the public may be interest in a sort of change log, which I am NOT going to do a proper change log until it's stabilised as updating a log all the time is even more wasted time.
 
Well I've come to a place where I need to start adding new features to LLStore, I currently have a build of Perfect Dark, but by default it offers a EXE of the windows and the Linux versions, so instead of making one ppGame and one LLGame, I am wanting to make it do both, which it works in Windows and Linux (make both shortcuts) which works fine for Wine but in native windows it doesn't have a way to run the Linux EXE file, so it does nothing. I am thinking of just making the Windows installer ignore any .desktop shortcuts provided, this will then only make the one shortcut.

The other issue with the above is it will install to %ppGames% folder, because it supports both, meaning you'll have a few linux games go to your ~/.wine/drive_c/ppGames/ folder instead of ~/LLGames where all the other linux games are, I don't really want to start redirecting them automatically as Wine can't access outside the C:\ correctly and it will make some things fail, instead I'll have to leave them where they install, just be aware of this.

Another issue I found was LLStore no longer installs items double clicked on in windows anymore - my guess is from when I used AI to make the LLStore command line arguments more streamlined. it obviously killed that. So I'll be doing some updates as I can getting this new feature in and fixing the regression
 
I managed to get the Menu to sort properly in Windows First-Person Shooter and various others were being ignored, I added a FixCats function to actually find them now.

In Linux the Notification window was taking WAY to long to show, you only saw it for a split second at the very end, I've got Claude AI to help me fix it, none of the others managed to help me.

Double clicking a .apz or .pgz in Windows was failing due to a special character being at the end of the file name, I made a cleanup routine with Gemini to fix any potential problems, so it works again now, it was since using other AI's to make the Command Line handling more robust - which it was for Linux, just not in windows obviously.

These three little things took me 2 whole days to resolve, I hope they are solid, I am happy the bugs I've been facing since I completed the first public Beta of LLStore are finally getting resolved. I am yet to test all the changes in other Distro's, but I am optimistic ;)

-EDIT-

Added Logging to the installs:
$HOME/zLastOSRepository/zzLLStore_Installs.log
%UserProfile%\zLastOSRepository\zzLLStore_Installs.log

This should now make it easier to see if it's all worked as you wanted, it logs FAIL: on items that fail, else it shows Success and says where it installed to.
 
Last edited:
Made LLStore able to edit multiple items at once, you can also install multiple non sudo items at once now by double clicking on them in nemo etc. I made it use a UUID temp folder for each instance, so it no longer deletes the other items things.

Just DO NOT install two sudo requiring apps at once or they will both fail and may leave one hanging. So stick to one at a time if you get a password prompt for any.

I think that's the majority of the bugs and missing features ironed out now. I'll find more, always do. but I am happy with yesterday and today's progress. AI is really helping me, especially Claude, Gemini and ChatGPT.
 
Well I bumped it up to v8, after playing with AI it happen to let me know /tmp is world writable.... not what I wanted my stuff to be available to. I also used AI to find any potential errors so I could stop them before they were a problem.
 
I have edited my LLStore to have totally different permission, really hardened the security now, I also have made the online Databases download Paralell so it should start up faster. I am not sure how it's all going to go, but I have to start somewhere. it may or may not be unstable for a few days, we'll see. Claude has proven it can do what I need, so I just have to wait and see what happens. I'll get the builder updated with the ocde changes as currently it has the older security methods.

-EDIT-

See straight away I found an issue with permissions trying to install LLStore on a fresh OS, now it's updated in the LLStore to work and if it can't on the OS it's trying to add it to, it falls back to the old way (chmod 777).
It's building now, so hope it all goes well. But really Security should be the primary focus for now as I can't in good conscience let users keep having an entry point that could possibly be exploited in the future. AI has been great for patching the holes as it know about ones I'd not considered, plus I hadn't known a thing about linux when I started LLStore, now I know better.

* REMEMBER - if for any reason your LLStore stops working right, run it, press Ctrl T or press menu and pick LLStore Tools and press "Force Full Update", or if it wont run at all grab the latest from the repository and run it (either the llstore_latest.zip file extarcted and run setup.sh or get the LastOS_LLStore_Installer.run and set it to executable and run that. the new upload has the permissions fix, so it should repair everything.

-EDIT-

Currently not working in the LiveOS as it didn't seem to add lastos-users to the groups for the live user, I'll see what I can do as live is special and has sudo access without needing a password, installing the OS now to make sure new users get the user added so it SHOULD work already, but I'll see.
 
Last edited:
It's still giving me issues, seems setting a group and making the folder/files part of it doesn't just work. I obviously have more to learn, but I need this to work so I'll keep going and see what I can find out. else I will revert it back to 777 which isn't ideal, but I am not experienced in this stuff

-EDIT-

I got the Live OS working with hope the Installed OS will also work. Turns out that you have to have the user group added before you log in, thqat made it tricky. had to use calamares to do the job for me.

-EDIT-

Yep, Installed OS worked, I tidied up the code and updated the LLStore, hopefully now it'll behave, if anyone grabbed the update to v8 before I was done, then it wont force a full update and need the manual Force Full Install or manually installing it again so the script runs that fixes it.


Here is the main tip. for it to work in the LiveOS and the installed OS it must be owned by root, not by user 1001


ACL can't be captured by squishfs, so I removed it from the LLStore installer and my build ISO scripts. it may be useful on other distro's but Ubuntu based ones do not need it.
 
Last edited:
Well the security hardening broken the wine, flathpak and LLApps LLGames support in the Live OS and the installed OS, as it occurs outside the scope, I am not worried, reverting it back to 777 as they are all contained in the home folder and get modified on the install, the live OS needs full access to do the mv trick without it taking up space in ram or virtual disk. I am doing another build of the AIO now to hopefully have fixed it.

-EDIT-

Yep, that was all. I have a new AIO with hardened security now too. Not going to upload that as doesn't seem to be a demand for those :) maybe in the future.

It actually does it so quick that I thought it was broken, but nope, it was just doing it's thing, it pretty much gives you the full image, but only taking 1gb of ram, I am impressed with myself with that trick. I was chatting to AI when I came up with it and even it was impressed :P I just noticed I copied Affinity (at 600mb) and it didn't increase the ram usage (well until I ran it and it loaded some in) . That fact is, not sure anyone else has done it like this before.

-EDIT-

The OS install test is going now, I have high hopes it'll be fine there too as I don't change the owner and it's set to UID 1001, so it should just work as intended there too, will be slower if you have a partition for the /home folder as it has to physically move the files, otherwise if they are on the same as the / mount (partition) it updates the pointer in the filelsystem, which can do 30000 files a second or more, so it's fast.

-EDIT-

Yep it works, A good day today ;)
 
Last edited:
I was annoyed that installing LLStore would take 50 to 60 seconds, I knew it was a bug, but after going through it with Claude, it found something that was causing a 50 second delay, meaning, you can now install LLStore in about 4 seconds instead :D

I have uploaded the new code and versions, but this fix is a good one, it was bad waiting so long for it to finish, it was just updating the icons cache, mime data and scanning for shortcut changes. now they are all set to run in the background and on top of that it also fixed the 50 second delay, so very fast :), I'll upload to a new release version in the usual places as well as this is a major change, not to mention the new Template scripts that detect the desktop before entering sudo, making it actually able to see what Desktop Environment your using, before it would not be able to, making that whole section inthe script pointless, but now is working.

I am really starting to understand this AI stuff and knowing how to guide it to give the results I need, rather than it throwing everything at it to see what sticks like it used to. Maybe I'll be of value in the future when AI goes mainstream as it is a skill anyone can learn, but I am sure not everyone will - it's not simple or logical. So chances are not many people will be able to use it to it's full potential, I guess the fact they are using it to write Windows 11 is proof that if you don't know how to do it properly then the results are poor, I mean they are still using Copilot and not claude, I'd never use that as it's the worst at messing things up and losing the plot, truncating data and forgetting what you just said the prompt before.

As usual, no need to update things unless you want to, it's mostly the builders and those who use LLStore on non LastOSLinux that will get the advantages from this update ;)
 
I found a few more optimizations that will be in the next update, I made the WINE installer side of things call the .reg from the script section, this means Wine doesn't have to spin up twice, saving 2.8 seconds per item, I noticed this when I was using the regenerator, so now the regenerator runs in 30 seconds instead of 4 minutes or so. on top of that items install faster. So another win win, I only came up with it because Claude AI said there was no way for me to speed up using Wine in linux... I offered my idea and then it said, sounds like a good idea and it went ahead and implemented it.

Works great in Linux, I've not tried in windows, but it said it didn't change anything about the windows code, so it should act the same as it did. So all good.

I'll keep adding fixes and improvements as LLStore deserves the time to get it right, it will end up being a pillar of all my future OS's and I don't see myself going back to windows, but I can easily keep windows supported as I use Wine and it works with that too :)
 
Pushed the updates, the regenerating and Wine installs have been sped up 2.8 seconds per item, by combining the reg and script into one wine call instead of two, I also made the regen give progress now, I remade LastOSLinux Sanatizer Context Menu, it's now written to run in pure Linux (no wine) and works very fast, I made Claude.AI make it self install to Nemo, Dolphin, Thunar and many other File Manages linux uses, meaning you'll have access to this tool on pretty much every distro, it'll allow you to right click a bunch of files and clean their filenames.
 
Finished a new update that will add Context menu support to all file managers - so Install with LLFile and Edit in LLFile Editor are now in kde, thunar and many of desktop context menus.


I'll only update the mediafire for now, 1 github release a day is enough
 
I've left backwards compatibility BUT, I plan on releasing a new LLStore v9 with all the changes I've put in place to force a full update.

The latest change is I've moved all the functions out of the LLApp and LLGame LLScript.sh and LLScript_Sudo.sh, they are moved into ./Tools/ LLScript_Core.sh and LLScript_Sudo_Core.sh. This allows me to update them if I find any problems in the future, without me having to remake every single LLApp and LLGame, because now the scripts the user creates (me in this case) only contains the commands to call and not the functions themselves, I wanted to do this from the start but before I mastered AI, I wasn't able to figure it out as Google gave conflicting information and it caused issues in some distro's, but now I have AI's blessing and it works :D

This means things are becoming more secure and more modular, two very important things required to make a project easy for people to use/modify.

I don't expect any issues, I have tested an existing LLApp and a new LLApp and both worked. I even made it default to setting the NoInstall flag if no app path is given, I did remember I wanted to do that about 6 months ago, but I must have got distracted, anyway, now it falls back to running the scripts from the install from folder instead of attempting to run them from an empty path, which was rare, but sometimes I rush through making a test script and forget to do all the steps, just so I can test things - so probably not a real world issue, just for the developers.

The worst part about having AI helping me is knowing where to focus my time and effort :P I do plan on keeping on working on things, Adoption has slowed right down since I removed it from DistroWatch and SourceForge, but I am still not convinced being more public is what brought down LastOS.org at christmas. but I've seen many people complaining about wordpress being hacked and them having similar experiences to us, so maybe it was just a shotgun hack and was nothing to do with LastOSLinux... I guess we can never really know.

I know I might not be changing the world, but it wont stop me from trying to do my best work :)

-EDIT-

Oops, I forgot about the newly added make sfx feature, these will also need an update to support a few new features, But as that is a edge use case, I don't need to push it out on the major version increase, I'll just fix it and the users who need/want that feature can do a manual full update. As the sfx feature was self contained any created will still work fine, but moving forward I'll make it include the version of the core files in the sfx and allow the sfx to detect the system installed one so even they can be updated with bug fixes.

-EDIT-

I had AI put the Core scripts inline when making the SFX instead, I can't have it juggling which version of the script it used, so instead it just hard codes it. I can't make it use updated scripts outside the SFX as that is bad practice anyway. So now it does what it's supposed to.

-EDIT-

I've update the Context Menu installer to have LLFile Make SFX in the Nemo and Gnome Context Scripts under LastOS-Advanced with the other advanced things. So it's all starting to come fully together. I haven't updated the apps on the repo yet as I want to fully test it all works before I make things break for anyone :)

-EDIT-

Last trick for the day, I made a Script that will update previous LLScript{_Sudo}.sh files inside the tar files, it's young so may not be perfect, but could also speed you up, it makes a backup so you can revert if it messes up, I just got sick of editing ini files manually all the damn time

-EDIT-


Done, uploaded and updated everywhere.

All fixes are in place, I have made the default icon show when none can be found, so the Notification window isn't so ugly. the Editor is MUCH faster at cleaning up before making the final .apz .tar .pgz, it also now uses the Notification window instead of leaving the GUI open as it closes once successful anyway. The builder now cleans up .lnk files, these are problematic in Xojo under windows - always have been.

I am confident it's all working well now. spent a lot of time, testing and improving each change.
 
Last edited:
Heading in to work, but this morning I updated the Editor and Builder to use the Notification window to show the progress, before the GUI would get that bogged down that it wouldn't give any progress and it wouldn't show anything at all if compressing from the command line (context menu), so the next release will have that fixed when I get to it later today.
 
I am still learning this AI thing, and only with real world testing can I learn, sorry about things being a bit everywhere but I found a bug it introduced.

As it cleaned up the build folder, it was listing every single file in sub folders, instead of just removing the subfolders during a App/Game build. this would overflow the command line it was calling as well as not being required. I mean it's only going to delete the subfolders and nothing was kept, so I had to manually direct the AI to do what made sense to me. I am updating it now and while I am at it, I have a game that works on Linux and Windows, so I've found and added the ability to give a .desktop shortcut in a ppGame.ppg or ppApp.app file, while at the same time it re-directs the dual OS apps/games to install to $HOME/LLApps/ or $HOME/LLGames/ instead of $HOME/.wine/drive_c/ppApps $HOME/.wine/drive_c/ppGames.

I've tested it works, but like I said I found this other issue at the same time. it was a very intense session to get the link thing to work, used up all the free credits on my Claude.AI to do so. I'll get this last fix done and update things shortly, the game I was building was The Longest Journey HD remake, so now I use the Windows version of scummvm.exe and the linux version of scummvm and it can run on either OS. so the funny part is WIndows 8 and above couldn't run it either :P, ScummVM is amazing work, I mean it even runs on a PSP, Wii etc.

-EDIT-

I've made it show the icons for the downloaded items in the Listbox now, it also has a HUGE update in speed, optimised the hell out of it, I am starting to get a work flow I can use and the testing methods are pretty good. I couldn't code this many changes without AI and I couldn't make the massive code changes throughout the whole project without AI, it;s getting into the super human abilities now I understand it :D
 
Pushed out LLStore v10.1001, I need it out for testing else I can never be confident all the changes I've worked on with AI over the last few days is worth while. I did ask it to keep all functionality the same, so all going well we have a optimised and solid base that is endorsed by Claude.ai :D if not, then I am taking a day or two to recover :) so we'll see. Please post if you get a chance to use this in Windows or Linux as I think all is good. but you never really know.

Well not a good start, it's trying to update to 10.1001 and not over and over, I'll need to figure out why ASAP, sorry.

-EDIT-

Fixed, updated to my new version checker that is the standard others use. mine would do fancy work and it made it fail. so now it's going to work. So was a me bug, not AI ;)
 
Last edited:
Oh and a BTW, I got sick of the crap, all of the ssWPI and SetupS versions as well as the Linux Editor have been building items with different size methods, so I have given up and reverted to using Bytes, I have added Update Items Sizes in the context menu and ran it on ALL my local items. So I am not going back to the chaos it was before, it kept showing 200MB items as .02MB etc and I was over it, so I did it right using the standard way people have always done it, no guess work, the import button on the editor also works perfect on uncompressed and compressed items now too, so no more guessing what to type and if it's right, I just let you import or do all automatic (that it can), the online package ones will not show the correct installed size and require manual entry still (but it'll be in Bytes from now on).
 
Today was a good day, I added a Uninstaller to LLStore - via the Start Menu context menu, so you find the app you want to uninstall, right click it, pick "Uninstall LLStore Item", it doesn't ask for confirmation, so once you do it, it;s GONE!, I designed the script to allow using --silent as by default it shows a terminal window with the progress and a 3 second delay, this is so the user can see it's done something. But having the silent method means in the future I could make a Uninstall window for LLStore that will list all the items you could uninstall, then you select multiple and press Uninstall to get rid of them all at once.

I Tested it and it seems to work well, but you never know if any fringe cases may cause an issue, so if you use it let me know. I did limit it's scope, so it can't break your OS, it can only access the folders I expect LLApps, ppApps, LLGames and ppGames could be installed to. I made only the link you right click on set to remove as it's the safest way. So it should be safe, except it doesn't ask for confirmation, it's at the bottom of the list though, so hard to accidentally click it.

MCcSgGW.png


I right clicked on A Monster Expedition and moved the cursor down to the Uninstaller I made :)

If you run regenerate, which is in the LLStore Control Panel (Ctrl + P) then it will add the uninstaller to existing installed items too, so you can remove those games and apps too if you wanted.
 
Last edited:
I just noticed in the newer Ubuntu that LLStore has a few issues with the security, it installs from the setup.sh as that first installs gnome terminal, which works fine once that is installed. Many things installed perfect, BUT after a reboot it no longer logged in, so that means I need to spend some time finding the reason to fix, I don't want my LLStore items to stop peoples OS's from booting. I'll have to spend some time later tomorrow finding the things I may have broken in the major app updates as I trusted the script updater a little too much and it left out some sections of the old scripts as they were in the wrong places while I was designing the layout of them. then it cloned duplicate sections making some also fail, I fixed the themes, icons and builders, but I am sure there will be a few more to fiddle with, so it may have taken me 3 full days work to update them, but with the updater it took me under 10 minutes, then it's taken about an hour so far fixing the ones it didn't get right - so still a win at this stage - I'll get the rest tested soon. I am just doing a build (4.5gb) to install in the VM then I'll test each work as intended, moving on to getting ubuntu to behave with all the ones it works with. it may even be a gnome issue or anything yet, so maybe the fact I am using the Alpha version of ubuntu 26.4 might be an issue on it's own as it did used to work fine in 24.4 or whatever that version was :)

I think I've done enough for one day. stirred things up, but that's how change happens - lets hope it's for the better.

-EDIT-

Here is the list of issues in the Base OS: (Everything else seems complete and working)

Sanatizer isn't working, it installs to LLApps and I think the context menu is pointing to LastOS not the new user. It also puts itself in the Start Menu (.desktop file) that is in the correct place but un needed.
The reason it isn't working is the symbolic link isn't being re-created in $HOME/.local/bin for Sanitize to work, Add to firstlogon script? seems like it should be installed system wide after all?

The Windows version of Sanitize (Clean) is in the Nemo Actions, need to remove, also remove the /LastOS/Tools/Sanitizer

Put the new Update Versions in the Context Menu Advanced

The Open Item Location needs to ignore xdg-open and wine, I don't want to open those, only the things they point at.

Github Desktop non flatpak didn't work in the VM?

The uninstaller can't remove Game Cheetah as it's in usr/share/applications, it needs to ask for sudo in that case, it does use a terminal window after all.

Skipping items on the MiniInstaller doesn't do what it's supose to, it didn't install canon fodder etc ( This is an issue)

Fury of the Furries could install the flatpak at install time, then the first run delay wont be needed and I keep flatpaks now??? maybe not in the non wine builder? need to check.
 
Last edited:
Fixed Mini Installer Skipping, that bug couldn't wait, it was increasing when you pressed/set to skip and again as it completed the install code (even though it was skipped), so the +2 counter would install the 2nd item (one down from the skip), all better now and I took the delay out when it was going through the items by using a while loop with a item counter for that too, meaning it doesn't have to wait, it just need to not be a bigger count than the last item on the list ;)
 
LLStore now has a Uninstaller, it's available from the context menu, or the menu button or pressing Ctrl + U, this will allow you to pick multiple items to uninstall at once ;)
 
Ubuntu and a lot more Distro's are now supported, there is a few Low level Items that I need to test that you can install from LLStore, so try to avoid them on Non Linux Mint or LastOSLinux for now, just pick the apps and games, not the tweaks and themes, I need to find which one is locking out the DE from logging in, no doubt it'll be the one that does the PAM changes as mint would be different to mint.

I think PAM is done is LastOSLinux Extras, but I am not 100% yet, I'll fix that tomorrow, just know Ubuntu 26.04 is not 100% supported and working great, as the optimisations are working great too

-EDIT- More features added to LLStore - Added setup.sh sudo prompt fix and logging - you now have access to it from teh context menu /menu and it lives in the home folder.
 
Last edited:
PHEW! nearly lost it, I am not uploading enough code changes, I may need a test repo for LLStore, because google gemini truncated some of my code and I never noticed. had to rebuild the uninstallelr scripts, I grabbed them off a VM I had made. very lucky, also no more gemini for me claude.ai all the way
 
I think I have it ok for now. It's been tested on;
Mint
Ubuntu
CachyOS
Debian
Fedora
Manjaro
Zorin

It works in KDE, Gnome and Cinnamon fine.

Now the .run installer doesn't work on XFCE but did the rest
The setup.sh works best
Install from in LLStore works ok-ish - it may not update the icons on the desktop as well as using the setup.sh as the user isn't created before it's ran so it doesn't seem to refresh properly (needs a log out and log in for the new group to be active) This problem is only on some DE's on some Distro's if the sun isn't in the right spot in the sky - That is why I said it's ok, I am over chasing to make it better until I have the time to re-write it by hand and trace it in multiple distro's in multiple DE's, the fact it's working so well, I am gonna leave it.

-EDIT-

LastOSLinux Extras was breaking Ubuntu, I've added some checks now, so it'll only add Cinnamon mods to cinnamon desktops, not on them all.
 
Last edited:
Back
Top