-
-
Notifications
You must be signed in to change notification settings - Fork 44
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
How to fix destroot for zef? #516
Comments
Try prefixing ${destroot} with "inst#". See "Custom installation locations" within README.md. |
Thanks. That's great. It looks like it needs |
Good. BTW I AM one of those Macports folk. Never even heard of zef until today. However I like a good puzzle, and I DO know how to read the docs once in a while. ;-) I can't guarantee that the usual trick of moving |
@Dave-Allured Ah, I should complete this one finally, but will probably do it in a couple of weeks, since I am on a journey and therefore away from my PPC hardware (and Intel as well, only M1 with me). |
I've made a lot of progress. I actually got it to successfully test and install and activate. Briefly. But then I tried @barracuda156 I started another attempt at https://github.com/macportsraf/raku-zef-portfile/blob/main/lang/raku-zef/Portfile which might be of some use to you. I'll keep trying to get it working with the help of the macports mailing lists and see how it goes. |
If the |
The site directory did already exist (I think). Rakudo is creating another directory underneath it. The error is due to permissions. The user that is used to build the package in "destroot" does not have permission to write to that directory, or perhaps it's a artificial protection ceated by macports to maintain control of what ports are doing. Is there a list of all the items underneath the site directory that rakudo will create, or better still, is there a command that I could add to rakudo's macports portfile that would get it to create everything that it would end up creating, so that it doesn't get in the way of any other raku-related ports? I've asked on the rakudo mailing list but haven't had a response yet. |
|
Thanks, but unfortunately, it's isn't doing so. If it were, there wouldn't be a subsequent attempt to create them under @barracuda156 How is raku being installed? The Portfile doesn't mention install/destroot specifically, so I assume that it's doing a default It would be very helpful if someone knew the list of directories/files that Perhaps I need to work them out one at a time using the error messages as feedback. |
I think I might know what's going wrong. Macports has a wierd assumption that empty directories created in the destroot area aren't necessary, so it deletes them by default (or just doesn't copy them to the installation location). The Portfile needs to explicitly declare that they are needed, and macports puts a file in them to retain them. That's not happening. So maybe raku is creating empty directories and macports is discarding them. I'll see what raku's Makefile is creating during install to get a list of directories to explicitly retain. Hopefully, the extra file that macports insists on having won't cause problems for raku. |
|
Thanks. When I try
This will be a quick way to see all the directories that are needed and fix raku's Portfile. When that's merged, the zef Portfile will have a much better chance of working. Many thanks. |
I am writing a portfile for
zef
. It should first install itself into${destroot}${prefix}
, and then Macports moves everything in place in ${prefix}. However,zef
ignores passed agrs and tries to directly write into/opt/local
, which obviously fails:How to pass the target dir correctly, what should I add after
bin/zef install
? I can create a directory in destroot as needed, it should just go there and not try to creep into/opt/local/
directly.The text was updated successfully, but these errors were encountered: