#2 Test gating with 5.5.2.11
Closed 10 months ago by ppisar. Opened 10 months ago by ppisar.
rpms/ ppisar/lpsolve rawhide  into  rawhide

file added
+1
@@ -0,0 +1,1 @@ 

+ 1

file modified
+1
@@ -1,1 +1,2 @@ 

  lp_solve_5.5.2.0_source.tar.gz

+ /lp_solve_5.5.2.11_source.tar.gz

file added
+7
@@ -0,0 +1,7 @@ 

+ --- !Policy

+ product_versions:

+   - fedora-*

+ decision_context: bodhi_update_push_stable

+ subject_type: koji_build

+ rules:

+   - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

@@ -0,0 +1,46 @@ 

+ From 11c6cd491bd192e0e3fef9fd2652297797e0fef1 Mon Sep 17 00:00:00 2001

+ From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>

+ Date: Thu, 8 Jun 2023 16:11:00 +0200

+ Subject: [PATCH] Link a tool to a shared library

+ MIME-Version: 1.0

+ Content-Type: text/plain; charset=UTF-8

+ Content-Transfer-Encoding: 8bit

+ 

+ Build first lpsolve55 (the library), then lp_solve (the tool). It will

+ save time and space.

+ 

+ Signed-off-by: Petr Písař <ppisar@redhat.com>

+ ---

+  lp_solve/ccc | 7 +++++--

+  1 file changed, 5 insertions(+), 2 deletions(-)

+ 

+ diff --git a/lp_solve/ccc b/lp_solve/ccc

+ index f86be81..d3aaba8 100644

+ --- a/lp_solve/ccc

+ +++ b/lp_solve/ccc

+ @@ -1,5 +1,5 @@

+  :

+ -src='../lp_MDO.c ../shared/commonlib.c ../colamd/colamd.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c lp_solve.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'

+ +src='../lp_MDO.c ../shared/commonlib.c ../colamd/colamd.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'

+  c=${CC:-cc}

+  CFLAGS=${CFLAGS:--O3}

+  

+ @@ -34,11 +34,14 @@ rm "$MYTMP"/isnan.c "$MYTMP"/isnan >/dev/null 2>&1

+  rmdir "$MYTMP"

+  

+  def=

+ +LIBS=

+  if [ "$PLATFORM" = "SCO_UNIX" ]

+  then CFLAGS="${CFLAGS} -O0"

+       def='-dy -K PIC -DLLONG=long'

+       dl=-ldl

+  else dl=-ldl

+ +     LIBS="-L../lpsolve55/bin/$PLATFORM -llpsolve55"

+ +     src=''

+  fi

+  

+ -$c $CFLAGS -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src $LDFLAGS -o bin/$PLATFORM/lp_solve $math $dl

+ +$c $CFLAGS -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src lp_solve.c $LDFLAGS -o bin/$PLATFORM/lp_solve $math $dl $LIBS

+ -- 

+ 2.40.1

+ 

@@ -0,0 +1,82 @@ 

+ From dc262b45ae8c63be64fa38c7db0296e0d3889895 Mon Sep 17 00:00:00 2001

+ From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>

+ Date: Wed, 7 Jun 2023 17:30:18 +0200

+ Subject: [PATCH] Port to C99

+ MIME-Version: 1.0

+ Content-Type: text/plain; charset=UTF-8

+ Content-Transfer-Encoding: 8bit

+ 

+ Port the ccc build configuration detection tool to C99 by

+ specifying the return type of main as int.

+ 

+ Submitted upstream:

+ 

+   <https://groups.google.com/g/lp_solve/c/WjVf0dxrwfQ/m/rKMwf57tAwAJ>

+ 

+ Signed-off-by: Petr Písař <ppisar@redhat.com>

+ ---

+  bfp/bfp_LUSOL/ccc | 2 +-

+  lp_solve/ccc      | 4 ++--

+  lpsolve55/ccc     | 4 ++--

+  3 files changed, 5 insertions(+), 5 deletions(-)

+ 

+ diff --git a/bfp/bfp_LUSOL/ccc b/bfp/bfp_LUSOL/ccc

+ index 86b274c..a349345 100644

+ --- a/bfp/bfp_LUSOL/ccc

+ +++ b/bfp/bfp_LUSOL/ccc

+ @@ -7,7 +7,7 @@ c=${CC:-cc}

+  >/tmp/platform.c

+  echo '#include <stdlib.h>'>>/tmp/platform.c

+  echo '#include <stdio.h>'>>/tmp/platform.c

+ -echo 'main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>/tmp/platform.c

+ +echo 'int main(void){printf("ux%d", (int) (sizeof(void *)*8));}'>>/tmp/platform.c

+  $c $CFLAGS /tmp/platform.c $LDFLAGS -o /tmp/platform

+  PLATFORM=`/tmp/platform`

+  rm /tmp/platform /tmp/platform.c >/dev/null 2>&1

+ diff --git a/lp_solve/ccc b/lp_solve/ccc

+ index 83f21df..2e99f39 100644

+ --- a/lp_solve/ccc

+ +++ b/lp_solve/ccc

+ @@ -8,7 +8,7 @@ MYTMP=`mktemp -d "${TMPDIR:-/tmp}"/lp_solve_XXXXXX`

+  >"$MYTMP"/platform.c

+  echo '#include <stdlib.h>'>>"$MYTMP"/platform.c

+  echo '#include <stdio.h>'>>"$MYTMP"/platform.c

+ -echo 'main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>"$MYTMP"/platform.c

+ +echo 'int main(void){printf("ux%d", (int) (sizeof(void *)*8));}'>>"$MYTMP"/platform.c

+  $c $CFLAGS "$MYTMP"/platform.c $LDFLAGS -o "$MYTMP"/platform

+  PLATFORM=`"$MYTMP"/platform`

+  rm "$MYTMP"/platform "$MYTMP"/platform.c >/dev/null 2>&1

+ @@ -22,7 +22,7 @@ math=-lm

+  echo '#include <stdio.h>'>>"$MYTMP"/isnan.c

+  echo '#include <stdlib.h>'>>"$MYTMP"/isnan.c

+  echo '#include <math.h>'>>"$MYTMP"/isnan.c

+ -echo 'main(){isnan(0.0);return 0;}'>>"$MYTMP"/isnan.c

+ +echo 'int main(void){isnan(0.0);return 0;}'>>"$MYTMP"/isnan.c

+  $c $CFLAGS "$MYTMP"/isnan.c $LDFLAGS -o "$MYTMP"/isnan $math >/dev/null 2>&1

+  if [ $? = 0 ]

+  then NOISNAN=

+ diff --git a/lpsolve55/ccc b/lpsolve55/ccc

+ index 49cd7dc..59c720f 100644

+ --- a/lpsolve55/ccc

+ +++ b/lpsolve55/ccc

+ @@ -8,7 +8,7 @@ MYTMP=`mktemp -d "${TMPDIR:-/tmp}"/lp_solve_XXXXXX`

+  >"$MYTMP"/platform.c

+  echo '#include <stdlib.h>'>>"$MYTMP"/platform.c

+  echo '#include <stdio.h>'>>"$MYTMP"/platform.c

+ -echo 'main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>"$MYTMP"/platform.c

+ +echo 'int main(void){printf("ux%d", (int) (sizeof(void *)*8));}'>>"$MYTMP"/platform.c

+  $c $CFLAGS "$MYTMP"/platform.c $LDFLAGS -o "$MYTMP"/platform

+  PLATFORM=`"$MYTMP"/platform`

+  rm "$MYTMP"/platform "$MYTMP"/platform.c >/dev/null 2>&1

+ @@ -20,7 +20,7 @@ mkdir bin bin/$PLATFORM >/dev/null 2>&1

+  echo '#include <stdio.h>'>>"$MYTMP"/isnan.c

+  echo '#include <stdlib.h>'>>"$MYTMP"/isnan.c

+  echo '#include <math.h>'>>"$MYTMP"/isnan.c

+ -echo 'main(){isnan(0.0);return 0;}'>>"$MYTMP"/isnan.c

+ +echo 'int main(void){isnan(0.0);return 0;}'>>"$MYTMP"/isnan.c

+  $c $CFLAGS "$MYTMP"/isnan.c $LDFLAGS -o "$MYTMP"/isnan $math >/dev/null 2>&1

+  if [ $? = 0 ]

