rzander / ruckzuck

software package manager for windows
https://ruckzuck.tools
Microsoft Public License
223 stars 20 forks source link

RFE: File based custom packages without own RZ server? #173

Closed m1027 closed 2 years ago

m1027 commented 2 years ago

Thanks for RZ tools.

If you look at a setup where you have software apps with restricted downloads/licenses to install onto windows clients, but unix/linux servers otherwise, it would be fantastic to have a simpler way to add custom package definitions than setting up another 24/7 windows / windows server to run a RZ server for these custom packages.

Are there any plans to simplify custom packages so that there is no need to run a RZ server?

E.g. wouldn't it be sufficiant to have RZGet optionally read from a directory with package definitions, just like coming from a server or via REST? Using a file based approach would also simplify admin's task on maintaining the custom packages by a git repo, updating version information just by editing the version info in the files and such.

rzander commented 2 years ago

RZGet can already get the package definitions from a File...

RZGet.exe install "<JSON full path>"[;"<JSON full path>"]
m1027 commented 2 years ago

Sounds great. Does that work for RZGet.exe update, too?

This has been mentioned for RZGet.exe install, only: https://github.com/rzander/ruckzuck/wiki/RZGet.

rzander commented 2 years ago

No, the update method requires some logic in the backend... But if your package is in the public repo and you only want to modify the installation, you can use something like:

if(.\RZGet.exe update --list "YourProduct") {
   RZGet.exe install "PathToYourProduct.JSON"
}

... or you create your own logic to detect if a product requires an update...

m1027 commented 2 years ago

Okay, I see. So let me try to sum up how to deal with updates for custom packages (without setting up a RZ server):

(1) RZGet.exe update --list "YourProduct" to check whether an update is required will probably not work here because I am concerned with custom packages that can not be accessed on public servers. Thus, if I got you right, it makes no sense to create and upload description files that cannot help detecting upstream versions.

(2) There is no RZGet.exe UPDATE "<JSON full path>"[;"<JSON full path>"] (this holds only for install) as "updating needs some logic" and this is not happening in RZGet.exe but on the RZ server side.

Well, I would be cool to see that logic in RZGet.exe too! :-)

I will then try to implement my own version checks and then useRZGet.exe install "<JSON full path>" package by package.