#PortMaster-GUI Beta (new) (new)

275 messages Β· Page 1 of 1 (latest)

dull girder
#

This is the latest PortMaster-GUI, this is quite buggy.

WARNING

This can fuck your shit up, you have been warned.

WARNING

This release changes a few things under the hood, in the past port files had a <portname>.port.json file in it, this was done to allow ports to share port directories. This was removed when we moved to the new repo format. The script on first run will rename these files if it can do it safely. New ports that are downloaded will have the file changed before it is installed.

This also adds support for gamelist.xml on AmberELEC and ArkOS. My JELOS install broke and i need to test it there before I enable it here.

None of the ports currently have the gamelist.xml data in them so it wont currently populate that data. I will post a few ports I have updated to include this data for people to test out.

To install this version you can do it via harbourmaster:

./harbourmaster --no-check install "https://cdn.discordapp.com/attachments/1208662811992006676/1208662826571534366/PortMaster.zip?ex=65e419f9&is=65d1a4f9&hm=ed8808f4b8c0358ff82211852c8510ef3790839fc2677ea1199cf67d8aab0fb4&"

or place the below PortMaster.zip into:
<path to>/PortMaster/autoinstall/

It will automatically install this version when you launch it on device.

@unborn hull <@&1127639327049011350> <@&1123159718874058882> <@&1204708329226768394>

#

These ports have been updated to include the new gameinfo.xml, some include cover images:

You can install them via harbourmaster or placing them like above into the autoinstall directory.

# 2048
./harbourmaster --no-check install "https://cdn.discordapp.com/attachments/1208662811992006676/1208664339826089994/2048.zip?ex=65e41b62&is=65d1a662&hm=9988fa3bbdd6e2ab7450ab0791814df7fb2fa681adcd19b5133d87f3beaf359d&"
# Banana Duck
./harbourmaster --no-check install "https://cdn.discordapp.com/attachments/1208662811992006676/1208664340123615252/banana.duck.zip?ex=65e41b62&is=65d1a662&hm=faa7bfdbdf12a5c69ba88b4684e70f5a71b290aec2f10538ff77e4754c52aa15&"
# Bleed
./harbourmaster --no-check install "https://cdn.discordapp.com/attachments/1208662811992006676/1208664340409094144/bleed.zip?ex=65e41b62&is=65d1a662&hm=04cce1df5de499bf61b1e6f2f2acaf4a88936e50a253d7c2cd4281f4d4c8ae19&"
# Stardew Valley
./harbourmaster --no-check install "https://cdn.discordapp.com/attachments/1208662811992006676/1208664340757094511/stardewvalley.zip?ex=65e41b62&is=65d1a662&hm=3da437179b8871542e7b3c8afbf7db24c1602a9ef48ef6137b2512076bf80311&"
dull girder
#

I just want to say thank you to @unborn hull for the huge effort in creating cover images for such a large number of ports. ❀️

dull girder
#

I have tested as much as possible btw. πŸ˜„

echo depot
#

I'll test later :), good job!

dull girder
#

After im asleep you'll fuck up stuff. doggokek

fresh plaza
dull girder
#

Yup πŸ˜„

fresh plaza
dull girder
#

Sweet, in theory it shouldn't break.

fresh plaza
# dull girder Sweet, in theory it shouldn't break.

so, let's say i install banana duck directly via harbourmaster (using instructions above), will that overwrite my current banana duck port? and what differences should i expect to see? like, will it delete the port.json file file, add a cover image, etc?

dull girder
#

It should have a cover.png, and a gameinfo.xml in the bananaduck port directory. If you're using ArkOS or AmberELEC it should've filled out the gamelist.xml entry for that game.

fresh plaza
#

btw, rg351v (amberelec)

dull girder
#

The gamelist.xml update? πŸ˜„

fresh plaza
dull girder
#

Sorry ❀️ πŸ˜„

#

I'll add the option to disable that before release.

#

Are you able to show me the output from find . -iname '*port.json'? πŸ˜„

fresh plaza
dull girder
#

Oh then you're the best guinea pig πŸ˜„

fresh plaza
dull girder
#

perfect ❀️ πŸ˜„

fresh plaza
#

haha, picked up some odd *port.json files in cataclysm

dull girder
#