+  then NOISNAN=

+ -- 

+ 2.40.1

+ 

@@ -0,0 +1,193 @@ 

+ From f29ae58ddc93d86504c7e646ec5e73befb36594c Mon Sep 17 00:00:00 2001

+ From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>

+ Date: Wed, 7 Jun 2023 17:16:50 +0200

+ Subject: [PATCH] Respect CC, CFLAGS, and LDFLAGS

+ MIME-Version: 1.0

+ Content-Type: text/plain; charset=UTF-8

+ Content-Transfer-Encoding: 8bit

+ 

+ The distributions use these environment variables to compile their

+ software uniformly. This patch modifies the ccc scripts to respect

+ them.

+ 

+ Signed-off-by: Petr Písař <ppisar@redhat.com>

+ ---

+  bfp/bfp_LUSOL/ccc | 20 +++++++++-----------

+  demo/ccc          |  7 +++----

+  lp_solve/ccc      | 13 ++++++-------

+  lpsolve55/ccc     | 14 ++++++--------

+  4 files changed, 24 insertions(+), 30 deletions(-)

+ 

+ diff --git a/bfp/bfp_LUSOL/ccc b/bfp/bfp_LUSOL/ccc

+ index 754738b..3ec9596 100644

+ --- a/bfp/bfp_LUSOL/ccc

+ +++ b/bfp/bfp_LUSOL/ccc

+ @@ -1,37 +1,35 @@

+  :

+  src='../../shared/commonlib.c ../../colamd/colamd.c lp_LUSOL.c ../../lp_utils.c ../../shared/myblas.c LUSOL/lusol.c'

+  

+ -c=cc

+ +c=${CC:-cc}

+ +CFLAGS=${CFLAGS:--O3}

+  

+  #determine platform (32/64 bit)

+  >/tmp/platform.c

+  echo '#include <stdlib.h>'>>/tmp/platform.c

+  echo '#include <stdio.h>'>>/tmp/platform.c

+  echo 'main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>/tmp/platform.c

+ -$c /tmp/platform.c -o /tmp/platform

+ +$c $CFLAGS /tmp/platform.c $LDFLAGS -o /tmp/platform

+  PLATFORM=`/tmp/platform`

+  rm /tmp/platform /tmp/platform.c >/dev/null 2>&1

+  

+  mkdir bin bin/$PLATFORM >/dev/null 2>&1

+  

+ -opts='-O3'

+ -#opts=''

+ -

+  if [ "$PLATFORM" = "RS6000" ]

+ -then opts="$opts"

+ +then

+       so="-bM:SRE -bE:../bfp_lpsolve.exp"

+       #so="$so -e _nostart"

+       so="$so -bnoentry"

+  elif [ "$PLATFORM" = "SCO_UNIX" ]

+  then

+ -     opts='-O0'

+       so="-G -dy"

+ -     opts="$opts -DNOLONGLONG $so"

+ -else opts="$opts -fpic"

+ +     CFLAGS="${CFLAGS} -O0 -DNOLONGLONG $so"

+ +else

+ +     CFLAGS="${CFLAGS} -fpic"

+       so="-shared -Wl,-Bsymbolic -Wl,-soname,libbfp_LUSOL.so"

+  fi

+  

+ -$c -s -c $opts -I.. -I../.. -I../../colamd -I../../shared -ILUSOL -I. -DRoleIsExternalInvEngine -DINVERSE_ACTIVE=INVERSE_LUSOL $src

+ -$c $so -o bin/$PLATFORM/libbfp_LUSOL.so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm -ldl

+ +$c $CFLAGS -c -I.. -I../.. -I../../colamd -I../../shared -ILUSOL -I. -DRoleIsExternalInvEngine -DINVERSE_ACTIVE=INVERSE_LUSOL $src

+ +$c $LDFLAGS $so -o bin/$PLATFORM/libbfp_LUSOL.so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm -ldl

+  

+  rm *.o >/dev/null

+ diff --git a/demo/ccc b/demo/ccc

+ index 38713a1..154b898 100644

+ --- a/demo/ccc

+ +++ b/demo/ccc

+ @@ -1,5 +1,6 @@

+  src='../lp_MDO.c ../shared/commonlib.c ../colamd/colamd.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'

