public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Yaakov Selkowitz <yselkowitz@cygwin.com>
To: cygwin-apps@cygwin.com
Subject: Re: [ACTION REQUIRED] ARCH=noarch uploads with cygport 0.22.0
Date: Wed, 11 May 2016 21:31:00 -0000	[thread overview]
Message-ID: <d81e7938-fd8e-e2ba-9dfb-99c8f9654297@cygwin.com> (raw)
In-Reply-To: <3ed4eead-2ae8-7afe-eefd-f239395bc721@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 538 bytes --]

On 2016-05-11 16:02, Marco Atzeri wrote:
> On 11/05/2016 22:48, Yaakov Selkowitz wrote:
>> But what about the following?
>>
>> octave-nan
>> octave-octcdf
>> octave-stk
>> octave-tsa
>
> /usr/lib/octave/packages/
> contains the arch specific in this case in mex variant.

Oops, it seems cygport knows nothing of this, only of .oct.  Could you 
please try rebuilding one of those with the following patch to cygport 
and see if it behaves properly (.mex are executable, stripped, and 
binary dependencies listed in requires:)?

-- 
Yaakov

[-- Attachment #2: 0001-Handle-Octave-.mex-extensions-as-DLLs.patch --]
[-- Type: text/plain, Size: 5422 bytes --]

From 9f9128505f8f8dbaf5880648b4842118331a0242 Mon Sep 17 00:00:00 2001
From: Yaakov Selkowitz <yselkowi@redhat.com>
Date: Wed, 11 May 2016 16:26:21 -0500
Subject: [PATCH] Handle Octave .mex extensions as DLLs

---
 cygclass/octave.cygclass | 7 ++++---
 lib/pkg_info.cygpart     | 5 +++--
 lib/src_postinst.cygpart | 9 +++++----
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/cygclass/octave.cygclass b/cygclass/octave.cygclass
index 789c81a..9fac2ed 100644
--- a/cygclass/octave.cygclass
+++ b/cygclass/octave.cygclass
@@ -27,7 +27,8 @@
 #  DESCRIPTION
 #  GNU Octave is a programming language primarily designed for numerical
 #  computations, and is mostly compatible with MATLAB.  It is extendible
-#  with both scripts (.m) and dynamic modules (.oct, but are ordinary DLLs).
+#  with both scripts (.m) and dynamic modules (.oct or .mex, but are ordinary
+#  DLLs).
 #
 #  This cygclass provides definitions for packages dependent on Octave.
 #  REQUIRES
@@ -47,7 +48,7 @@ OCTAVE=/usr/bin/octave
 
 #****d* octave.cygclass/MKOCTFILE
 #  DESCRIPTION
-#  Absolute path to the Octave dynamic module (.oct) compiler/linker.
+#  Absolute path to the Octave dynamic module (.oct/.mex) compiler/linker.
 #****
 MKOCTFILE=/usr/bin/mkoctfile
 
@@ -113,6 +114,6 @@ OCTAVE_M_SITEDIR=$(${OCTAVE_CONFIG} --m-site-dir)
 
 #****d* octave.cygclass/OCTAVE_OCT_SITEDIR
 #  DESCRIPTION
-#  Installation path for third-party Octave dynamic modules (.oct).
+#  Installation path for third-party Octave dynamic modules (.oct/.mex).
 #****
 OCTAVE_OCT_SITEDIR=$(${OCTAVE_CONFIG} --oct-site-dir)
diff --git a/lib/pkg_info.cygpart b/lib/pkg_info.cygpart
index 8fbf41f..7b2be88 100644
--- a/lib/pkg_info.cygpart
+++ b/lib/pkg_info.cygpart
@@ -167,8 +167,9 @@ __list_deps() {
 
 	# *.so: Apache2 modules, OCaml stublibs, Ruby modules
 	# *.oct: Octave modules
+	# *.mex: Octave MATLAB-compatible MEX modules
 	# *.cmxs: OCaml natdynlink modules: http://gallium.inria.fr/~frisch/ndl.txt
-	alldeps+=" "$(LC_ALL=C find "${@//^_^/ }" -type f -executable \( -name '*.exe' -o -name '*.dll' -o -name '*.so' -o -name '*.oct' -o -name '*.cmxs' \) \
+	alldeps+=" "$(LC_ALL=C find "${@//^_^/ }" -type f -executable \( -name '*.exe' -o -name '*.dll' -o -name '*.so' -o -name '*.oct' -o -name '*.mex' -o -name '*.cmxs' \) \
 		-exec ${OBJDUMP} -p '{}' + 2>/dev/null | grep "DLL Name:" | sort -u | \
 		cut -d ' ' -f 3 | xargs -r which || true)
 
@@ -177,7 +178,7 @@ __list_deps() {
 			${deps_prune} \
 			-o -path 'usr/share/gems/*' -prune \
 			-o -path 'usr/share/help/*' -prune \
-			-o -type f -executable ! -name '*.exe' ! -name '*.dll' ! -name '*.so' ! -name '*.cmxs' ! -name '*.oct' -print \
+			-o -type f -executable ! -name '*.exe' ! -name '*.dll' ! -name '*.so' ! -name '*.cmxs' ! -name '*.oct' ! -name '*.mex' -print \
 			| xargs -r sed -sne '1{/^#!/s|/env *|/|g;s|^#! *\([^ ]*\).*|\1|gp}' \
 			| sort -u)
 
diff --git a/lib/src_postinst.cygpart b/lib/src_postinst.cygpart
index 10d4174..abaca5d 100644
--- a/lib/src_postinst.cygpart
+++ b/lib/src_postinst.cygpart
@@ -820,10 +820,11 @@ __prepstrip() {
 
 	# *.so: Apache2 modules, OCaml stublibs, Ruby modules
 	# *.oct: Octave modules
+	# *.mex: Octave MATLAB-compatible MEX modules
 	# *.cmxs: OCaml natdynlink modules: http://gallium.inria.fr/~frisch/ndl.txt
 	find * -type f ! -name '*.dll.a' ! -name '*.lib' \
-		-a \( -name '*.a' -o -name '*.o' -o -name '*.dll' -o -name '*.exe' -o -name '*.so' -o -name '*.so.*' -o -name '*.oct' -o -name '*.cmxs' \) -print0 \
-		-o -type f -executable ! -name '*.dll' ! -name '*.exe' ! -name '*.so' ! -name '*.so.[0-9]*' ! -name '*.oct' ! -name '*.cmxs' ! -name '*.a' ! -name '*.la' ! -name '*.lib' ! -name '*.exe.manifest' ! -name '*.exe.config' ! -name '*.dll.config' ! -name '*.mdb' ! -name '*-config' ! -name '*.csh' ! -name '*.sh' ! -name '*.fish' ! -name '*.pl' ! -name '*.pm' ! -name '*.py' ! -name '*.rb' ! -name '*.tcl' -print0 | \
+		-a \( -name '*.a' -o -name '*.o' -o -name '*.dll' -o -name '*.exe' -o -name '*.so' -o -name '*.so.*' -o -name '*.oct' -o -name '*.mex' -o -name '*.cmxs' \) -print0 \
+		-o -type f -executable ! -name '*.dll' ! -name '*.exe' ! -name '*.so' ! -name '*.so.[0-9]*' ! -name '*.oct' ! -name '*.mex' ! -name '*.cmxs' ! -name '*.a' ! -name '*.la' ! -name '*.lib' ! -name '*.exe.manifest' ! -name '*.exe.config' ! -name '*.dll.config' ! -name '*.mdb' ! -name '*-config' ! -name '*.csh' ! -name '*.sh' ! -name '*.fish' ! -name '*.pl' ! -name '*.pm' ! -name '*.py' ! -name '*.rb' ! -name '*.tcl' -print0 | \
 	while read -d $'\0' exe
 	do
 		# assure this is actually a binary object
@@ -909,7 +910,7 @@ __prepstrip() {
 		x86_64-*-cygwin*)
 			case "${exe##*/}" in
 			cygwin1.dll|cyglsa64.dll|cyglto_plugin.dll) ;;
-			*.dll|*.so|*.oct|*.cmxs)
+			*.dll|*.so|*.oct|*.mex|*.cmxs)
 				if ${objdump} -p "${exe}" | sed -ne '/^ImageBase/s/.*\t/0x/gp' | gawk '{ exit (strtonum($1) <= 0x400000000 ? 0 : 1) }'
 				then
 					warning "${exe} was not linked with -Wl,--enable-auto-image-base"
@@ -922,7 +923,7 @@ __prepstrip() {
 		case ${CHOST} in
 		*-*-cygwin*|*-*-mingw*|*-*-msys*)
 			case "${exe##*/}" in
-			*.dll|*.exe|*.sfx|*.so|*.so.[0-9]*|*.oct|*.cmxs) ;;
+			*.dll|*.exe|*.sfx|*.so|*.so.[0-9]*|*.oct|*.mex|*.cmxs) ;;
 			# make sure this isn't some oddly named DLL
 			*)	if LC_ALL=C ${objdump} -f "${exe}" | grep -Eq '^start address 0x(0000000[01])?00401[0-9a-e][0-9a-e]0'
 				then
