[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