installation script; default config

This commit is contained in:
Greg Gauthier 2025-05-11 22:49:38 +01:00
parent 014f6a3135
commit da3c9c771d
6 changed files with 33 additions and 6 deletions

View File

@ -9,8 +9,10 @@
* Frontend: Object Rexx with ncurses extensions. *
**************************************************************************/
signal on HALT name ProgramHalt
signal on ERROR name ProgramError
.environment~home = SysGetpwuid(SysGetuid(), "d")
.environment['STOPNOW'] = 0
rc = setEnv("./config.json")
rc = setEnv(.nil)
if rc \= 0 then do
say "Configuration failed."
exit rc
@ -29,6 +31,7 @@ Do forever
end
Exit
signal on ERROR name ProgramError
::CLASS AddressBookApp PUBLIC
@ -102,6 +105,12 @@ return 0
return rc
ProgramError:
say 'An error has occurred'
say rc
say signal
Exit rc
/** External Libraries **/
::requires 'appdb.cls'
::requires 'appui.cls'

View File

@ -1,7 +1,7 @@
::requires 'ooSQLite.cls'
::requires "rxunixsys" LIBRARY
::requires 'ncurses.cls'
::requires 'app/utils.rex'
::requires 'utils.rex'
::CLASS AddressBookDB PUBLIC

View File

@ -1,7 +1,7 @@
::requires 'ooSQLite.cls'
::requires "rxunixsys" LIBRARY
::requires 'ncurses.cls'
::requires 'app/utils.rex'
::requires 'utils.rex'
::class AddressBookUI public

View File

@ -1,3 +0,0 @@
{
"dbFile":"/home/gmgauthier/Projects/rexx-address-book/db/contacts.sqlite"
}

3
default-config.json Normal file
View File

@ -0,0 +1,3 @@
{
"dbFile":"/home/{your-user-id}/.local/share/rexx-address-book/contacts.sqlite"
}

18
install.rex Executable file
View File

@ -0,0 +1,18 @@
#!/usr/bin/env rexx
/***************************************************
* Installer for the Rexx Address Book *
***************************************************/
Say "Setting up directories..."
Address system "mkdir -p ~/.local/bin && mkdir -p ~/.config/rexx-address-book && mkdir -p ~/.local/share/rexx-address-book"
Say "Setting up default config file..."
Address system "cp ./default-config.json ~/.config/rexx-address-book/config.json"
Say "Copying application scripts..."
Address system "cp app/*.cls ~/.local/bin && cp app/utils.rex ~/.local/bin"
Address system "cp ./addrbook.rex ~/.local/bin/addrbook && chmod +x ~/.local/bin/addrbook"
Say "Installation complete."
EXIT