-- 
2.8.0


  reply	other threads:[~2016-05-11 21:31 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-10 22:11 Yaakov Selkowitz
2016-05-11  5:07 ` Marco Atzeri
2016-05-11  6:17   ` Yaakov Selkowitz
2016-05-11 16:26     ` David Stacey
2016-05-11 20:15       ` Yaakov Selkowitz
2016-05-17 22:07         ` David Stacey
2016-05-11 17:56     ` Marco Atzeri
2016-05-11 20:08       ` Yaakov Selkowitz
2016-05-11  6:12 ` Thomas Wolff
2016-05-11 15:31   ` Yaakov Selkowitz
2016-05-11  8:15 ` Andrew Schulman
2016-05-11 15:26   ` Yaakov Selkowitz
2016-05-11 16:36 ` Eric Blake
2016-05-11 17:59   ` Yaakov Selkowitz
2016-05-11 17:26 ` Ken Brown
2016-05-11 20:35   ` Yaakov Selkowitz
2016-05-11 21:54     ` Ken Brown
2016-05-11 22:17       ` Yaakov Selkowitz
2016-05-11 22:30         ` Ken Brown
2016-05-12  1:59           ` Yaakov Selkowitz
2016-05-12  2:00     ` Yaakov Selkowitz
2016-06-06 15:28       ` Ken Brown
2016-06-06 16:54         ` Yaakov Selkowitz
2016-05-11 18:38 ` Marco Atzeri
2016-05-11 20:48   ` Yaakov Selkowitz
2016-05-11 21:02     ` Marco Atzeri
2016-05-11 21:31       ` Yaakov Selkowitz [this message]
2016-06-06 16:58         ` Yaakov Selkowitz
2016-06-07 11:23           ` Marco Atzeri
2016-06-07 21:44             ` Yaakov Selkowitz
2016-06-07 23:41               ` Marco Atzeri
2016-06-09 18:37                 ` Marco Atzeri
2016-05-12  2:07   ` Yaakov Selkowitz
2016-05-12 10:45 ` Adam Dinwoodie
2016-05-12 15:10   ` Yaakov Selkowitz
2016-05-12 12:09 ` Achim Gratz
2016-05-12 15:10   ` Yaakov Selkowitz
2016-05-21 16:43   ` Achim Gratz
2016-05-26 19:45     ` Yaakov Selkowitz
2016-05-26 20:02       ` Achim Gratz
2016-05-13 11:12 ` JonY
2016-05-13 14:41   ` Yaakov Selkowitz
2016-05-18 15:15 ` Corinna Vinschen
2016-05-18 16:06   ` Yaakov Selkowitz
2016-06-06 22:24 ` Yaakov Selkowitz
2016-06-06 22:39   ` Ken Brown
2016-06-06 23:59     ` Ken Brown
2016-06-07 15:16       ` Yaakov Selkowitz
2016-06-06 23:25   ` Warren Young
2016-06-07  8:23   ` Jari Aalto
2016-06-07 10:02   ` Corinna Vinschen
2016-06-09  5:12     ` [ACTION REQUIRED] ARCH=noarch uploads with cygport 0.22.0 (+ python-feedparser) Jari Aalto
2016-06-11  7:15       ` [ACTION REQUIRED] ARCH=noarch uploads with cygport 0.22.0 (+ python-logilab-*) Jari Aalto
2016-06-07 10:07   ` [ACTION REQUIRED] ARCH=noarch uploads with cygport 0.22.0 Marco Atzeri
2016-06-07 13:58   ` Eric Blake
2016-06-07 15:14     ` Yaakov Selkowitz
2016-06-07 15:34       ` Eric Blake
2016-06-07 19:59   ` Achim Gratz
2016-06-07 21:30     ` Yaakov Selkowitz
2016-06-08 18:51     ` Achim Gratz
2016-06-10 14:11   ` Jon Turney
2016-07-08  5:21     ` Yaakov Selkowitz
2016-06-28 19:38 ` Dr. Volker Zell
2016-06-28 19:49   ` Dr. Volker Zell
2016-07-07  6:18     ` Yaakov Selkowitz
2019-06-14 15:36 ` Moving packages between arch and noarch Jon Turney
2019-06-18 17:53   ` Achim Gratz
2019-07-25 18:14     ` [GOLDSTAR] " Achim Gratz
2019-07-25 19:58       ` Andrew Schulman via cygwin-apps

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d81e7938-fd8e-e2ba-9dfb-99c8f9654297@cygwin.com \
    --to=yselkowitz@cygwin.com \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).