Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Build System Refinements #124

Merged
merged 5 commits into from Jan 3, 2013

Conversation

Projects
None yet
2 participants
Member

dak180 commented Jan 1, 2013

  • Fail in the release script on lightweight tags.
  • Use precompiled code sign requirements to keep compatibility with 10.5+.

Fixes #94.

dak180 added some commits Jan 1, 2013

Fail in the release script on lightweight tags.
Also warn on improper code signing and clean up formatting.
Use precompiled code sign requirements to keep compatibility with 10.5+.
Note: code sign requirements must be compiled on 10.5 to be compatible with it.
Member

dak180 commented Jan 2, 2013

@barijaona let me know it this trips any new warnings or errors when making a release.

Owner

barijaona commented Jan 2, 2013

I get :

No such file or directory
invalid requirement specification
Vienna.app: code object is not signed at all
In architecture: i386
warning: Code is improperly signed!
Owner

barijaona commented Jan 2, 2013

Also wondering if Resources/codesignrequirement.csreq and Resources/codesignrequirement.txt wouldn't be better placed in the keys folder

Member

dak180 commented Jan 2, 2013

Does your CS-ID.xcconfig file look something like:

// Global settings for Code Signing

CODE_SIGN_IDENTITY = 
PRIVATE_KEY_PATH = 

CODE_SIGN_REQUIREMENTS_PATH = "$(SRCROOT)/Resources/codesignrequirement.csreq"
CODE_SIGN_RESOURCE_RULES_PATH = "$(SRCROOT)/Resources/ResourceRules.plist"

because the No such file or directory bit sounds like CODE_SIGN_REQUIREMENTS_PATH or CODE_SIGN_RESOURCE_RULES_PATH is wrong.

On the files being in keys or not; they are not keys or tools for interacting with keys so I did not think that was the place for them.

Owner

barijaona commented Jan 2, 2013

OK. I set the values as suggested, but I am still baffled :

/bin/sh -c "\"/Users/barijaon/github/vienna-rss/build/Vienna.build/Deployment/Archive and Prep for Upload.build/Script-EAAF336614BEF4DF002A8837.sh\""
cp: "/Users/barijaon/github/vienna-rss/Resources/ResourceRules.plist": No such file or directory
"/Users/barijaon/github/vienna-rss/Resources/codesignrequirement.csreq": No such file or directory
invalid requirement specification
rm: Vienna.app/ResourceRules.plist: No such file or directory
Vienna.app: code object is not signed at all
In architecture: i386
warning: Code is improperly signed!

These files exist though ! I noticed that Property List Editor (and XCode 4.4) complain about ResourceRules.plist : "Found non-key inside at line 28".
But for codesignrequirement.csreq, I see no possible explanation...

Member

dak180 commented Jan 2, 2013

OK, I fixed ResourceRules.plist let's see how much that fixes/changes things.

On 2013/01/02, at 6:01 AM, Barijaona Ramaholimihaso wrote:

OK. I set the values as suggested, but I am still baffled :

/bin/sh -c ""/Users/barijaon/github/vienna-rss/build/Vienna.build/Deployment/Archive and Prep for Upload.build/Script-EAAF336614BEF4DF002A8837.sh""
cp: "/Users/barijaon/github/vienna-rss/Resources/ResourceRules.plist": No such file or directory
"/Users/barijaon/github/vienna-rss/Resources/codesignrequirement.csreq": No such file or directory
invalid requirement specification
rm: Vienna.app/ResourceRules.plist: No such file or directory
Vienna.app: code object is not signed at all
In architecture: i386
warning: Code is improperly signed!

These files exist though ! I noticed that Property List Editor (and XCode 4.4) complain about ResourceRules.plist : "Found non-key inside at line 28".
But for codesignrequirement.csreq, I see no possible explanation...


Reply to this email directly or view it on GitHub.


My Web Sites:
http://dak180.users.sourceforge.net/

Member

dak180 commented Jan 2, 2013

@barijaona That should not be effecting cp though.

Try this, for each, codesignrequirement.csreq and ResourceRules.plist: open up terminal type echo and then drag the file onto the terminal window, paste the resulting output.

That should give us the exact actual path to the files which might tell us what is going on.

Some other things:
Are you running a case sensitive file system?
Can you paste the whole output of the script somewhere, including the values of all the xcode set variables?
Does anything change if CODE_SIGN_RESOURCE_RULES_PATH is left blank?

Owner

barijaona commented Jan 2, 2013

  • The echo thing does not say anything remarkable.
  • The file system is the classical Mac OS extended (journalized)
  • If I don't define CODE_SIGN_RESOURCE_RULES_PATH, the script does not complain anymore about it missing ; but I still have the error about missing /Users/barijaon/github/vienna-rss/Resources/codesignrequirement.csreq

I email you a gist about the output of the build command.

Member

dak180 commented Jan 2, 2013

I think I figured out the issue; try setting your CS-ID.xcconfig like:

// Global settings for Code Signing

CODE_SIGN_IDENTITY = 
PRIVATE_KEY_PATH = 

CODE_SIGN_REQUIREMENTS_PATH = $(SRCROOT)/Resources/codesignrequirement.csreq
CODE_SIGN_RESOURCE_RULES_PATH = $(SRCROOT)/Resources/ResourceRules.plist

(note the lack of quotes)

Let me know if it still throws errors after that.

Owner

barijaona commented Jan 3, 2013

It works ! this one was subtle !

Regarding the location of those files : you are right, technically speaking, codesignrequirement.csreq and ResourceRules.plist aren't exactly keys.
But they are related to them, and codesignrequirement.csreq is similar to a key signature.

So, I think they should be stored alongside keys, in order to speed up understanding of people unfamiliar with these concepts. May be we can rename the folder "signing" ?

Member

dak180 commented Jan 3, 2013

@barijaona "signing" sounds good to me; it is inclusive enough to have all of those things in the same place (codesignrequirement.(csreq|txt), ResourceRules.plist).

On 2013/01/02, at 10:11 PM, Barijaona Ramaholimihaso wrote:

It works ! this one was subtle !

Regarding the location of those files : you are right, technically speaking, codesignrequirement.csreq and ResourceRules.plist aren't exactly keys.
But they are related to them, and codesignrequirement.csreq is similar to a key signature.

So, I think they should be stored alongside keys, in order to speed up understanding of people unfamiliar with these concepts. May be we can rename the folder "signing" ?


Reply to this email directly or view it on GitHub.


My Web Sites:
http://dak180.users.sourceforge.net/

barijaona added a commit that referenced this pull request Jan 3, 2013

@barijaona barijaona merged commit 2973d6b into ViennaRSS:master Jan 3, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment