debian package for newLisp

Started by Dmi, August 05, 2005, 01:47:39 PM

Previous topic - Next topic

nigelbrown

#45
1.Binary from dmi site - deb for etch 9.0.20 won't install on 6.06 using gdebi due to "Error: Dependency is not satisfiable: libc6". libc6 2.3.6 is installed according to Synaptic Package Manager

Dmi's deb has in control:

Package: newlisp

Version: 9.0.20

Section: optional

Priority: optional

Architecture: i386

Depends: libc6 (>= 2.3.6-6), libncurses5 (>= 5.4-5), libreadline5 (>= 5.2)

Suggests: wish

Installed-Size: 1640

Maintainer: Dmitry Chernyak <losthost>

Description: newLISP is a LISP like, general purpose scripting language

 newLISP is a scripting language for developing web applications and

 programs in general and in the domains of artificial intelligence (AI)

 and statistics.

Mine has:

Package: newlisp

Version: 9.0.20

Section: optional

Priority: optional

Architecture: i386

Depends: libc6 (>= 2.3.6-6), libncurses5 (>= 5.4-5), libreadline5 (>= 5.2)

Suggests: wish

Installed-Size: 1640

Maintainer: Dmitry Chernyak <losthost>

Description: newLISP is a LISP like, general purpose scripting language

 newLISP is a scripting language for developing web applications and

 programs in general and in the domains of artificial intelligence (AI)

 and statistics.



so can't see the difference re libc6 - but newlisp viewed in synaptic says depend is libc6 >=2.3.4-1?

 See my built 6.06 deb at http://users.cyberone.com.au/nbrown/newlisp/newlisp_9.0.20_i386.deb">http://users.cyberone.com.au/nbrown/new ... 0_i386.deb">http://users.cyberone.com.au/nbrown/newlisp/newlisp_9.0.20_i386.deb

. I redownloaded Dmi's and got same error.



2.Build from source builds on 6.06 (see below), installs with gdebi without complaint, and runs:

nigel@nigel-ubuntu:~/newlisp-9.0.20$ newlisp

newLISP v.9.0.20 on Linux, execute 'newlisp -h' for more info.



> (exit)

nigel@nigel-ubuntu:~/newlisp-9.0.20$ newlisp-tk

(newlisp-tk comes up fine and can launch manual and tk manual)



Nigel





build:

nigel@nigel-ubuntu:~/newlisp-9.0.20$ fakeroot dpkg-buildpackage dpkg-buildpackage: source package is newlisp

dpkg-buildpackage: source version is 9.0.20

dpkg-buildpackage: source changed by Dmitry Chernyak <dmi>

dpkg-buildpackage: host architecture i386

 debian/rules clean

dh_testdir

dh_testroot

rm -f build-stamp configure-stamp

# Add here commands to clean up after the build process.

/usr/bin/make clean

make[1]: Entering directory `/home/nigel/newlisp-9.0.20'

rm *~ *.bak *.o *.obj *.map core *.tgz TEST

rm: cannot remove `*~': No such file or directory

rm: cannot remove `*.bak': No such file or directory

rm: cannot remove `*.o': No such file or directory

rm: cannot remove `*.obj': No such file or directory

rm: cannot remove `*.map': No such file or directory

rm: cannot remove `core': No such file or directory

rm: cannot remove `*.tgz': No such file or directory