+ -c=cc

+ +c=${CC:-cc}

+ +CFLAGS=${CFLAGS:--O3}

+  

+  math=-lm

+  

+ @@ -10,6 +11,4 @@ then def='-dy -K PIC -DNOLONGLONG'

+  else dl=-ldl

+  fi

+  

+ -opts='-O3'

+ -

+ -$c -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine demo.c $src -o demo $math $dl

+ +$c $CFLAGS -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine demo.c $src $LDFLAGS -o demo $math $dl

+ diff --git a/lp_solve/ccc b/lp_solve/ccc

+ index bd5a938..fbb67d9 100644

+ --- a/lp_solve/ccc

+ +++ b/lp_solve/ccc

+ @@ -1,6 +1,7 @@

+  :

+  src='../lp_MDO.c ../shared/commonlib.c ../colamd/colamd.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c lp_solve.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'

+ -c=cc

+ +c=${CC:-cc}

+ +CFLAGS=${CFLAGS:--O3}

+  

+  MYTMP=`mktemp -d "${TMPDIR:-/tmp}"/lp_solve_XXXXXX`

+  

+ @@ -9,7 +10,7 @@ MYTMP=`mktemp -d "${TMPDIR:-/tmp}"/lp_solve_XXXXXX`

+  echo '#include <stdlib.h>'>>"$MYTMP"/platform.c

+  echo '#include <stdio.h>'>>"$MYTMP"/platform.c

+  echo 'main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>"$MYTMP"/platform.c

+ -$c "$MYTMP"/platform.c -o "$MYTMP"/platform

+ +$c $CFLAGS "$MYTMP"/platform.c $LDFLAGS -o "$MYTMP"/platform

+  PLATFORM=`"$MYTMP"/platform`

+  rm "$MYTMP"/platform "$MYTMP"/platform.c >/dev/null 2>&1

+  

+ @@ -23,23 +24,21 @@ echo '#include <stdio.h>'>>"$MYTMP"/isnan.c

+  echo '#include <stdlib.h>'>>"$MYTMP"/isnan.c

+  echo '#include <math.h>'>>"$MYTMP"/isnan.c

+  echo 'main(){isnan(0.0);return 0;}'>>"$MYTMP"/isnan.c

+ -$c "$MYTMP"/isnan.c -o "$MYTMP"/isnan $math >/dev/null 2>&1

+ +$c $CFLAGS "$MYTMP"/isnan.c $LDFLAGS -o "$MYTMP"/isnan $math >/dev/null 2>&1

+  if [ $? = 0 ]

+  then NOISNAN=

+  else NOISNAN=-DNOISNAN

+  fi

+  rm "$MYTMP"/isnan.c "$MYTMP"/isnan >/dev/null 2>&1

+  

+ -opts='-O3'

+ -

+  rmdir "$MYTMP"

+  

+  def=

+  if [ "$PLATFORM" = "SCO_UNIX" ]

+ -then opts='-O0'

+ +then CFLAGS="${CFLAGS} -O0"

+       def='-dy -K PIC -DLLONG=long'

+       dl=-ldl

+  else dl=-ldl

+  fi

+  

+ -$c -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $opts $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src -o bin/$PLATFORM/lp_solve $math $dl

+ +$c $CFLAGS -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src $LDFLAGS -o bin/$PLATFORM/lp_solve $math $dl

+ diff --git a/lpsolve55/ccc b/lpsolve55/ccc

+ index 999f5f6..49cd7dc 100644

+ --- a/lpsolve55/ccc

+ +++ b/lpsolve55/ccc

+ @@ -1,6 +1,6 @@

+  :

+  src='../lp_MDO.c ../shared/commonlib.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../colamd/colamd.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'

+ -c=cc

+ +c=${CC:-cc}

+  

+  MYTMP=`mktemp -d "${TMPDIR:-/tmp}"/lp_solve_XXXXXX`

+  

+ @@ -9,7 +9,7 @@ MYTMP=`mktemp -d "${TMPDIR:-/tmp}"/lp_solve_XXXXXX`

+  echo '#include <stdlib.h>'>>"$MYTMP"/platform.c

+  echo '#include <stdio.h>'>>"$MYTMP"/platform.c

+  echo 'main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>"$MYTMP"/platform.c

