[eclipse-pydev] 06/06: Build and install attach_linux.so
Jakub Adam
xhaakon-guest at moszumanska.debian.org
Sat Sep 27 08:59:33 UTC 2014
This is an automated email from the git hooks/post-receive script.
xhaakon-guest pushed a commit to branch master
in repository eclipse-pydev.
commit eae29c179561a06e73b7eac36311b8e064bd689d
Author: Jakub Adam <jakub.adam at ktknet.cz>
Date: Fri Sep 26 22:30:34 2014 +0200
Build and install attach_linux.so
---
debian/control | 33 +++++++++++++++++++++++++++--
debian/eclipse-pydev-data.eh-install | 1 +
debian/eclipse-pydev-data.lintian-overrides | 4 ++++
debian/eclipse-pydev.eh-install | 1 -
debian/eclipse-pydev.install | 1 +
debian/eclipse-pydev.lintian-overrides | 4 ----
debian/patches/fix-attach-so-path.patch | 31 +++++++++++++++++++++++++++
debian/patches/series | 1 +
debian/rules | 18 +++++++++++-----
9 files changed, 82 insertions(+), 12 deletions(-)
diff --git a/debian/control b/debian/control
index 65da9d0..031b214 100644
--- a/debian/control
+++ b/debian/control
@@ -28,13 +28,40 @@ Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-java/eclipse-pydev.git
Homepage: http://pydev.org
Package: eclipse-pydev
+Architecture: any
+Depends: eclipse-pydev-data (>= ${source:Version}),
+ ${shlibs:Depends},
+ ${misc:Depends}
+Recommends: gdb
+Description: Python IDE for Eclipse
+ PyDev is a Python IDE for Eclipse, which may be used in Python, Jython and
+ IronPython development.
+ .
+ It comes with many goodies such as:
+ .
+ * Django integration
+ * Code completion
+ * Code completion with auto import
+ * Syntax highlighting
+ * Code analysis
+ * Go to definition
+ * Refactoring
+ * Mark occurrences
+ * Debugger
+ * Remote debugger
+ * Tokens browser
+ * Interactive console
+ * Unittest integration
+ * Code coverage
+
+Package: eclipse-pydev-data
Architecture: all
Depends: eclipse-platform (>= 3.8),
${misc:Depends},
${orbit:Depends}
Recommends: python
Suggests: ipython
-Description: Python IDE for Eclipse
+Description: Python IDE for Eclipse (data)
PyDev is a Python IDE for Eclipse, which may be used in Python, Jython and
IronPython development.
.
@@ -54,10 +81,12 @@ Description: Python IDE for Eclipse
* Interactive console
* Unittest integration
* Code coverage
+ .
+ This package contains the architecture-independent data files of PyDev.
Package: eclipse-mylyn-context-pydev
Architecture: all
-Depends: eclipse-pydev (= ${binary:Version}),
+Depends: eclipse-pydev (>= ${binary:Version}),
eclipse-mylyn,
${misc:Depends},
${orbit:Depends}
diff --git a/debian/eclipse-pydev-data.eh-install b/debian/eclipse-pydev-data.eh-install
new file mode 100644
index 0000000..8dd55cd
--- /dev/null
+++ b/debian/eclipse-pydev-data.eh-install
@@ -0,0 +1 @@
+org.python.pydev.feature pydev
diff --git a/debian/eclipse-pydev-data.lintian-overrides b/debian/eclipse-pydev-data.lintian-overrides
new file mode 100644
index 0000000..6b96ede
--- /dev/null
+++ b/debian/eclipse-pydev-data.lintian-overrides
@@ -0,0 +1,4 @@
+# Won't compile without Java 7
+incompatible-java-bytecode-format
+# Contained in jython package
+package-contains-broken-symlink usr/share/eclipse/dropins/pydev/eclipse/plugins/org.python.pydev.jython_*.dist/Lib ../../../../../../jython/Lib
diff --git a/debian/eclipse-pydev.eh-install b/debian/eclipse-pydev.eh-install
deleted file mode 100644
index 2e01db3..0000000
--- a/debian/eclipse-pydev.eh-install
+++ /dev/null
@@ -1 +0,0 @@
-org.python.pydev.feature
diff --git a/debian/eclipse-pydev.install b/debian/eclipse-pydev.install
new file mode 100644
index 0000000..1bf49e4
--- /dev/null
+++ b/debian/eclipse-pydev.install
@@ -0,0 +1 @@
+attach_linux.so /usr/lib/eclipse-pydev
diff --git a/debian/eclipse-pydev.lintian-overrides b/debian/eclipse-pydev.lintian-overrides
deleted file mode 100644
index 2fdf1a1..0000000
--- a/debian/eclipse-pydev.lintian-overrides
+++ /dev/null
@@ -1,4 +0,0 @@
-# Won't compile without Java 7
-eclipse-pydev: incompatible-java-bytecode-format
-# Contained in jython package
-eclipse-pydev: package-contains-broken-symlink usr/share/eclipse/dropins/pydev/eclipse/plugins/org.python.pydev.jython_*.dist/Lib ../../../../../../jython/Lib
diff --git a/debian/patches/fix-attach-so-path.patch b/debian/patches/fix-attach-so-path.patch
new file mode 100644
index 0000000..6713af2
--- /dev/null
+++ b/debian/patches/fix-attach-so-path.patch
@@ -0,0 +1,31 @@
+From: Jakub Adam <jakub.adam at ktknet.cz>
+Date: Fri, 26 Sep 2014 22:46:51 +0200
+Subject: fix-attach-so-path
+
+---
+ .../pysrc/pydevd_attach_to_process/add_code_to_python_process.py | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/plugins/org.python.pydev/pysrc/pydevd_attach_to_process/add_code_to_python_process.py b/plugins/org.python.pydev/pysrc/pydevd_attach_to_process/add_code_to_python_process.py
+index d2ca18d..81ea3b1 100644
+--- a/plugins/org.python.pydev/pysrc/pydevd_attach_to_process/add_code_to_python_process.py
++++ b/plugins/org.python.pydev/pysrc/pydevd_attach_to_process/add_code_to_python_process.py
+@@ -409,8 +409,7 @@ def run_python_code_linux(pid, python_code, connect_debugger_tracing=False, show
+
+ print('Attaching with arch: %s'% (arch,))
+
+- target_dll = os.path.join(filedir, 'attach_linux_%s.so' % suffix)
+- target_dll = os.path.normpath(target_dll)
++ target_dll = os.path.normpath('/usr/lib/eclipse-pydev/attach_linux.so')
+ if not os.path.exists(target_dll):
+ raise RuntimeError('Could not find dll file to inject: %s' % target_dll)
+
+@@ -436,8 +435,6 @@ def run_python_code_linux(pid, python_code, connect_debugger_tracing=False, show
+
+ cmd.extend(["--eval-command='set scheduler-locking off'"]) # If on we'll deadlock.
+
+- cmd.extend(["--eval-command='set architecture %s'" % arch])
+-
+ cmd.extend([
+ "--eval-command='call dlopen(\"%s\", 2)'" % target_dll,
+ "--eval-command='call DoAttach(%s, \"%s\", %s)'" % (
diff --git a/debian/patches/series b/debian/patches/series
index a6d95f9..b75f513 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@ add-orbit-dependencies.patch
remove-windows-specific-code.patch
no-e4.patch
remove-winp-usage.patch
+fix-attach-so-path.patch
diff --git a/debian/rules b/debian/rules
index 13b60df..c39d4ec 100755
--- a/debian/rules
+++ b/debian/rules
@@ -11,13 +11,20 @@ BUILD_ID:=dist
fi
dh $@ --with eclipse-helper
+override_dh_auto_build-arch:
+ mkdir debian/tmp
+ g++ -shared $$CPPFLAGS $$CXXFLAGS $$LDFLAGS -fPIC -nostartfiles -o attach_linux.so \
+ plugins/org.python.pydev/pysrc/pydevd_attach_to_process/linux/attach_linux.c
+
+override_jh_compilefeatures-arch:
+
override_jh_compilefeatures-indep:
- jh_compilefeatures --build-opts="-DjavacTarget=1.7 -DjavacSource=1.7 -DbuildId=$(BUILD_ID) -DforceContextQualifier=$(BUILD_ID)"
+ jh_compilefeatures -i --build-opts="-DjavacTarget=1.7 -DjavacSource=1.7 -DbuildId=$(BUILD_ID) -DforceContextQualifier=$(BUILD_ID)"
override_jh_installeclipse:
jh_installeclipse
- find debian/eclipse-pydev/usr/share/eclipse/dropins -type f -iregex '.*/LICENSE\(.txt\)?' -delete
- PYSRC_DIR=debian/eclipse-pydev/usr/share/eclipse/dropins/pydev/eclipse/plugins/org.python.pydev_*/pysrc; \
+ find debian/eclipse-pydev-data/usr/share/eclipse/dropins -type f -iregex '.*/LICENSE\(.txt\)?' -delete
+ PYSRC_DIR=debian/eclipse-pydev-data/usr/share/eclipse/dropins/pydev/eclipse/plugins/org.python.pydev_*/pysrc; \
rm -r $$PYSRC_DIR/.project \
$$PYSRC_DIR/.pydevproject \
$$PYSRC_DIR/.settings \
@@ -25,8 +32,8 @@ override_jh_installeclipse:
$$PYSRC_DIR/test*
override_dh_link:
- JYTHON_BUNDLE=$$(basename $$(find debian/eclipse-pydev -type d -name org.python.pydev.jython_*)); \
- dh_link -peclipse-pydev /usr/share/jython/Lib \
+ JYTHON_BUNDLE=$$(basename $$(find debian/eclipse-pydev-data -type d -name org.python.pydev.jython_*)); \
+ dh_link -peclipse-pydev-data /usr/share/jython/Lib \
/usr/share/eclipse/dropins/pydev/eclipse/plugins/$$JYTHON_BUNDLE/Lib
override_dh_auto_clean:
@@ -34,6 +41,7 @@ override_dh_auto_clean:
if [ -f build.xml.unused ]; then \
mv build.xml.unused build.xml; \
fi
+ rm -f attach_linux.so
get-orig-source:
debian/fetch-pydev.sh
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/eclipse-pydev.git
More information about the pkg-java-commits
mailing list