rm: cannot remove `TEST': No such file or directory

make[1]: [clean] Error 1 (ignored)

rm newlisp-tk/*~ doc/*~ util/*~ examples/*~ modules/*~

rm: cannot remove `newlisp-tk/*~': No such file or directory

rm: cannot remove `doc/*~': No such file or directory

rm: cannot remove `util/*~': No such file or directory

rm: cannot remove `examples/*~': No such file or directory

rm: cannot remove `modules/*~': No such file or directory

make[1]: [clean] Error 1 (ignored)

rm newlisp-tk/*.bak doc/*.bak util/*.bak examples/*.bak modules/*.bak

rm: cannot remove `newlisp-tk/*.bak': No such file or directory

rm: cannot remove `doc/*.bak': No such file or directory

rm: cannot remove `util/*.bak': No such file or directory

rm: cannot remove `examples/*.bak': No such file or directory

rm: cannot remove `modules/*.bak': No such file or directory

make[1]: [clean] Error 1 (ignored)

chmod 644 *.h *.c *.lsp Makefile makefile*

chmod: cannot access `*.lsp': No such file or directory

make[1]: [clean] Error 1 (ignored)

chmod 755 build configure examples/*

chmod 644 doc/* modules/*.lsp examples/*.lsp examples/*.html

chmod 644 newlisp-tk/*

chmod 755 newlisp-tk/*.bat newlisp-tk/*.tcl

chmod 755 newlisp-tk/images

chmod 644 newlisp-tk/images/*

make[1]: Leaving directory `/home/nigel/newlisp-9.0.20'

rm newlisp

rm: cannot remove `newlisp': No such file or directory

make: [clean] Error 1 (ignored)

dh_clean

 dpkg-source -b newlisp-9.0.20

dpkg-source: building newlisp in newlisp_9.0.20.tar.gz

dpkg-source: building newlisp in newlisp_9.0.20.dsc

 debian/rules build

dh_testdir

# Add here commands to configure the package.

touch configure-stamp

dh_testdir

# Add here commands to compile the package.

/usr/bin/make linux_debian

make[1]: Entering directory `/home/nigel/newlisp-9.0.20'

make -f makefile_debian

make[2]: Entering directory `/home/nigel/newlisp-9.0.20'

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX newlisp.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-symbol.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-math.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-list.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-liststr.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-string.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-filesys.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-sock.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-import.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-xml.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-web.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-matrix.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX nl-debug.c

gcc -Wall -pedantic -Wno-uninitialized -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DLINUX pcre.c

gcc newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o nl-sock.o nl-import.o nl-xml.o nl-web.o nl-matrix.o nl-debug.o pcre.o -g -lm -ldl -lreadline -lncurses -o newlisp

strip newlisp

make[2]: Leaving directory `/home/nigel/newlisp-9.0.20'

make[1]: Leaving directory `/home/nigel/newlisp-9.0.20'

#docbook-to-man debian/newlisp.sgml > newlisp.1

touch build-stamp

 debian/rules binary

dh_testdir

dh_testroot

dh_clean -k

dh_installdirs

# Add here commands to install the package into debian/newlisp.

/usr/bin/awk -f debian/makedocs Makefile >debian/docs

/usr/bin/make install DESTDIR=/home/nigel/newlisp-9.0.20/debian/newlisp

make[1]: Entering directory `/home/nigel/newlisp-9.0.20'

install -d /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/doc/newlisp

install -d /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/newlisp-tk/images

install -m 755 newlisp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/bin/newlispinstall -m 755 newlisp-tk/newlisp-tk.tcl /home/nigel/newlisp-9.0.20/debian/newlisp/usr/bin/newlisp-tk

install -m 644 init.lsp.example /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/init.lsp.example

install -m 644 examples/httpd-conf.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/httpd-conf.lsp

install -m 644 examples/link.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/link.lsp

install -m 644 examples/tcltk.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/tcltk.lsp

install -m 755 examples/syntax.cgi /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/syntax.cgi

install -m 755 examples/newlispdoc /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/newlispdoc

install -m 644 modules/mysql.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/mysql.lsp

install -m 644 modules/mysql5.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/mysql5.lsp

install -m 644 modules/pop3.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/pop3.lsp

install -m 644 modules/ftp.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/ftp.lsp

install -m 644 modules/infix.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/infix.lsp

install -m 644 modules/smtp.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/smtp.lsp

install -m 644 modules/odbc.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/odbc.lsp

install -m 644 modules/cgi.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/cgi.lsp

install -m 644 modules/sqlite3.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/sqlite3.lsp

install -m 644 modules/stat.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/stat.lsp

install -m 644 modules/gmp.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/gmp.lsp

install -m 644 modules/postscript.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/postscript.lsp

install -m 644 modules/unix.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/unix.lsp

install -m 644 modules/zlib.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/zlib.lsp

install -m 644 doc/COPYING /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/doc/newlisp/COPYING

install -m 644 doc/CREDITS /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/doc/newlisp/CREDITS

install -m 644 doc/newlisp_manual.html /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/doc/newlisp/newlisp_manual.html

install -m 644 doc/newlisp_index.html /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/doc/newlisp/newlisp_index.html

install -m 644 doc/manual_frame.html /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/doc/newlisp/manual_frame.html

install -m 644 doc/CodePatterns.html /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/doc/newlisp/CodePatterns.html

install -m 644 doc/newLISPdoc.html /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/doc/newlisp/newLISPdoc.html

install -m 644 doc/newLISP-9.1-Release.html /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/doc/newlisp/newLISP-9.1-Release.html

install -m 644 newlisp-tk/newlisp-tk.html /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/doc/newlisp/newlisp-tk.html

install -m 644 newlisp-tk/*.lsp /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/newlisp-tk/

install -m 644 newlisp-tk/images/* /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/newlisp/newlisp-tk/images/

install -m 644 doc/newlisp.1 /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/man/man1/newlisp.1

install -m 644 doc/newlisp-tk.1 /home/nigel/newlisp-9.0.20/debian/newlisp/usr/share/man/man1/newlisp-tk.1

make[1]: Leaving directory `/home/nigel/newlisp-9.0.20'

cp examples/newlispdoc /home/nigel/newlisp-9.0.20/debian/newlisp/usr/bin

dh_testdir

dh_testroot

dh_installchangelogs

dh_installdocs

dh_installexamples

dh_installman

dh_link

dh_strip

dh_compress

dh_fixperms

dh_installdeb

dh_shlibdeps

dh_gencontrol

dh_md5sums

dh_builddeb

dpkg-deb: building package `newlisp' in `../newlisp_9.0.20_i386.deb'.

 dpkg-genchanges

dpkg-genchanges: including full source code in upload

dpkg-buildpackage: full upload; Debian-native package (full source is included)

nigel@nigel-ubuntu:~/newlisp-9.0.20$

Lutz

#46
Following Dmitry's request newlispdoc will be part of packaged distributions starting newLISP version 9.1.



Syntax highlighting is now integrated into newlispdoc, so only newlispdoc needs to be installed in /usr/bin/newlispdoc. syntax.cgi is still in the source distribution to be installed in web sites for syntax highlighting, but needs not to be present in a normal binary install of newLISP.



The main newLISPdoc documentation has been changed to reflect this and there is also a man page. Comments, corrections and improvements to the text are greatly appreciated.



http://newlisp.org/newlispdoc-man-page.txt">http://newlisp.org/newlispdoc-man-page.txt

http://newlisp.org/newLISPdoc.html">http://newlisp.org/newLISPdoc.html





Lutz



ps: so far I have only tested the new newlispdoc on Mac OS X and FreeBSD



also: I have not had a chance yet to try Dmitry's or Nigel's Debian package, but assume that result will be similar on UBUNTO 6.10 as on UBUNTU 6.06. It seems that the package must be done on UBUNTU if submitted to UBUNTU because of the libc issues reported by Nigel.

Lutz

#47
I finally tried out the debian packages from Dmitry and Nigel (made with Dmitry's script).



Both packages install and run fin on UBUNTU 6.10, allthoug an error message appears for libreadline, everyting installs fine and runs:


/Desktop> sudo dpkg -i newlisp_9.0.20_i386.deb
Selecting previously deselected package newlisp.
(Reading database ... 92590 files and directories currently installed.)
Unpacking newlisp (from newlisp_9.0.20_i386.deb) ...
dpkg: dependency problems prevent configuration of newlisp:
newlisp depends on libreadline5 (>= 5.2); however:
 Version of libreadline5 on system is 5.1-7build1.
dpkg: error processing newlisp (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
newlisp

/usr/share/newlisp> ls
cgi.lsp httpd-conf.lsp link.lsp newlispdoc pop3.lsp sqlite3.lsp tcltk.lsp
ftp.lsp infix.lsp mysql5.lsp newlisp-tk postscript.lsp stat.lsp unix.lsp
gmp.lsp init.lsp.example mysql.lsp odbc.lsp smtp.lsp syntax.cgi zlib.lsp

/usr/share/newlisp> cd /usr/share/doc/newlisp
/usr/share/doc/newlisp> ls
changelog.gz copyright newLISP-9.1-Release.html newlisp_manual.html
CodePatterns.html CREDITS.gz newLISPdoc.html newlisp-tk.html
COPYING.gz manual_frame.html newlisp_index.html
/usr/share/doc/newlisp>


I also tried making a package with checkinstall of tomorrows newLISP 9.1 version., and it also made a fine package, but with the files CREDITS and COPYING in unzipped state, which I like more. Can this be done on Dmitry's script too?



As mentioned in my previous post 9.1. will also contain /usr/bin/newlispdoc.



Lutz

Dmi

#48
Quote from: "Lutz"I finally tried out the debian packages from Dmitry and Nigel (made with Dmitry's script).



Both packages install and run fin on UBUNTU 6.10, allthoug an error message appears for libreadline, everyting installs fine and runs:
dpkg: dependency problems prevent configuration of newlisp:
newlisp depends on libreadline5 (>= 5.2); however:
 Version of libreadline5 on system is 5.1-7build1.


The only way to avoid this, which I know at present - is to rebuild from source on the system of your choice.


Quote from: "Lutz"I also tried making a package with checkinstall of tomorrows newLISP 9.1 version., and it also made a fine package, but with the files CREDITS and COPYING in unzipped state, which I like more. Can this be done on Dmitry's script too?

Compression is made by dh_compress according to common Debian policy.

Fixed as you request. I think this isn't really conflict with policy.
WBR, Dmi

Lutz

#49
Thanks Dmitry, I will release version 9.1 tonight and there will also be packages for UBUNTU. They install and run without any messages on UBUNTU 6.06-Dapper and 6.10-Etchy and with readline support.



You could offer Debian packages on your site which install/run on original Debian. If the gz-form is required for Debian then of course it must stay, if it does not violate their policy then rather the unzipped versions, but you decide.



Lutz

Dmi

#50
Release 9.1 is available as final proposed version as source and debian binaries.

All looking fine to me including COPYING and CREDITS.

I'll investigate the way to officially register this as debian package.



Any suggestions are welcome as usual :-)
WBR, Dmi

nigelbrown

#51
My reading of Ubuntu packaging list was that if something is debian accepted then it can be included in Ubuntu by submitting 'bug report' that it's not in Ubuntu but in debian. This is possibily best way to Ubuntu



Nigel

Lutz

#52
Thanks Dmitry, the package installs with a libc 6.0 warning message on UBUNTU 6.06 when using dpkg but the installed files look fine and newLISP runs.



But using gdebi on UBUNTU will not allow installation because of the library issue. So it looks like for UBUNTU we definetely have to go with the package made for UBUNTU, which is Ok. I wonder how other Debian based distributions behave, i.e. SUSE.



Also to Nigel: on my UBUNTU 6.06 no installation suggestion comes up when using Firefox, this seems to be an advanced 6.10 feature targeted for UBUNTU 7.0. Lets hope it will work on future UBUNTU stable distributions, because it certainly is a nice feature.



Lutz

nigelbrown

#53
Hi Lutz
Quote from: "Lutz"Thanks Dmitry, the package installs with a libc 6.0 warning message on UBUNTU 6.06 when using dpkg but the installed files look fine and newLISP runs.

On my Ubuntu 6.06 install as updated by 21Feb updates I install the deb using gdebi with no warnings at all.


Quote from: "Lutz"Also to Nigel: on my UBUNTU 6.06 no installation suggestion comes up when using Firefox, this seems to be an advanced 6.10 feature targeted for UBUNTU 7.0. Lets hope it will work on future UBUNTU stable distributions, because it certainly is a nice feature.

Lutz

I still get the offer to install in 6.06 (updated as above) using firefox 1.5. Click on the deb gives offer to open with gdebi and when this is accepted the file downloads and gdebi offers to install it. Accepting offer has gdebi install with no libc warning.

Maybe you need to update your 6.06 using update manager? Do you have gdebi?



In summary newlisp installs fine on both my 6.06 and 6.10 systems.



Nigel

Lutz

#54
May be the difference is, that I am using the life CD without ever really installing it. But Firefox 1.6 and gebi are included in the life mode. Firefox doesn't offer me the install options, but I click on the package after downoading and then  gdbi comes up.



Lutz

Dmi

#55
The debian package was modified to better satisfy the standards.

in brief:

- COPYING will not be included in the binary tree, because the using of "copyright" is suggested (according to lintian check, shown below), and because each debian installation has a copy of GPLv2 in standard place.

- tcltk.lsp will be installed as executable (another lintian warning)

- sqlite3.lsp has a corrected path to libsqlie3.so for compatibility to sqlite3 debian package.

- package versioning and build structure is modified to meet debian standard for non-native debian packages.



Below is the reference output of "lintian" - debian package policy checker, started on old newlisp deb package:
QuoteW: newlisp: extra-license-file usr/share/doc/newlisp/COPYING

N:

N:   All license information should be collected in the debian/copyright

N:   file. This usually makes it unnecessary for the package to install

N:   this information in other places as well.

N:  

N:   Refer to Policy Manual, section 12.5 for details.

N:

W: newlisp: script-not-executable ./usr/share/newlisp/tcltk.lsp

N:

N:   This file starts with the #! sequence that marks interpreted scripts,

N:   but it is not executable.


And finally, newlisp 9.1.1 was packaged and is available from my repository.
WBR, Dmi

Lutz

#56
Quote- COPYING will not be included in the binary tree, because the using of "copyright" is suggested (according to lintian check, shown below), and because each debian


Yes, leave it out.


Quote- tcltk.lsp will be installed as executable (another lintian warning)


Yes, should be installed with executable permissions.


Quote- sqlite3.lsp has a corrected path to libsqlie3.so for compatibility to sqlite3 debian package.


No, absolutely not, sqlite3.lsp should stay with the same path and name. libsqlite2.so would suggest a binary shared library. sqlite3.lsp is an included piece of newLISP code, just like mysql.lsp. Please do not change the path or name of sqlite3.lsp.



Lutz

Dmi

#57
Quote from: "Lutz"
Quote- sqlite3.lsp has a corrected path to libsqlie3.so for compatibility to sqlite3 debian package.


No, absolutely not, sqlite3.lsp should stay with the same path and name. libsqlite2.so would suggest a binary shared library. sqlite3.lsp is an included piece of newLISP code, just like mysql.lsp. Please do not change the path or name of sqlite3.lsp.



Lutz

Oh, no! Probably I was wrong with my english :-)

sqlite3.lsp itself is resists at usual place of course.

I just have corrected the path to "libsqlite3.so" shared library _in_the_code_ of sqlite3.lsp. Because no one in debian community has libsqlite3.so in /usr/local/lib ;-)
WBR, Dmi

Lutz

#58
Oh, sorry I misunderstood, yes of course change to the correct path for libsqlite3.so. Many OSs, including MacOS X now install libsqlite3.dylib in /usr/lib by default.



For the next version I will move to the new library detection method, as used in crypto.lsp http://newlisp.org/code/modules/crypto.lsp.src.html">http://newlisp.org/code/modules/crypto.lsp.src.html this way we can accomodate several paths and make it right for everybody.



Lutz

Dmi

#59
Good improvement! Thanks!



So, I planing to send official request for including the package in the debian tree next week.
WBR, Dmi