+ -$c "$MYTMP"/platform.c -o "$MYTMP"/platform

+ +$c $CFLAGS "$MYTMP"/platform.c $LDFLAGS -o "$MYTMP"/platform

+  PLATFORM=`"$MYTMP"/platform`

+  rm "$MYTMP"/platform "$MYTMP"/platform.c >/dev/null 2>&1

+  

+ @@ -21,7 +21,7 @@ echo '#include <stdio.h>'>>"$MYTMP"/isnan.c

+  echo '#include <stdlib.h>'>>"$MYTMP"/isnan.c

+  echo '#include <math.h>'>>"$MYTMP"/isnan.c

+  echo 'main(){isnan(0.0);return 0;}'>>"$MYTMP"/isnan.c

+ -$c "$MYTMP"/isnan.c -o "$MYTMP"/isnan $math >/dev/null 2>&1

+ +$c $CFLAGS "$MYTMP"/isnan.c $LDFLAGS -o "$MYTMP"/isnan $math >/dev/null 2>&1

+  if [ $? = 0 ]

+  then NOISNAN=

+  else NOISNAN=-DNOISNAN

+ @@ -39,16 +39,14 @@ else dl=-ldl

+       so=y

+  fi

+  

+ -opts='-O3'

+ -

+ -$c -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src

+ +$c $CFLAGS -fPIC -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src

+  ar rv bin/$PLATFORM/liblpsolve55.a `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'`

+  ranlib bin/$PLATFORM/liblpsolve55.a

+  

+  if [ "$so" != "" ]

+  then

+ -  $c -fpic -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $opts $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src

+ -  $c -shared -Wl,-Bsymbolic -Wl,-soname,liblpsolve55.so -o bin/$PLATFORM/liblpsolve55.so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm -ldl

+ +  $c $CFLAGS -fPIC -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src

+ +  $c $LDFLAGS -shared -Wl,-Bsymbolic -Wl,-soname,liblpsolve55.so -o bin/$PLATFORM/liblpsolve55.so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm -ldl

+  fi

+  

+  rm *.o 2>/dev/null

+ -- 

+ 2.40.1

+ 

@@ -1,39 +0,0 @@ 

- --- lp_solve_5.5/lpsolve55/ccc	2018-02-26 09:27:51.074682302 +0000

- +++ lp_solve_5.5/lpsolve55/ccc	2018-02-26 09:36:36.329990782 +0000

- @@ -35,16 +35,14 @@

-       so=y

-  fi

-  

- -opts='-O3'

- -

- -$c -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src

- +$c $CFLAGS -fPIC -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src

-  ar rv bin/$PLATFORM/liblpsolve55.a `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'`

-  ranlib bin/$PLATFORM/liblpsolve55.a

-  

-  if [ "$so" != "" ]

-  then

- -  $c -fpic -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $opts $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src

- -  $c -shared -Wl,-Bsymbolic -Wl,-soname,liblpsolve55.so -o bin/$PLATFORM/liblpsolve55.so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm -ldl

- +  $c $CFLAGS -fPIC -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src

- +  $c $LDFLAGS -shared -Wl,-Bsymbolic -Wl,-soname,liblpsolve55.so -o bin/$PLATFORM/liblpsolve55.so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm -ldl

-  fi

-  

-  rm *.o 2>/dev/null

- --- lp_solve_5.5/lp_solve/ccc	2018-02-26 14:32:54.304981484 +0000

- +++ lp_solve_5.5/lp_solve/ccc	2018-02-26 14:34:03.524750992 +0000

- @@ -28,8 +28,6 @@

-  fi

-  rm /tmp/isnan.c /tmp/isnan >/dev/null 2>&1

-  

- -opts='-O3'

- -

-  def=

-  if [ "$PLATFORM" = "SCO_UNIX" ]

-  then opts='-O0'

- @@ -38,4 +36,4 @@

-  else dl=-ldl

-  fi

-  

- -$c -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $opts $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src -o bin/$PLATFORM/lp_solve $math $dl

- +$c $CFLAGS $LDFLAGS -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I../shared $def $NOISNAN -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src -o bin/$PLATFORM/lp_solve $math $dl

@@ -1,22 +0,0 @@ 

- --- lp_solve_5.5/lpsolve55/ccc

- +++ lp_solve_5.5/lpsolve55/ccc

- @@ -18,7 +18,7 @@

-  echo '#include <stdio.h>'>>/tmp/isnan.c

-  echo '#include <stdlib.h>'>>/tmp/isnan.c

-  echo '#include <math.h>'>>/tmp/isnan.c

- -echo 'main(){isnan(0);}'>>/tmp/isnan.c

- +echo 'main(){isnan(0.0);}'>>/tmp/isnan.c

-  $c /tmp/isnan.c -o /tmp/isnan $math >/dev/null 2>&1

-  if [ $? = 0 ]

-  then NOISNAN=

- --- lp_solve_5.5/lp_solve/ccc

- +++ lp_solve_5.5/lp_solve/ccc

- @@ -20,7 +20,7 @@

-  echo '#include <stdio.h>'>>/tmp/isnan.c

-  echo '#include <stdlib.h>'>>/tmp/isnan.c

-  echo '#include <math.h>'>>/tmp/isnan.c

- -echo 'main(){isnan(0);}'>>/tmp/isnan.c

- +echo 'main(){isnan(0.0);}'>>/tmp/isnan.c

-  $c /tmp/isnan.c -o /tmp/isnan $math >/dev/null 2>&1

-  if [ $? = 0 ]

-  then NOISNAN=

file removed
-51
@@ -1,51 +0,0 @@ 

- Port the ccc build configuration detection tool to C99 by

- specifying the return type of main as int.

- 

- Submitted upstream:

- 

-   <https://groups.google.com/g/lp_solve/c/WjVf0dxrwfQ/m/rKMwf57tAwAJ>

- 

- diff --git a/lp_solve/ccc b/lp_solve/ccc

- index 9b79cea7ee71536c..b1f761aab33345d4 100644

- --- a/lp_solve/ccc

- +++ b/lp_solve/ccc

- @@ -6,7 +6,7 @@ c=$CC

-  >/tmp/platform.c

-  echo '#include <stdlib.h>'>>/tmp/platform.c

-  echo '#include <stdio.h>'>>/tmp/platform.c

- -echo 'main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>/tmp/platform.c

- +echo 'int main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>/tmp/platform.c

-  $c /tmp/platform.c -o /tmp/platform

-  PLATFORM=`/tmp/platform`

-  rm /tmp/platform /tmp/platform.c >/dev/null 2>&1

- @@ -20,7 +20,7 @@ math=-lm

-  echo '#include <stdio.h>'>>/tmp/isnan.c

-  echo '#include <stdlib.h>'>>/tmp/isnan.c

-  echo '#include <math.h>'>>/tmp/isnan.c

- -echo 'main(){isnan(0.0);}'>>/tmp/isnan.c

- +echo 'int main(){isnan(0.0);}'>>/tmp/isnan.c

-  $c /tmp/isnan.c -o /tmp/isnan $math >/dev/null 2>&1

-  if [ $? = 0 ]

-  then NOISNAN=

- diff --git a/lpsolve55/ccc b/lpsolve55/ccc

- index 0470611bc45a851c..ca350f257add7730 100644

- --- a/lpsolve55/ccc

- +++ b/lpsolve55/ccc

- @@ -6,7 +6,7 @@ c=$CC

-  >/tmp/platform.c

-  echo '#include <stdlib.h>'>>/tmp/platform.c

-  echo '#include <stdio.h>'>>/tmp/platform.c

- -echo 'main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>/tmp/platform.c

- +echo 'int main(){printf("ux%d", (int) (sizeof(void *)*8));}'>>/tmp/platform.c

-  $c /tmp/platform.c -o /tmp/platform

-  PLATFORM=`/tmp/platform`

-  rm /tmp/platform /tmp/platform.c >/dev/null 2>&1

- @@ -18,7 +18,7 @@ mkdir bin bin/$PLATFORM >/dev/null 2>&1

-  echo '#include <stdio.h>'>>/tmp/isnan.c

-  echo '#include <stdlib.h>'>>/tmp/isnan.c

-  echo '#include <math.h>'>>/tmp/isnan.c

- -echo 'main(){isnan(0.0);}'>>/tmp/isnan.c

- +echo 'int main(){isnan(0.0);}'>>/tmp/isnan.c

-  $c /tmp/isnan.c -o /tmp/isnan $math >/dev/null 2>&1

-  if [ $? = 0 ]

-  then NOISNAN=

file modified
+37 -13
@@ -1,9 +1,8 @@ 

  Name:       lpsolve

- Version:    5.5.2.0

- Release:    33%{?dist}

+ Version:    5.5.2.11

+ Release:    1%{?dist}

  Summary:    Mixed Integer Linear Programming (MILP) solver

  # bfp/bfp_LUSOL/lp_LUSOL.c:             LGPL-2.1-or-later

- # bfp/bfp_LUSOL/LUSOL/LUSOL_LGPL.txt:   LGLP-2.1 text

  # colamd/colamd.c:  ??? (free with attribution in Matlab)

  #                   Waiting on an identifier

  #                   <https://gitlab.com/fedora/legal/fedora-license-data/-/issues/230>
@@ -21,6 +20,8 @@ 

  # lp_pricePSE.c:    LGPL-2.1-or-later

  # lp_report.c:      LGPL-2.1-or-later

  # lp_rlp.c:         GPL-2.0-or-later WITH Bison-exception-2.2

+ #                   Waiting on an approval

+ #                   <https://gitlab.com/fedora/legal/fedora-license-data/-/issues/232>

  # lp_scale.c:       LGPL-2.1-or-later

  # lp_simplex.c:     LGPL-2.1-or-later

  # lp_SOS.c:         LGPL-2.1-or-later
@@ -32,17 +33,25 @@ 

  License:    LGPL-2.1-or-later AND GPL-2.0-or-later WITH Bison-exception-2.2

  # There is a mailing list at <https://groups.google.com/g/lp_solve>.

  URL:        https://sourceforge.net/projects/lpsolve

+ # A separate documention at

+ # <https://downloads.sourceforge.net/lpsolve/lp_solve_%%{version}_doc.tar.gz>

+ # contains proprietary JavaScript files and javascript trackers.

  Source:     https://downloads.sourceforge.net/lpsolve/lp_solve_%{version}_source.tar.gz

- Patch0:     lpsolve-5.5.0.11.cflags.patch

- Patch1:     lpsolve-5.5.2.0.defines.patch

- Patch2:     read-cc-from-env.patch

- Patch3:     lpsolve-ccc-c99.patch

+ # Use system-wide compiler, compiler and linker flags

+ Patch0:     lp_solve-5.5.2.11-Respect-CC-CFLAGS-and-LDFLAGS.patch

+ # Port to C99, GCC 14 will remove support for previous standards, proposed to

+ # an upstream <https://groups.google.com/g/lp_solve/c/WjVf0dxrwfQ/m/rKMwf57tAwAJ>.

+ Patch1:     lp_solve-5.5.2.11-Port-to-C99.patch

+ # Do not duplicate library code in the the tool

+ Patch2:     lp_solve-5.5.2.11-Link-a-tool-to-a-shared-library.patch

  BuildRequires:  bash

  # binutils for ar and ranlib

  BuildRequires:  binutils

  BuildRequires:  coreutils

  BuildRequires:  gcc

  BuildRequires:  sed

+ # Tests:

+ BuildRequires:  grep

  

  %description

  Mixed Integer Linear Programming (MILP) solver lpsolve solves pure linear,
@@ -60,15 +69,16 @@ 

  %autosetup -p1 -n lp_solve_5.5

  sed -n -e '/Authors:/,/http:\/\/www\.cise\.ufl/p' < colamd/colamd.c \

      > colamd/colamd_license

+ chmod -x lp_lib.h

  

  %build

  %set_build_flags

  pushd lpsolve55

- sh ccc

+ sh -x ccc

  rm bin/ux*/liblpsolve55.a

  popd

  pushd lp_solve

- sh ccc

+ sh -x ccc

  popd

  

  %install
@@ -80,18 +90,32 @@ 

  install -p -m 644 \

          lp*.h %{buildroot}%{_includedir}/lpsolve

  

+ %check

+ LP_PATH="$(echo lpsolve55/bin/ux*)"

+ # Verify lp_solve tool works

+ echo 'max: x; x < 42;' | \

+     LD_LIBRARY_PATH="$LP_PATH" ./lp_solve/bin/ux*/lp_solve -S1 | \

+     grep -e ': 42\.0*$'

+ # Verify a demo code is buildable

+ %set_build_flags

+ ${CC} ${CFLAGS} -I. demo/demo.c ${LDFLAGS} -L"$LP_PATH" -llpsolve55

+ LD_LIBRARY_PATH="$LP_PATH" ./a.out </dev/null

+ 

  %files

- %license bfp/bfp_LUSOL/LUSOL/LUSOL_LGPL.txt colamd/colamd_license

- # LUSOL_Overview.txt is identical to LUSOL-overview.txt

- %doc README.txt ./bfp/bfp_LUSOL/LUSOL/LUSOL_README.txt ./bfp/bfp_LUSOL/LUSOL/LUSOL-overview.txt

+ %license colamd/colamd_license

+ %doc README.txt

  %{_bindir}/lp_solve

  %{_libdir}/liblpsolve55.so

  

  %files devel

- # TODO: Package a separate documention from lp_solve_%%{version}_doc.tar.gz.

+ %doc demo/demo.c

  %{_includedir}/lpsolve

  

  %changelog

+ * Wed Jun 07 2023 Petr Pisar <ppisar@redhat.com> - 5.5.2.11-1

+ - 5.5.2.11 bump

+ - Link lp_solve tool dynamically

+ 

  * Wed Jun 07 2023 Petr Pisar <ppisar@redhat.com> - 5.5.2.0-33

  - Modernize a spec file

  - Partially correct a license tag

file added
+5
@@ -0,0 +1,5 @@ 

+ summary: Sanity tests

+ discover:

+     how: fmf

+ execute:

+     how: tmt

file removed
-22
@@ -1,22 +0,0 @@ 

- diff -ruN lp_solve_5.5.orig/lp_solve/ccc lp_solve_5.5/lp_solve/ccc

- --- lp_solve_5.5.orig/lp_solve/ccc	2020-12-08 12:24:15.118953722 +0100

- +++ lp_solve_5.5/lp_solve/ccc	2020-12-08 12:49:39.661428497 +0100

- @@ -1,6 +1,6 @@

-  :

-  src='../lp_MDO.c ../shared/commonlib.c ../colamd/colamd.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c lp_solve.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'

- -c=cc

- +c=$CC

-  

-  #determine platform (32/64 bit)

-  >/tmp/platform.c

- diff -ruN lp_solve_5.5.orig/lpsolve55/ccc lp_solve_5.5/lpsolve55/ccc

- --- lp_solve_5.5.orig/lpsolve55/ccc	2020-12-08 12:24:15.118953722 +0100

- +++ lp_solve_5.5/lpsolve55/ccc	2020-12-08 12:40:22.677752522 +0100

- @@ -1,6 +1,6 @@

-  :

-  src='../lp_MDO.c ../shared/commonlib.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../colamd/colamd.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'

- -c=cc

- +c=$CC

-  

-  #determine platform (32/64 bit)

-  >/tmp/platform.c

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- 167c0fb4ab178e0b7ab50bf0a635a836  lp_solve_5.5.2.0_source.tar.gz

+ SHA512 (lp_solve_5.5.2.11_source.tar.gz) = 24f5a14d0c77a71e1ab3f46e08ea3f85f2f116ae2d3d2c54acddc5fb138251ba258240284060827e1b8b7ef15d580acecc242329ec775802fe5e8028407499bc

file added
+8
@@ -0,0 +1,8 @@ 

+ summary: Building a lp_solve application

+ description:

+     Check that a lp_solve application can be compiled, linked and executed.

+ component: lpsolve

+ require:

+     - gcc

+     - lpsolve-devel

+ test: gcc -I/usr/include/lpsolve /usr/share/doc/lpsolve-devel/demo.c -llpsolve55 && ./a.out </dev/null

file added
+9
@@ -0,0 +1,9 @@ 

+ summary: lp_solve tool

+ description:

+     Check that lp_solve tool can be executed and solve a simple problem.

+ component: lpsolve

+ require:

+     - grep

+     - lpsolve

+ test: |

+     echo 'max: x; x < 42;' | lp_solve -S1 | grep -e ': 42\.0*$'