[SmartcardServices-Dev] Newbie build env help

Shawn Geddis geddis at apple.com
Tue Dec 18 12:43:18 PST 2012


I would love to hear from other developers on this list, but I first wanted to ask a few questions an comment on items within your message.

On Dec 12, 2012, at 10:28 AM, Frank Marien <frank at apsu.be> wrote:
> Greetings List,


> I'm a consultant, on a government project. So far we've been able to use

> Apple's shipped versions of SmartCardServices, but we've reached a point where

> this is too old, and now totally breaks functionality for many of our OSX users..

Since I have been officially leading this effort since 2009 including those versions that shipped in OS X since v10.5.4, what is it that is now "too old, and now totally breaks functionality for many of our OS X users." 

SmartCardServices (pcscd, libccid, various Tokend modules, etc) have all been provided since Mac OS X 10.4 and continue to work thru OS X Mountain Lion v10.8 as provided on the Installer page here in the same manner.

So I am curious what has all of a sudden changed for your users now as you indicate it is too old ?

> I'm investigating how we can bundle our own SmartCardServices binaries

> to solve this..

You can always recompile the source code posted or just utilize the installers containing compiled versions of the components.

> To bundle we need to sign, and we obviously are not going to sign what

> we did not build from source.. let alone ship something we cannot fix, if needed..

- Obviously you could sign, but it is not a technical requirement on OS X at this time.
- That is good practice not to sign what you have not built - I applaud you!  
	-- Wish more folks would follow you sage advice.
- Since the source code to everything that ever shipped in OS X as well as additional 
	components are available thru the project here, you would always be able modify source,
	recompile, and ship.  you could, but of course you may not choose to.

Keep in mind that under the licensing here, alterations you make to existing resources / source code posted, must be submitted back to the project.  There are a few third-party SmartCard entities that still have not complied with the licensing terms.

> I've been using the instructions in

> http://smartcardservices.macosforge.org/trac/wiki/documentation/building

> but that's been dependency hell on my Lion 10.7.5 (11G63), XCode 4.5.2..


> I've spent the last few days updating XCode, MacPorts, DarwinBuild, a

> true obstacle course by itself.


> This can't be right.. I'm missing something very simple and obvious, or

> the instructions are simply

> too old..

Those instructions are written for the last version of Mac OS X (10.6.x) where the Tokend modules were included.  Apple deprecated SmartCardServices beginning in OS X Lion 10.7, so the source code was no longer included in the open source postings [
http://www.opensource.apple.com].  So admittedly they are old if you are using the latest and greatest versions of XCode and DarwinBuild - but that is of course not necessary to build/compile the project / components.

> Would really appreciate a URL or paste of how you folks set up dev and build env for SmartCardServices..

> Since we would be happy to contribute, as well. Willing to scratch OSX and reinstall from zero, if necessary.

For simplicity and rapid compiling, I actually build all of the components while on a Mac OS X 10.6.x environment, darwinbuild and of course the corresponding SDKs [10.6,10.7,10.8] with the instructions you are referencing.  Those instructions again are reliant on the existence of the Project in the open Source Version (e.g. 10J869) along with support under darwinbuild.

XCode / darwinbuild has undergone significant changes since the original builds days and re-doing all of the projects to keep up with those changes has unfortunately, been lower on the priority list.  Desired, but lower on the list.

Your unstated point is well taken and that is to provide an updated version of the instructions, but since you asked what is it we use, I state the above.  

> (My speciality is GNU/Linux, and we need to have this continuously-built so I need something that can be ran from the command-line,

> once set up, as well as from e.g. XCode, so I can step/debug etc..)

I do all my Code Editing using the latest XCode and then submit to my build environment.  The project is not in a state where you would be able to build the project under XCode without significant alterations to the project files.  There are even some of the components (e.g. libccid) that were previously only developed externally [http://anonscm.debian.org/viewvc/pcsclite/trunk/Drivers/ccid/] (led by Ludovic Rousseau) and built as part of the project here during final project build time.

I know overall this is not what you wanted to hear, but I would like us to pursue this moving forward to make it easier for all developers.

Interested in your feedback.

- Shawn
Shawn Geddis				  			          geddis at me.com
Enterprise Security Consulting Engineer, Apple     geddis at apple.com

MacOSForge: Smart Card Services  Project Lead:                                                                                 
	Web:	http://smartcardservices.macosforge.org/
	Lists:	http://lists.macosforge.org/mailman/listinfo

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/smartcardservices-dev/attachments/20121218/30ea6713/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4418 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/smartcardservices-dev/attachments/20121218/30ea6713/attachment.p7s>

More information about the SmartcardServices-Dev mailing list