SylixOS Uploader is a command-line tool designed for uploading SylixOS projects via CORBA. It simplifies the process of transferring files to remote devices, setting appropriate permissions, and generating configuration YAML files for project uploads.
## Features
1. File Uploads:
- Upload project files to remote devices using FTP.
- Golang installed and configured with GOOS=sylixos support.
- Git available in the environment.
### Build Script
Use the build.sh script to compile the tool. The script determines the version based on Git tags and the latest commit, providing flexible options.
### Script Options
- --all: Build for all supported platforms (Linux, Windows, macOS, SylixOS).
- --install-dir \<dir\>: Install the binary to the specified directory.
### Examples
#### Build for the local platform
```bash
./build.sh
```
#### Build for all platforms
```bash
./build.sh --all
```
#### Build local platform and Install to a directory
```bash
./build.sh --install-dir /usr/local/bin
```
## Supported Platforms
- Linux:
- amd64
- arm64
- Windows:
- amd64
- arm64
- macOS:
- amd64
- arm64
- SylixOS:
- arm64
## Known Issues
1. Currently, only FTP is supported for uploads.
## Known Behaviors
1. Uploads projects to the specified remote device.
2. On the remote device:
- ELF executables or shared objects are set to chmod 0755.
- Known executable scripts are set to chmod 0755.
3. Generates a YAML file from the actual SylixOS project.
## Contributing
Feel free to submit pull requests or report issues on the project’s repository. Ensure that your code adheres to the project guidelines and includes relevant tests.
## License
This project is licensed under the MIT License. See the LICENSE file for details.
## Contact
For any issues, questions, or feature requests, reach out to the maintainers via Gitea.