-
Notifications
You must be signed in to change notification settings - Fork 6
PSP Pacman #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PSP Pacman #1
Conversation
Not all platforms support stripping mips binaries, including Arch Linux. This works around that by using psp-strip.
|
Generally looks very good so far. Why putting pacman in |
|
|
Never heard of such convention. |
|
They do it because they try to follow the filesystem hierarchy standard, which says the following about "Any program or package which contains or requires data that doesn't need to be modified should store that data in /usr/share (or /usr/local/share, if installed locally). It is recommended that a subdirectory be used in /usr/share for this purpose." Source: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s11.html I think adhering to this standard as much as possible would be a good idea. We're already following it for most things. The |
|
These 2 points are enough against putting it in
|
|
Yeah, we should probably move the db to I think the binaries should stay in its current place. They don't change and should never be used directly by the user. It's important to make sure the user never adds them to their path. The configuration files should actually probably be in I wouldn't want to clutter the |
|
It's very common to have helper binaries which the user shouldn't use directly, but are needed by an application, in |
|
What we could also do is using |
There is still an issue with bash-completion which makes the installation fail without root permission. I'll work on this.
|
I've just made some changes:
|
|
This looks really better now! 👍 I think this is in a mergeable state now, but the bash-completion should be disabled until we reach a conclusion:
However, we have a real problem we need to deal with when building packages with having the root dir in mind.
|
|
I've added a patch which potentially fixes our issues with bash-completion while still making the files available. Savy users can make symlinks to them if they wish. We could go for this option for now:
It is annoying, though, but changing the root dir to / would allow people to easily mess up their entire system. The Vita SDK does that, but I really dislike it. Although this one could be a long term solution:
How i'd see us do this is to make a psp-pkg-config wrapper which takes the root dir set for pacman into account. I'm not sure if we should let implementing this hold back merging it, though, since pkg-config, sdl-config and freetype-config are currently not extensively used by the community. |
|
I do not think it is a good idea to break stuff like this. Currently I do not think you have an idea how much work it is to actually have this in a sane way (there might be hardcoded things around each library). My approach for "fixup in the package() function (manually/with helper script in all PSPBUILDs)" (as a current solution until further improvments): mv ${PSPDEV:1}/* $pkgdir
rm -r ${PSPDEV:1}Which should move everything upwards relative to the root path. |
|
Yeah, you're right, we could come up with a solution for it. I did find one which could work, but it does have some downsides. We can set the following either in the psp-makepkg script or makepkg.conf: We would probably also need to set this in the toolchain file for cmake it's probably a good idea to set it in build.mak as well. Then users would be able to use pkg-config without needing a wrapper. An example for jsoncpp build from this PSPBUILD: Here the contents of jsoncpp.pc: |
|
After some thinking, I'd say we should include this in the cmake toolchain file and |
|
Autotools warns about using unprefixed tools nowadays, so this still needs to be addressed IMO. |
|
Then I guess we need a different solution. I'll look into tricking makepkg to fix this for us then., so we can just tell people to use $PSPDEV/psp as prefix. |
This PR adds the following commands:
psp-pacmanpsp-makepkgFor this it downloads and patches the latest upstream pacman release. There is only 1 patch at the moment which only makes some changes to to build system and configuration files for both makepkg and pacman. These changes allow us to build and install pacman for our purposes.
On Arch the system's pacman will be used and pacman will not be build.
The root path for pacman is set to
$PSPDEV. Our build scripts usePSPBUILDas name.See the README.md file in this PR for more details on how to install and use it.