Better versioning and delivery
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 309
- Forks
- 42
- PR merge metrics
- No merged PRs in 30d
Description
We would like to make versioning the toolchain easier and we want to offer our users a way to install PSPDEV with one simple command. This ticket will go over the way I would like to achieve this and what steps are involved. This allows us to track the progress and issues I run into.
Summary
To achieve the versioning goal the idea is to package each part of the toolchain using psp-pacman and host these packages on GitHub pages as pacman repositories. This will allow users to be easily able to update each part individually.
To achieve the easy installation goal the idea is to have all the packages ready and create a script that can install the dependencies for the toolchain, download psp-pacman and then install all packages using it.
Steps
- It needs to be possible for us to offer packages which are specific to a type of system (think Ubuntu 24.04 with an x86_64 cpu, Fedora with an x86_64 cpu or MacOS with an arm64 cpu). PRs: https://github.com/pspdev/psp-pacman/pull/39 https://github.com/pspdev/psp-pacman/pull/42
- Make psp-pacman able to strip binaries for both the PSP and the current system. PR: https://github.com/pspdev/psp-pacman/pull/44
- Update Pacman to the latest version. PR: https://github.com/pspdev/psp-pacman/pull/41
- Implement tests to make sure the current Pacman build works on all supported platforms. PR: https://github.com/pspdev/psp-pacman/pull/41
- Package psp-pacman and host it in a pacman repo. PR: https://github.com/pspdev/psp-pacman/pull/47
- Offer tarballs with psp-pacman installed using psp-pacman (I think this is the easiest way to allow a quick installation that can be updated with psp-pacman). PR: https://github.com/pspdev/psp-pacman/pull/47
- Write a script that installs the toolchain and host it on GitHub pages.
- Package psp-toolchain-allegrex and host it in a pacman repo.
- Package psp-toolchain-extra and host it in a pacman repo.
- Package psp-sdk and host it in a pacman repo.
- Package psplinkusb and host it in a pacman repo.
- Rename the pspdev-default group in the psp-packages repo into pspdev-libraries. PRs: https://github.com/pspdev/psp-packages/pull/303 https://github.com/pspdev/pspdev/pull/143
- Make psp-packages not rebuild dependencies of packages.
- Create a pspdev group which includes all parts of the toolchain.
Outstanding issues
Fakeroot does not work on GitHub's macos-latest runner. This means makepkg cannot work right now. This has to be fixed. PR: https://github.com/pspdev/psp-pacman/pull/47Using the system's meson and ninja should work. We don't need to use python venvs anymore. PR: https://github.com/pspdev/psp-pacman/pull/45
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the unchecked items in the issue checklist and review the referenced psp-pacman and psp-packages pull requests for the completed packaging approach. The work is done when the installer script and remaining toolchain packages are hosted in pacman repositories, dependency rebuilding is addressed, and the pspdev group includes the full toolchain.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, shell
- Domain
- build-system, devops, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100