chmod no such file or directory after make pkg
orcutt989 opened this issue · 5 comments
I have an application that is a directory with many directories and the app inside of the parent directory
ex.
/Applications/MacVector/Templates
/Applications/MacVector/MacVector.app
/Applications/MacVector/Tutorials
I need to pack /Applications/MacVector. I have the MacVector directory in the same directory as my make file. When I make the package, I get "chmod: /tmp/the_luggage/MacVector-20150510/root/Applications/MacVector: No such file or directory". I got the same issue when I tar the package as well and use unbz2-applications-MacVector to install it.
For some reason /tmp/the_luggage/MacVector-20150510/root/Applications is being overwritten with the MacVector folder instead of the MacVector folder going inside of it.
Here's my makefile. I made my own rule instead of using unbz2-applications-... because I am trying to learn. I get the same error with both methods anyways.
TITLE=MacVector
REVERSE_DOMAIN=com.osuccc
PAYLOAD=pack-MacVector
pack-MacVector:
@sudo ${CP} -r ./MacVector/ ${WORK_D}/Applications/
@sudo chmod 755 ${WORK_D}/Applications/MacVector
@sudo chown root:admin ${WORK_D}/Applications/MacVector
Hey there, sorry it's not working for you yet. Are you building a flat package by putting USE_PKGBUILD=1
on the first line before including luggage.make? Three points:
make pkgls
can sometimes help you see where it's going off the rails, or just confirm things are being built as you expect- You can use ${DITTO} instead of CP
- A lot of the point of using theLuggage is the pre-built convenience stanzas... you could just trust they'll do the right thing 😅. I hope this error you're experiencing isn't something simple like trailing forward-slashes...</me curses rsync>
Thanks. Like I said I got the same error when I used the unbz2-applications-.. stanza. I just created my own rule for educational purposes.
Here is my makefile using the unbz2 stanza instead of my rule I created.
'USE_PKGBUILD=1'
include /usr/local/share/luggage/luggage.make
TITLE=MacVector
REVERSE_DOMAIN=com.osuccc
PAYLOAD=unbz2-applications-MacVector'
I don't get the chown error anymore, but its still telling me that /tmp/the_luggage/MacVector-20150510/root/Applications does not exist. There is nothing in /tmp/the_luggage/MacVector-20150510/root/.
I have a similar package in my collection, and I think I see two issues.
After PAYLOAD=pack-MacVector: you need to include l_Applications
Remove the trailing slash after ./MacVector in the copy line
Try this :
PAYLOAD=pack-MacVector: l_Applications
@sudo ${CP} -r ./MacVector ${WORK_D}/Applications/
@sudo chown -R root:admin ${WORK_D}/Applications/MacVector
@sudo chmod -R 755 ${WORK_D}/Applications/MacVector
Also, questions like this would probably be better served by posting to the luggage google group, rather than opening an issue on Github.