Yeah, i thought it might πŸ˜„

#

I see you still have the old marathon ports installed, so thats great. πŸ™‚

#

btw its a bit janky if you install the new ones. TurtleThink

#

if you have the old ones

fresh plaza
dull girder
#

the new one has as a separate directory per port.

#

The reason we had the <portname>.port.json was because marathon shared the alephone port directory. since only 1 port has ever done that i felt it was okay to get rid of that possibility. πŸ˜„

#

But i still need to keep it compatible with that choice :\

fresh plaza
dull girder
#

Thanks. Still got a bit of work to do yet, hopefully @echo depot can fuck it up tonight and find some more edge cases πŸ˜„

#

I have some idea's on how to deal with your ./stop_the_eggspress/stoptheeggspress.port.json double up. πŸ˜„

fresh plaza
dull girder
#

I need to update ports_info.json, its not been updated in weeks. πŸ˜„

#

maybe 2 months

#

I got it up to date with the old repo, i need to make the analyzer work with the new repos.

fresh plaza
dull girder
#

Could be, but the second we post these test versions, there are fully featured versions available... elsewhere

fresh plaza
#

but you never know what stupid stuff people (like me) could do with organising and managing port files

dull girder
#

people get all sorts of janky files in the ports/ directory πŸ˜„

fresh plaza
#

so good edge case, i guess

dull girder
#

ports_info.json is used to figure out a port when there is no port.json file available. It also finds renamed bash scripts, and script directories with no bash scripts. πŸ˜„

wintry shore
#

Which ports currently have covers and use this?

dull girder
#

Currently none on the repo. πŸ˜„

#

But I have prepared every port with the new info needed.

#

Once the gui update goes live I can push that out.

wintry shore
#

Cool

#

Lol if I go to manage ports, celeste shows up with no info

dull girder
#

Celeste isn’t on PortMaster. πŸ˜…

wintry shore
#

Precisely

#

Looks like you're getting everything in ports folder regardless of if it's legitimate

dull girder
#

Of course.

#

Infact PortMaster knows about Celeste and a few other ports that haven’t been released. 😎

#

But it doesn’t have artwork.

#

Nor porting information. You can still uninstall it.

wintry shore
#

I mean, do you need the artwork?

#

Cuz I have artwork.

dull girder
#

Nope. Where would it go?

wintry shore
#

True

dull girder
#

It’s 3 months out of date though. πŸ˜‚

#

I need to update it. I need to make it automated though. I’m thinking the new repo can feed it the info it needs.

#

You can literally delete the port.json file from a port and it will recreate it. If you rename a bash script it can mostly figure out what port it belongs to.

#

It’s pretty robust. That’s what all those warnings are about unknown ports.

pallid spindle
#

Just to confirm ran the update on my RGB30 and all good so far.

sick umbra
#

Getting this error when updating on RGB30 w/ArkOS: OSError: [Errno 18] Invalid cross-device link: '/opt/system/Tools/PortMaster/PortMaster.sh' -> '/roms2/ports/PortMaster.sh'

#

roms2 is an exFAT-formatted card

sick umbra
#

A typo

sick umbra
#

After manually installing the files, it's working. But, trying to install any of the 4 ports listed results in an error: ```-> /roms2/ports/2048/port.json
2024-02-18 11:55:27.641 | DEBUG | harbourmaster.platform:port_install:107 - PlatformArkOS: Port Install 2048.zip
2024-02-18 11:55:27.653 | ERROR | main:<module>:808 - An error has been caught in function '<module>', process 'MainProcess' (2339), thread 'MainThread' (548604768272):
Traceback (most recent call last):

File "./harbourmaster", line 808, in <module>
exit(main(sys.argv))
β”‚ β”‚ β”” ['./harbourmaster', '--no-check', 'install', 'https://cdn.discordapp.com/attachments/1208662811992006676/1208664339826089994/...
β”‚ β”” <module 'sys' (built-in)>
β”” <function main at 0x7fb9f64f80>
File "./harbourmaster", line 804, in main
return all_commands[argv[1].casefold()](hm, argv[2:])
β”‚ β”‚ β”‚ β”” ['./harbourmaster', 'install', 'https://cdn.discordapp.com/attachments/1208662811992006676/1208664339826089994/2048.zip?ex=65...
β”‚ β”‚ β”” <harbourmaster.harbour.HarbourMaster object at 0x7fb9f60d50>
β”‚ β”” ['./harbourmaster', 'install', 'https://cdn.discordapp.com/attachments/1208662811992006676/1208664339826089994/2048.zip?ex=65...
β”” {'update': <function do_update at 0x7fb9f647a0>, 'auto_update': <function do_auto_update at 0x7fb9f5aef0>, 'portsmd': <functi...
File "./harbourmaster", line 510, in do_install
result = hm.install_port(arg)
β”‚ β”‚ β”” 'https://cdn.discordapp.com/attachments/1208662811992006676/1208664339826089994/2048.zip?ex=65e41b62&is=65d1a662&hm=9988fa3bb...
β”‚ β”” <function HarbourMaster.install_port at 0x7fb9f64440>
β”” <harbourmaster.harbour.HarbourMaster object at 0x7fb9f60d50>

File "pylibs/harbourmaster/harbour.py", line 1720, in install_port
return self._install_port(download_info)
β”‚ β”‚ β”” {'version': 2, 'name': '2048.zip', 'items': None, 'items_opt': None, 'attr': {'title': '', 'desc': '', 'inst': '', 'genres': ...
β”‚ β”” <function HarbourMaster._install_port at 0x7fb9f64320>
β”” <harbourmaster.harbour.HarbourMaster object at 0x7fb9f60d50>

File "pylibs/harbourmaster/harbour.py", line 1464, in _install_port
self.platform.gamelist_add(gameinfo_xml)
β”‚ β”‚ β”‚ β”” PosixPath('/roms2/ports/2048/gameinfo.xml')
β”‚ β”‚ β”” <function PlatformBase.gamelist_add at 0x7fb9faa710>
β”‚ β”” <harbourmaster.platform.PlatformArkOS object at 0x7fbaedc410>
β”” <harbourmaster.harbour.HarbourMaster object at 0x7fb9f60d50>

File "pylibs/harbourmaster/platform.py", line 89, in gamelist_add
ET.indent(gamelist_root, space=" ", level=0)
β”‚ β”” <Element 'gameList' at 0x7fb9ded950>
β”” <module 'xml.etree.ElementTree' from '/usr/lib/python3.7/xml/etree/ElementTree.py'>

AttributeError: module 'xml.etree.ElementTree' has no attribute 'indent'

dull girder
#

Ah. Damnit. Not all versions of python have that method. πŸ˜…

echo depot
#

@dull girder the genre tag we can also use from our port.json right?

#

hmmmmz

#

I broke it

#

2048 does not display

#
/roms/ports # ls -l 2048
total 4608
-rwxr-xr-x    1 root     root       3887568 Nov 17 12:52 2048-qt
-rwxr-xr-x    1 root     root           220 Feb 18 20:26 2048.md
-rwxr-xr-x    1 root     root         35256 Feb 18 20:26 2048_libretro.so
-rwxr-xr-x    1 root     root           171 Feb 18 20:26 gameinfo - Copy.xml
-rwxr-xr-x    1 root     root           171 Feb 18 20:26 gameinfo.xml
-rwxr-xr-x    1 root     root           931 Feb 18 20:26 port.json
-rwxr-xr-x    1 root     root         16701 Feb 18 20:26 screenshot.jpg
dull girder
echo depot
dull girder
#

What about it?

echo depot
dull girder
#

How? It doesn’t look at that. πŸ€”

echo depot
#
 <game>
    <path>./2048.sh</path>
    <name>2048</name>
    <image>./2048/screenshot.png</image>
  </game>```
#

the old jpg vs png

dull girder
#

That old chestnut.

dull girder
#

I need to work on the gamelist verification code.

#

Currently it just blindly accepts it. It currently will only translate over certain tags though.

dull girder
echo depot
#

YET

dull girder
#

I'm thinking i might make a gameinfo.zip with all the cover images and the gameinfo.xml files. So people can retroactively apply it to all their ports if they want.

dull girder
echo depot
dull girder
#

This way as we update gameinfo files and add covers people can re-run it and it will add the latest info. πŸ™‚

#

Thats the theory atleast.

#

Okay going to fix a few small things then push it to the beta channel. πŸ™‚

dull girder
#

Oof, the gameinfo.zip is like 30mb πŸ˜„

dull girder
#

πŸ˜„

echo depot
dull girder
#

it is enabled by default

echo depot
dull girder
dull girder
#

πŸ˜„

echo depot
dull girder
#

This does nothing atm.

echo depot
dull girder
#

it shouldnt be too hard to implement. πŸ˜„

#

but my brain is too tired.

echo depot
dull girder
#

But no i appreciate the work EvilLurker did, so... its only right.

dull girder
#

Hi All

I have updated the PortMaster-GUI so it now should work correctly on ArkOS, i have added the option to disable updating gamelist.xml. You should be able to update to it on device, if not make sure you're on the beta release channel. πŸ˜„

<@&1123159718874058882> <@&1204708329226768394>

#

A few days of testing and a few more fixes and i will push it to stable. ❀️

dull girder
#

Hrmmm. There’s a bug and it’s crashing on my device. πŸ€”

#

Seems it is an ArkOS bug. I will fix it tomorrow. πŸ˜„

dull girder
#

Yes

#

But I found another issue and got sidetracked fixing that

flat sand
#

I can install update using port master gui?

dull girder
#

Kind of

#

It will update

#

But it doesn’t realise. So… yeah. πŸ˜„

ebon charm
#

I've noticed that the last two updates on the ArkOS do not actually auto update. I end up downloading the zip, unzipping it into the roms(2)/tools/PortMaster folder then moving PortMaster.sh to /roms(2)tools by hand.

dull girder
#

Yeah it’s a bug. Not sure why it’s cropping up now. πŸ€”

#

The next update it will fail, then fix itself on the update after that. πŸ˜…

ebon charm
#

All OSes or just ArkOS?

echo depot
#

jelos soon πŸ™‚

flat sand
buoyant forge
#

la

mild pond
#

harbourmaster

dull girder
#

What?

echo depot
visual glade
#

Is Gamelist.xml update supposed to work yet?

xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:40:29: string literal is not a valid UTF-8 string
xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:41:29: string literal is not a valid UTF-8 string
xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:42:29: string literal is not a valid UTF-8 string
xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:43:29: string literal is not a valid UTF-8 string
xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:44:27: string literal is not a valid UTF-8 string
xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:45:27: string literal is not a valid UTF-8 string
xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:46:27: string literal is not a valid UTF-8 string
xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:47:27: string literal is not a valid UTF-8 string
xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:48:29: string literal is not a valid UTF-8 string
xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:49:29: string literal is not a valid UTF-8 string
xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:49:29: too many errors
xkbcommon: ERROR: /usr/share/X11/locale/iso8859-1/Compose:49:29: failed to parse file

Don't see anything special about those locations in Compose

dull girder
#

<@&1123159718874058882> <@&1204708329226768394> <@&1127639327049011350> @cyan geode

There is a new PortMaster-GUI version out.

This adds support for muOS v10 and RG35XX PLUS/H and port architectures.

Currently we now support armhf and aarch64.
I have fixed a small thing or two with the gamelist.xml generation but not too much done, sorry.
Hopefully I can iron out a few more issues with that this weekend and push out the big update which will add all the cover artwork/gamelist info.

This new version now supports a more robust release system, i now have stable, beta and alpha versions. Alpha is only accessible from the secret menu.

The new update also comes with a small caveat, you cannot downgrade in the software back to stable for now

You can always downgrade by downloading an older version of PortMaster).

https://github.com/PortsMaster/PortMaster-GUI/releases/download/2024.02.26-1252/PortMaster.zip

#

\o/

dull girder
#

just the exploding part

echo depot
#

@dull girder btw does the xml install work on jel now also?

#

btw the .sh installer files is one of the best things you've come up with

#

It just works

sick umbra
#

Lol, new self-updater worked but wiped out the .sh file

dull girder
sick umbra
dull girder
sick umbra
#

Oh, sorry, Arkos on RGB30

dull girder
#

Hrmmm

#

I think I know the issue. πŸ™‚

dull girder
#

i installed it 3 times... πŸ˜„

#

are you running single sdcard or double?

dull girder
#

just tried with an updated fresh install with single sdcard and 2 sdcards... TurtleThink

echo depot
#

The only thing that I know happens sometimes that the .sh goes from Portmaster folder to the Ports folder

dull girder
#

i wonder if they have port_scripts directory

#

πŸ˜„

#
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
    renamed:    frt_2.1.6.squashfs -> frt_2.1.6.aarch64.squashfs
    new file:   frt_2.1.6.armhf.squashfs
    renamed:    frt_3.0.6_v1.squashfs -> frt_3.0.6_v1.aarch64.squashfs
    renamed:    frt_3.1.2.squashfs -> frt_3.1.2.aarch64.squashfs
    new file:   frt_3.1.2.armhf.squashfs
    renamed:    frt_3.2.3.squashfs -> frt_3.2.3.aarch64.squashfs
    new file:   frt_3.2.3.armhf.squashfs
    renamed:    frt_3.3.4.squashfs -> frt_3.3.4.aarch64.squashfs
    new file:   frt_3.3.4.armhf.squashfs
    renamed:    frt_3.4.5.squashfs -> frt_3.4.5.aarch64.squashfs
    new file:   frt_3.4.5.armhf.squashfs
    renamed:    frt_3.5.2.squashfs -> frt_3.5.2.aarch64.squashfs
    new file:   frt_3.5.2.armhf.squashfs
    renamed:    frt_4.0.4.squashfs -> frt_4.0.4.aarch64.squashfs
    renamed:    frt_4.1.3.squashfs -> frt_4.1.3.aarch64.squashfs
    modified:   runtimes.json
    renamed:    solarus-1.6.5.squashfs -> solarus-1.6.5.aarch64.squashfs

πŸ˜„

echo depot
#

Nice

dull girder
#

now to make the jankiest code ever

#

everrrrr

#

(i lied, i've made worse)

echo depot
#

πŸ˜„

dull girder
#

i figured out a way to keep the jank to a minimum

#

πŸ˜„

dull girder
#

maybe πŸ˜„

echo depot
#

@dull girder is the metadata installer in beta already? I see it in the gui options but installing a port does not populate the xml yet

sick umbra
dull girder
#

In ArkOS?

sick umbra
# dull girder In ArkOS?

Yes. I had removed the file from tools because it was packaged with it in the PortMaster folder.

dull girder
#

@hereHi all,

I have released a new PortMaster Beta, it includes fixes for muOS, and adds multi-arch runtime support.

PortMaster now includes xdelta3 for patching ports, and we also have some helper code for setting up gl4es.

if [ -f "${controlfolder}/libgl_${CFW_NAME}.txt" ]; then 
  source "${controlfolder}/libgl_${CFW_NAME}.txt"
else
  source "${controlfolder}/libgl_default.txt"
fi

Lots of changes were made under the hood:
https://github.com/PortsMaster/PortMaster-GUI/pull/65

gusty reef
#

i hate to say this, but holding down DPAD DOWN when browsing ports will crash on muOS 🀣

dull girder
#

how quickly? TurtleThink

#

because i did it for 4 or 5 minutes and no crash...

gusty reef
#

within seconds

#

oh what the hell

#

let me get some more info for you

dull girder
#

send me the pugwash.txt

gusty reef
#

hahahahaha its the stardew valley theme

dull girder
#

MUOS/Portmaster/pugwash.txt

#

ahhhhhhh

#

1 minute 😐

gusty reef
#

quick way to exit PM though!

dull girder
#

it'll be sound related. πŸ˜‚

#

pySDL2gui.GUIRuntimeError: Cannot play sample scroll: b'No free channels available'

#

yep

gusty reef
#

hell yeah, that tuckatuckatucka

dull girder
#

i can fix it πŸ˜„

#
            # RAN OUT OF CHANNELS YO
            logger.debug(f"Cannot play sample {name}: {sdl2.sdlmixer.Mix_GetError()}")
            return

fixed πŸ‘

dull girder
#

Its building a new release now. πŸ™‚

#

@gusty reef all fixed if you update now. πŸ˜„

gusty reef
#

THANK YOU!

dull girder
#

thats what beta testing is for ❀️

dull girder
#

@timber meteor @small token does the new beta work with EmuELEC? πŸ™‚

#

i have tested on ArkOS, AmberELEC and muOS. TurtleThink

gusty reef
#

sorry if its a silly question, but how do i check my version? cause its still crashing on the stardew theme for me dunno how i missed that hahaha

#

2024.03.02-0521

dull girder
gusty reef
#

i can see that one now, thank you! will test after this flash

gusty reef
#

latest v10.1 preview

#

lemme grab that file you asked for

dull girder
#

ffs

#

lmao

#

i forgot the stupid gui doesnt have logger

dull girder
gusty reef
#

let me know when to test!

#

im actually going to play some games tonight on the console :p

dull girder
gusty reef
#

can confirm, all fixed!

#

now i can scroll through my 340000 items

dull girder
#

<@&1123159718874058882> <@&1204708329226768394> <@&1127639327049011350>

Hi everyone, its me again.

I have updated PortMaster-GUI to finalise the gamelist.xml code.

You can now go to Options -> Gamelist.xml update. and it will fetch the latest gameinfo data and cover/screenshot images.

Lots of ports are missing info (about 205 / 377 ports are done), we are working on something to allow people to see what ports need info added.

Let me know if you have any issues. It has been tested on:

  • βœ… ArkOS
  • βœ… AmberELEC

Porters we will update the info on writing gameinfo files, and @swift pewter has been working hard on an editor for them.

Small bug, you have to manually restart emulationstation after you update gamelist.xml. I'll fix it in the next release.

πŸ™‚

novel bobcat
#

Worked great here, added a few games with missing boxart and kept existing metadata/artwork too

dull girder
#

Oh neat πŸ™‚

sick umbra
#

Is it just me, or does Quake 1 use Quake 2's screenshot?

dull girder
#

Hrmmm. Looks like you might be right. πŸ˜„

small token
severe jay
#

I put AmberElec on Rg351v a day ago and the portmaster interface seems to be working for me in that case. β˜‘οΈ

dull girder
#

Nice

dull girder
small token
quiet loom
#

Dumb question

#

if I had a game installed from #1122885073507733625 and it gets released publicly (stable) I have to reinstall manually to get the updates right?

#

Or portmaster updates games?

eternal inlet
#

Depends per thread. Sometimes folders get renamed, or small stuff gets fixed right before PR. I recommend reinstalling the whole thing via portmaster.

dull girder
quiet loom
#

Can we have a latest ports/last updated category in Portmaster? would be help to find updates on stuff already installed

echo depot
quiet loom
#

wow u right, im dumb

#

ty!

quiet loom
#

i have 108 updates wow

#

why there isn't a update all button

#

been spamming A like crazy

echo depot
#

From those maybe 1-2 got updated

#

The rest will have metadata etc

echo depot
#

btw @gloomy skiff what's your ko-fi? πŸ˜„

gloomy skiff
#

Aaahh there was no need to do that ❀️

#

Thank you! I thought you were asking for Portmaster metadata doggokek

wintry shore
#

If I ever set one up it’ll be because I was forced to

smoky lake
#

Sorry if it was already discuss but I have this behavior "when we uninstall a port on Portmaster Gui and after the uninstall is finished, we are redirect to the page of the game with those options "reinstall, uninstall or cancel" are proposed meanwhile the port is already uninstall.

dull girder
#

Yeah. I been meaning to fix that.

quiet loom
#

latest update killed my portmaster

#

2024-03-22 21:39:40.048 | DEBUG    | harbourmaster.config:<module>:90 - HM_DEFAULT_TOOLS_DIR:   /roms2/tools
2024-03-22 21:39:40.050 | DEBUG    | harbourmaster.config:<module>:91 - HM_DEFAULT_PORTS_DIR:   /roms2/ports
2024-03-22 21:39:40.051 | DEBUG    | harbourmaster.config:<module>:92 - HM_DEFAULT_SCRIPTS_DIR: /roms2/ports
Traceback (most recent call last):
  File "./pugwash", line 229, in <module>
    load_lang()
  File "./pugwash", line 185, in load_lang
    config = json.load(fh)
  File "/usr/lib/python3.7/json/__init__.py", line 296, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "/usr/lib/python3.7/json/__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.7/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.7/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)```
dull girder
quiet loom
#

it's literally 0 bytes lol

dull girder
#

Yep

#

Which is not ideal

quiet loom
#

that fixed it, ty!

dull girder
#

Anytime. πŸ™‚

dull girder
smoky lake