unixorn/luggage

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:

  1. make pkgls can sometimes help you see where it's going off the rails, or just confirm things are being built as you expect
  2. You can use ${DITTO} instead of CP
  3. 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.

https://groups.google.com/forum/#!forum/the-luggage

@vmiller Thanks please close.