Closed GoogleCodeExporter closed 9 years ago
Original comment by evan@chromium.org
on 23 Nov 2009 at 9:51
fta: http://codereview.chromium.org/460153
I cannot for the life of me figure out how distutils is supposed to install
binaries!
Does that look ok to you?
Original comment by a...@chromium.org
on 9 Dec 2009 at 12:31
(answering here rather than in CR)
On 2009/12/09 17:13:20, sgk wrote:
> Just hit me when I woke up, distutils knows how and where to install
> scripts
indeed, it does.
in Ubuntu/Debian packages, we call distutils via a dh_* script mostly from
cdbs. The cdbs magic is in
/usr/share/cdbs/1/class/python-distutils.mk.
There are two ways to package python apps now, pysupport and python-central.
See
http://wiki.debian.org/DebianPython/NewPolicy
I plan to use pysupport when it's supported, and fall back to pycentral
otherwise
DEB_PYTHON_SYSTEM = pysupport
include /usr/share/cdbs/1/class/python-distutils.mk
this should result in something like:
python setup.py clean -a
python setup.py build --build-base="/build/buildd/pkg-vers/./build"
python setup.py build --build-base="/build/buildd/pkg-vers/./build"
python setup.py install --root=/build/buildd/pkg-vers/debian/pkg/ \
--install-purelib=/usr/lib/python2.6/site-packages/ --prefix=/usr --no-compile -O0
or with pycentral:
DEB_PYTHON_SYSTEM = pycentral
include /usr/share/cdbs/1/class/python-distutils.mk
DEB_PYTHON_INSTALL_ARGS_ALL += --prefix=/usr
python setup.py clean -a
python setup.py build --build-base="/build/buildd/pkg-vers/./build"
touch python-build-stamp-2.5
python setup.py install --root=/build/buildd/pkg-vers/debian/pkg/ --no-compile
-O0 --prefix=/usr
in both cases, the result is in
/build/buildd/pkg-vers/debian/pkg/usr/{bin,lib/python2.6...}
Original comment by f...@sofaraway.org
on 11 Dec 2009 at 3:56
r767
Original comment by a...@chromium.org
on 11 Dec 2009 at 7:32
Thanks! it worked: gyp_0.1~svn767-0ubuntu1_all.deb
Could you bump the DEPS in Chromium please, it should be harmless.
The only thing troubling me is to keep the temporary sys.path.append hack in
/usr/bin/gyp.
Could we move it in src/build/gyp_chromium somehow?
Original comment by f...@sofaraway.org
on 11 Dec 2009 at 8:27
Have rolled DEPS in Chromium. Can you explain the sys.path.append hack? I'll
try to
help but I don't think I know about this one.
Original comment by a...@chromium.org
on 11 Dec 2009 at 9:08
the main script starts with:
# TODO(mark): sys.path manipulation is some temporary testing stuff.
try:
import gyp
except ImportError, e:
import os.path
sys.path.append(os.path.join(os.path.dirname(sys.argv[0]), 'pylib'))
import gyp
it's not really a problem as import is first and should always work in the
package,
but who knows what could happen. As it's mentioned as temporary, maybe it's
time to
drop it.
btw, just had a look at gyp_chromium, and it seems to already take of that.
Thanks for the DEPS.
Original comment by f...@sofaraway.org
on 11 Dec 2009 at 9:15
Since gyp_chromium already handles this, I think it's past due to remove the
sys.path
manipulation in gyp.py.
Original comment by mark@chromium.org
on 11 Dec 2009 at 9:22
Looks more difficult than i thought.
My immediate need for this system gyp is for my ffmpeg-codec package. I need to
build the sumo lib made by awong in
order to fix the media players bugs. But it seems gyp doesn't work outside of
chromium:
$ GYP_DEFINES="ffmpeg_branding=Chromium" GYP_GENERATORS=make gyp ffmpeg.gyp
Traceback (most recent call last):
File "/usr/bin/gyp", line 18, in <module>
sys.exit(gyp.main(sys.argv[1:]))
File "/usr/lib/pymodules/python2.6/gyp/__init__.py", line 358, in main
'--depth as a workaround.'
Exception: Could not automatically locate src directory. This is a temporary
Chromium feature that will be removed. Use
--depth as a workaround.
apparently, i need src/ and probably src/build/ to have common.gypi, and who
know what else. Won't work for me if i have
to pull half of chromium just to use gyp.
I'm unsure about what i should do now.
Original comment by f...@sofaraway.org
on 12 Dec 2009 at 12:24
update: it's almost ok without copying src/ by using:
GYP_DEFINES="target_arch=x64 chromeos=0 branding=Chromium
library=static_library
use_system_yasm=1 use_system_zlib=1 ffmpeg_branding=Chrome" GYP_GENERATORS=make
gyp --
depth=. ffmpeg.gyp
It still doesn't build as the headers are generated elsewhere (but that's for
another
bug), and i've lost make install. But at least system gyp worked.
So there's hope after all.
Original comment by f...@sofaraway.org
on 12 Dec 2009 at 2:28
Original issue reported on code.google.com by
f...@sofaraway.org
on 21 Nov 2009 at 8:02