Skip to content
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

Build System Refinements #124

Merged
merged 5 commits into from Jan 3, 2013
Merged

Conversation

dak180
Copy link
Member

@dak180 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.

Also warn on improper code signing and clean up formatting.
Note: code sign requirements must be compiled on 10.5 to be compatible with it.
@dak180
Copy link
Member Author

dak180 commented Jan 2, 2013

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

@barijaona
Copy link
Member

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!

@barijaona
Copy link
Member

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

@dak180
Copy link
Member Author

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.

@barijaona
Copy link
Member

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...

@dak180
Copy link
Member Author

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/

@dak180
Copy link
Member Author

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?

@barijaona
Copy link
Member

  • 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.

@dak180
Copy link
Member Author

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.

@barijaona
Copy link
Member

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" ?

@dak180
Copy link
Member Author

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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

OAuth2 asked everytime and "Always Allow" doesn't work.
2 participants