ó  îRac@sŽdZddlZddlZddlZddlZddlZd„Zdefd„ƒYZe dkrŠej eej dƒƒndS(s…These functions are executed via gyp-flock-tool when using the Makefile generator. Used on systems that don't have a built-in flock.iÿÿÿÿNcCstƒ}|j|ƒdS(N(t FlockTooltDispatch(targstexecutor((sl/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/flock_tool.pytmains RcBs)eZdZd„Zd„Zd„ZRS(s(This class emulates the 'flock' command.cCsSt|ƒdkr!tdƒ‚nd|j|dƒ}t||ƒ|dŒdS(s(Dispatches a string command to a method.isNot enough argumentssExec%siN(tlent Exceptiont_CommandifyNametgetattr(tselfRtmethod((sl/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/flock_tool.pyRscCs|jƒjddƒS(s<Transforms a tool name like copy-info-plist to CopyInfoPlistt-t(ttitletreplace(R t name_string((sl/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/flock_tool.pyRsc Gs¬tj|tjtjBtjBdƒ}tjjdƒrbtj dt j ddddddƒ}n'tj dt j ddddddƒ}t j |t j |ƒt j|ƒS(s5Emulates the most basic behavior of Linux's flock(1).i¶taixthhIllqqithhllhhl(tostopentO_WRONLYtO_NOCTTYtO_CREATtsystplatformt startswithtstructtpacktfcntltF_WRLCKtF_SETLKt subprocesstcall(R tlockfiletcmd_listtfdtop((sl/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/flock_tool.pyt ExecFlock#s &*'(t__name__t __module__t__doc__RRR&(((sl/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/flock_tool.pyRs  t__main__i( R)RRRR RRtobjectRR'texittargv(((sl/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/flock_tool.pyts