newLISP Fan Club

Forum => newLISP and the O.S. => Topic started by: Dmi on August 05, 2005, 01:47:39 PM

Title: debian package for newLisp
Post by: Dmi on August 05, 2005, 01:47:39 PM
You can find "debian" directory for packaging newLisp to .deb at

//http://en.feautec.pp.ru/SiteNews/NewLispDebian

Instructions about packaging are in the package's README.Debian file
Title:
Post by: statik on August 09, 2005, 10:31:20 AM
Score.
Title:
Post by: Dmi on August 11, 2006, 03:38:00 PM
Debian apt repository now available:

For sarge:
deb http://en.feautec.pp.ru/debian/ sarge main
deb-src http://en.feautec.pp.ru/debian/ sarge main

For etch:
deb http://en.feautec.pp.ru/debian/ etch main
deb-src http://en.feautec.pp.ru/debian/ etch main

Current version is 8.9.3.
Title: package updated
Post by: Dmi on September 04, 2006, 02:10:31 AM
now "util" directory (with newlisp.vim) is included under /usr/share/newlisp/doc
Title:
Post by: Lutz on September 06, 2006, 04:20:03 PM
Just wondering ... is a binary Debian package usable in Ubuntu Linux? or would it have to be made on Ubuntu Linux? or does Ubuntu have their own package format?



Ubuntu Linux seems to be very popular, it would be great to have a package or package maker script for this?



Lutz
Title:
Post by: Dmi on September 07, 2006, 01:03:31 AM
The deb format is the same.

I suspect, that "etch" version can be safely used uder Ubuntu, but we need a volunteer to test.

Rebuilding from source package should be ok anyway (very simple procedure).



If anyone have a questions about Debian/Ubuntu/Knoppix I am ready to help.
Title:
Post by: nigelbrown on January 05, 2007, 10:31:33 PM
I would like to help to get newlisp into Ubuntu and as a first try on Ubuntu made a .deb with checkinstall run on Ubuntu 6.06 LTS Desktop ( .deb is linked to on this page http://users.cyberone.com.au/nbrown/newlisp/rpms.html ).



I looked at the process for package inclusion in Ubuntu discussed here https://wiki.ubuntu.com/MOTU/Packages/New . From what is said here https://wiki.ubuntu.com/MOTU/Packages/Candidates if a package is alredy in Debian then is could be requested across into Ubuntu with a bug report. So the question is should the aim be for Ubuntu or into Debian first? Dmi - what do you think? If Ubuntu is the primary target then listing newlisp with supporting reasons for inclusion on https://wiki.ubuntu.com/MOTU/Packages/Candidates appears the first step.



I'll be running Ubuntu 6.06 LTS and latest stable (eg 6.10 currently) Desktops on Intel 32bit platforms so I can test or build. To approach Member status for a developer requires a significant involvement (2 months+ of demonstrated contributions) which is beyond me at this time so advocacy of newlisp to Ubuntu packagers with offer of as much help to them as possible from the newlisp community seems to be the way to go.



Nigel
Title:
Post by: Lutz on January 06, 2007, 06:37:35 AM
There is somebody who has submitted a newLISP package to FreeBSD. I think 'Stanislav Sedov' is his name. Pehaps he has some ideas.



The fact that newLISP is submitted/accepted to FreeBSD ma be another good reason by itself for acceptance to other OS's and distributions. It went there through several iterations of submission making changes etc.  See this link:



http://portsmon.freebsd.org/portoverview.py?category=lang&portname=newlisp



The 9.1 release is scheduled for February 15th, so even if it takes 2 months, it would still come close to the release date.



Meanwhile I updated the http://newlisp.org/index.cgi?page=Downloads page to reflect the availability of an Ubuntu package.



Lutz



ps: other reasons packagers might like to hear is: (1) small size (2) good documentation -> fits into Ubuntu philosophy
Title:
Post by: radix42 on January 06, 2007, 11:12:08 PM
The sarge .deb file of 9.0.0 linked from the newlisp downloads page installs on Ubuntu 6.10 Intel.  The etch .deb won't install because it needs a slightly newer readline5 version.
Title:
Post by: Dmi on January 08, 2007, 12:25:17 AM
Hello guys! Happy New Year!



I'm slightly far away from my computers at holidays...



Nigel, I think that newlisp is definitely needed in Debian, because many servers are running it now (and many my servers too :-).



Unfortunately, I'm afraid that in case of bug reports I'll not be able to strictly maintain the package alone because of slightly unstable (but not bad :-) my current pesonal situation.



Does "dpkg-buildpackage" on my source package makes the Ubuntu binary well? If so, we can try to share the responsibility. In this case I'll try to submit newlisp into a Debian.
Title:
Post by: Lutz on January 08, 2007, 05:43:24 AM
Meanwhile I also was able to build a debian package on Ubuntu using the fantastic Checkinstall program Nigel recommended. Trying Dmity's script it could not find the command 'fakeroot'.



As things are so easy I will produce for each mayor release a Debian package made on the latest version on Ubuntu and with a standardized format for the descriptive fields. As Dmitry pointed out it should run on all other Debian system as they use the same libraries.



I would be glad if one of you or both could help to submit it to Ubuntu and Debian.



Lutz
Title:
Post by: nigelbrown on January 08, 2007, 06:06:33 AM
Hi Lutz and Dmi



I am happy to coordinate advocacy of newlisp for Ubuntu inclusion - I would see the steps as

1.get dpkg-buildpackage doing Ubuntu packages - checkinstall works well but may not be able to provide all the expected ubuntu details

2. put a newlisp section into the https://wiki.ubuntu.com/MOTU/Packages/Candidates page (simultaneous with 1.)

3. liaise with/help any Ubuntu MOTU (defined at https://wiki.ubuntu.com/MOTU) to complete inclusion into Ubuntu (this could lead me towards MOTU I expect)



If newlisp was also progressed toward debian inclusion and got into debian first then moving it across to Ubuntu would follow.



I'll look at dpkg-buildpackage and fakeroot on Ubuntu and report back (anyone else wanting to do that feel free to also try )



Nigel
Title:
Post by: Lutz on January 08, 2007, 07:00:00 AM
Thanks Nigel, this is the best approach



Lutz
Title:
Post by: Lutz on January 08, 2007, 04:47:39 PM
... also, very welcome to newLISP radix42/David



Lutz
Title:
Post by: nigelbrown on January 22, 2007, 04:42:13 AM
Quote from: "Dmi"
Does "dpkg-buildpackage" on my source package makes the Ubuntu binary well? If so, we can try to share the responsibility. In this case I'll try to submit newlisp into a Debian.

How do you use dpkg-buildpackage ? The man pages for it weren't enough for me. I've downloaded your source package and extracted it - where now? as I'm new to building a deb. (suggest where to find goods docs on doing it if explanation isn't appropriate here)



I tried the 9.0.16 etch binary deb on Ubuntu but it won't install as it wants readline >=5.2 while ubuntu 6.10 has 5.1-7 as standard.



Nigel
Title:
Post by: Dmi on January 24, 2007, 07:04:40 AM
Now descend into it:

# cd newlisp-x.y.z



and simply run

# dpkg-buildpackage



It will build *.deb in the upper directory.

It may not found some development packages (such as libncurses-dev etc.) - if so, it stops and suggest you to install them - simply do

# apt-get install something



Of course, more careful is to build under a regular user:

$ fakeroot dpkg-buildpackage

instead of

# dpkg-buildpackage

as above



Write me if you'll got a questions
Title:
Post by: Lutz on January 24, 2007, 07:50:37 AM
Currently


make linux

makes newLISP without readline support, which is not nice but many Linux distributions do not have libreadline installed.



My question is: does the Debian apt-get install resolve missing libraries on the system. For example, if somebody does


sudo apt-get install newlisp

and the Debian newlisp package he is installing was compiled with libreadline, will it automatically also install libreadline if required? If not will it tell the user and will it tell what to do about it?



If this is so, then I would supply a: makefile_debian and in the package maker: rules file we could replace;


$(MAKE) linux

with


$(MAKE) debian

The second question is: how would I link, this way:


$(CC) $(OBJS) -g -lm -ldl -lreadline -ltermcap -o newlisp

or would I use this way:


$(CC) $(OBJS) -g -lm -ldl -lreadline -lncurses -o newlisp

I found on that some systems want also -ltermcap and yet others want -lncurses. Would that situation be the same on all Debian systems? If not, what would be the situation on UBUNTU Linux?



Lutz
Title:
Post by: nigelbrown on January 24, 2007, 12:47:49 PM
A deb build on Ubuntu 6.10 desktop is shown below. I note that libreadline seems to be widely used in Ubuntu as asking to uninstall libreadline offers to uninstall a large number of application packages.

Once deb was built I didn't know how to apt-get from a local directory so in Nautilus file browser I opened it with gdebi via right click and newlisp installed fine viz: running newlisp from my home built deb installed:

 nigel@N3000-UBUNTU:~$ newlisp

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



>



(ta-da)

but wish not standard in Ubuntu I guess

nigel@N3000-UBUNTU:~$ newlisp-tk

exec: 3: wish: not found

nigel@N3000-UBUNTU:~$



nigel@N3000-UBUNTU:~$ sudo apt-get install wish

Password:

Reading package lists... Done

Building dependency tree      

Reading state information... Done

Package wish is a virtual package provided by:

  tk8.0-ja 8.0.4jp1.3-15

  tk8.0 8.0.5-11

  tk8.4 8.4.12-1

  tk8.3 8.3.5-6ubuntu1

You should explicitly select one to install.

E: Package wish has no installation candidate

nigel@N3000-UBUNTU:~$ sudo apt-get install tk8.3



...

and now:

nigel@N3000-UBUNTU:~$ newlisp-tk

newLISP v.9016 listening on port 64001

Connected to 127.0.0.1 on Thu Jan 25 06:41:37 2007



Regards

Nigel





PS build output for checking by Dmi:



nigel@N3000-UBUNTU:~/deb/newlisp-9.0.16$  fakeroot dpkg-buildpackage

dpkg-buildpackage: source package is newlisp

dpkg-buildpackage: source version is 9.0.16

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

dpkg-buildpackage: host architecture i386

dpkg-buildpackage: source version without epoch 9.0.16

 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/deb/newlisp-9.0.16'

rm *~ *.bak *.o *.obj *.map core *.tgz  *.tds *.ils *.ilf *.ild *.ilc *.TR2 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 `*.tds': No such file or directory

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

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

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

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

rm: cannot remove `*.TR2': 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/deb/newlisp-9.0.16'

rm newlisp

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

make: [clean] Error 1 (ignored)

dh_clean

 dpkg-source -b newlisp-9.0.16

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

dpkg-source: building newlisp in newlisp_9.0.16.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.

/bin/cp makefile_linux makefile_linux.orig

/bin/cp makefile_linux_readline makefile_linux

/usr/bin/make linux

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

make -f makefile_linux

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

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/deb/newlisp-9.0.16'

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

#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/instprep Makefile >Makefile.debian

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

find doc|grep -v '^doc$' >>debian/docs

/usr/bin/make -f Makefile.debian install DESTDIR=/home/nigel/deb/newlisp-9.0.16/debian/newlisp

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

install -d /home/nigel/deb/newlisp-9.0.16/debian/newlisp/usr/share/doc/newlisp

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

install -m 755 newlisp /home/nigel/deb/newlisp-9.0.16/debian/newlisp/usr/bin/newlisp

install -m 755 newlisp-tk/newlisp-tk.tcl /home/nigel/deb/newlisp-9.0.16/debian/newlisp/usr/bin/newlisp-tk

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

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

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

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

install -m 644 examples/syntax.cgi /home/nigel/deb/newlisp-9.0.16/debian/newlisp/usr/share/newlisp/syntax.cgi

install -m 644 examples/newlispdoc /home/nigel/deb/newlisp-9.0.16/debian/newlisp/usr/share/newlisp/newlispdoc

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

cp util/* /home/nigel/deb/newlisp-9.0.16/debian/newlisp/usr/share/doc/newlisp/util

cp examples/* /home/nigel/deb/newlisp-9.0.16/debian/newlisp/usr/share/doc/newlisp/examples

cp examples/newlispdoc /home/nigel/deb/newlisp-9.0.16/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

dpkg-gencontrol: warning: unknown substitution variable ${misc:Depends}

dh_md5sums

dh_builddeb

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

tar: -: file name read contains nul character

 dpkg-genchanges

dpkg-genchanges: including full source code in upload

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

nigel@N3000-UBUNTU:~/deb/newlisp-9.0.16$
Title:
Post by: Dmi on January 25, 2007, 02:00:44 AM
Quotedmi@stone:newlisp$ apt-cache show newlisp

Package: newlisp

Status: install ok installed

Priority: optional

Section: optional

Installed-Size: 1904

Maintainer: Dmitry Chernyak <losthost>

Architecture: i386

Version: 9.0.18

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

Suggests: wish

Description: Lisp-like general purpose scripting language

Currently package has dependencies as in "Depends:" above.

(note, that for versions prior to 9.0.18 for "sarge" there was a bug, which had bloking readline. fixed.)



Theese dependencies are generated automatically by Debian build scripts from linker info, manual work isn't required.

"apt" will automatically install them.



The tcl/tk "wish" is the other case, because it is optional (many systems needed newlisp but aren't require wish). Now I has include it into "Suggests:" tag. It will be shown by "apt-cache show newlisp", by "aptitude" and similar tools.
Title:
Post by: Dmi on January 25, 2007, 03:37:52 AM
Currently, debian package is builded against a  makefile_linux_readline on a build phase with
       /bin/cp makefile_linux makefile_linux.orig
        /bin/cp makefile_linux_readline makefile_linux
        $(MAKE) linux

and then some corrections are made in install phase:

- Debian build system needs a way to install all files relatively to $(DESTDIR) make's variable. So transformations are applied to Makefile:

datadir=/usr/share => to datadir=$(DESTDIR)/usr/share

etc.

- According to debian policy all documentation (also - support scripts, examples etc.) should go into /usr/share/doc/newlisp and subdirs - not in /usr/share/newlisp/...

- Also all "real" documentation files should be listed in /debian/docs file of source package

All theese corrections are preformed with other debian package building instructions in debian/rules file with supplement scripts "instprep" and "makedocs":

       /usr/bin/awk -f debian/instprep Makefile >Makefile.debian
        /usr/bin/awk -f debian/makedocs Makefile.debian >debian/docs
        find doc|grep -v '^doc$$' >>debian/docs
        $(MAKE) -f Makefile.debian install DESTDIR=$(CURDIR)/debian/newlisp
        cp util/* $(CURDIR)/debian/newlisp/usr/share/doc/newlisp/util
        cp examples/* $(CURDIR)/debian/newlisp/usr/share/doc/newlisp/examples
        cp examples/newlispdoc $(CURDIR)/debian/newlisp/usr/bin

If it is possible to have makefile for debian, that will not needed in theese corrections, it will be good.
Title:
Post by: Lutz on January 25, 2007, 05:14:39 AM
Thanks for all the work and scripts Dmitry and Nigel,



I will include a makefile_debian, which can be called as 'make debian'. This way the package maker script does not need to go through the routine of copying make files.



I can also make the change 'datadir=$(DESTDIR)/usr/share', it does not pose any problems when $(DESTDIR) is not defined in other environments.



Only those files should be distributed in the Debian install, which are distirbuted by 'make install'. The 'util' directory or files in it should not be installed. Even if we cannot have the same directory structure on all installations, the files distributed, should be identical.



I also reduced the 'make clean' part to less operations, there was still a lot of 'Borland C++' stuff in it which is not needed.



One problem which has to be solved is that 'newlisp-tk' is basically broken after the Debian installation because it cannot find the '/usr/share/newlisp/newlisp-tk/images' and '/usr/share/newlisp/doc/' and '/usr/share/newlisp/newlisp-tk' directories. Perhaps I can include something in the 'makefile_debian' script which will change those paths in the 'newlisp-tk.tcl' file when running the package maker.



In the 'control' files the 'Description:' for newLISP should read:



"newLISP is a scripting language for developing web applications and programs in general and in the domains of artificial intelligence (AI) and statistics."



The description should always be indentical to the text on the home age of http://newlisp.org. I do not want to include further descriptions of newLISP in that file (like the features list, currently included).





Last not least we have to check if the Debian policy for distribution directories is the same on UBUNTU if not, we have to make different 'rules' and 'instprep' files for the UBUNTU distribution.



thanks again for helping



Lutz



ps: I am surpised that after all this years there is no standard for directories on Linux to install applications.
Title:
Post by: Dmi on January 25, 2007, 07:49:52 AM
Quote from: "Lutz"I will include a makefile_debian, which can be called as 'make debian'. This way the package maker script does not need to go through the routine of copying make files.

Very good news! Thanks, Lutz!
Quote from: "Lutz"I can also make the change 'datadir=$(DESTDIR)/usr/share', it does not pose any problems when $(DESTDIR) is not defined in other environments.

Not only "datadir" but all the installation paths, i.e. "bindir", "mandir" and all others if they will appears.
Quote from: "Lutz"Only those files should be distributed in the Debian install, which are distirbuted by 'make install'. The 'util' directory or files in it should not be installed. Even if we cannot have the same directory structure on all installations, the files distributed, should be identical.

Well, but, IMHO, it would be nice, if newlisp.vim and similar "user-interesting" files will be included in a regular install process too.
Quote from: "Lutz"One problem which has to be solved is that 'newlisp-tk' is basically broken after the Debian installation because it cannot find the '/usr/share/newlisp/newlisp-tk/images' and '/usr/share/newlisp/doc/' and '/usr/share/newlisp/newlisp-tk' directories. Perhaps I can include something in the 'makefile_debian' script which will change those paths in the 'newlisp-tk.tcl' file when running the package maker.

Hmm... /usr/share/newlisp/newlisp-tk/images/* seems to be present and this seems to be a right place. (I'll double check this)

/usr/share/newlisp/doc/ should go to /usr/share/doc/newlisp (but perhaps we can make a symlink /usr/share/newlisp/doc -> /usr/share/doc/newlisp ?)
Quote from: "Lutz"In the 'control' files the 'Description:' for newLISP should read:



"newLISP is a scripting language for developing web applications and programs in general and in the domains of artificial intelligence (AI) and statistics."

The control file has a two description parts:

One, wich go just after a Description: -  is a _one_line_ short description for listings. Lutz, may U suggest a shorter one, which will fit one line?

Second - is a multiline descriptional part. It will be just as U wrote above.
Quote from: "Lutz"ps: I am surpised that after all this years there is no standard for directories on Linux to install applications.

Heh! Welcome to Linux ;-)

Dislike all the other systems, each linux distribution (RHEL, Debian, Slackware,...) is a separate system only with one kernel. And each has a separate author, which tries to make a system useful for a separate part of users in the world. :-)
Title:
Post by: Lutz on January 25, 2007, 01:46:21 PM
QuoteNot only "datadir" but all the installation paths, i.e. "bindir", "mandir" and all others if they will appears.


Do you mean like this?


# in Makefile
datadir=$(DESTDIR)/usr/share
bindir=$(BINDIR)/usr/bin
mandir=$(MANDIR)/usr/share/man


At least on Mac OS X and FreeBSD these definitions don't interfere with the normal 'make install' routine, so I can include them.


Quote/usr/share/newlisp/doc/ should go to /usr/share/doc/newlisp (but perhaps we can make a symlink /usr/share/newlisp/doc -> /usr/share/doc/newlisp ?)


A symlink seems to be a good idea.


QuoteHmm... /usr/share/newlisp/newlisp-tk/images/* seems to be present and this seems to be a right place. (I'll double check this)


Yes, if those still work that would be great, they seem have to worked for Nigel?


QuoteThe control file has a two description parts:

One, wich go just after a Description: - is a _one_line_ short description for listings. Lutz, may U suggest a shorter one, which will fit one line?

Second - is a multiline descriptional part. It will be just as U wrote above.


One-line description:

"newLISP is a LISP like, general purpose scripting language."



Longer description:

"newLISP is a scripting language for developing web applications and programs in general and in the domains of artificial intelligence (AI) and statistics."





Lutz
Title:
Post by: nigelbrown on January 26, 2007, 12:24:35 AM
For anyone who would like to join Ubuntu testing/building but needs to stay in windows I found that the free VMWare VMserver (from http://www.vmware.com/download/server ) runs the Ubuntu 6.10 virtual machine (from http://www.vmware.com/vmtn/appliances/directory/693 ) well - I'm typing this on Ubuntu running inside WinXP and have just built the 9.0.18 deb on the system (after installing required dev libs and build packages) - these were

build-essential

libreadline5-dev

fakeroot

devscripts (?needed)

debhelper

tk8.3  (if you want to run newlisp-tk)



Lutz - newlisp-tk seems to run fine, what would I not see if images weren't found as queried above? newlisp-tk of course points to wrong docs place.



Regards

Nigel



[Why Ubuntu on WinXP - unfortunately I've some graphics stuff using Win progs that I've not learnt to do with Blender ( www.blender3d.org ) yet]
Title:
Post by: Dmi on January 26, 2007, 12:33:16 AM
Quote from: "Lutz"Do you mean like this?
# in Makefile
datadir=$(DESTDIR)/usr/share
bindir=$(BINDIR)/usr/bin
mandir=$(MANDIR)/usr/share/man


No, really so:
# in Makefile
datadir=$(DESTDIR)/usr/share
bindir=$(DESTDIR)/usr/bin
mandir=$(DESTDIR)/usr/share/man

The package builder sets DESTDIR to temporary filesystem tree and then archive this tree into a package.


Quote from: "Lutz"A symlink seems to be a good idea.

done


Quote from: "Lutz"One-line description:

"newLISP is a LISP like, general purpose scripting language."



Longer description:

"newLISP is a scripting language for developing web applications and programs in general and in the domains of artificial intelligence (AI) and statistics."

corrected



Thanks, Lutz!

The corrected version is under the testing now. Will be published till the end of the weekend.



P.S. And what about newlisp.vim etc.? It will be sadly (I think) if customers, instaling a package will also be need to download a source to extract such additional gooddies from there.
Title:
Post by: Dmi on January 29, 2007, 12:28:27 PM
All major work seems to be done now.

The distro of 9.0.19 is now ready for sarge/i386, etch/i386, etch/amd64 versions.

Also sarge/source and etch/source are ready for rebuild.



Lutz, take a look under "util" folder, please (dpkg -L newlisp) - can I leave this?



Nigel, can you build it on Ubuntu?
Title:
Post by: Lutz on January 29, 2007, 01:53:45 PM
Thanks Dmity, I don't have access to a PC at the moment, but will look at everything tomorrow.



Lutz
Title:
Post by: nigelbrown on January 30, 2007, 06:12:04 AM
Hi



9.0.19 builds fine on Ubuntu 6.10 Desktop viz.

ubuntu@ubuntu:~$ newlisp

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



> (exit)

ubuntu@ubuntu:~$ newlisp-tk

newLISP v.9019 listening on port 64001

Connected to 127.0.0.1 on Tue Jan 30 09:00:09 2007



The help menu in newlisp-tk finds the manual and tk ref. Build output below.

Thanks Dmi

Regards

Nigel

Build output:



ubuntu@ubuntu:~/newlisp-9.0.19$ fakeroot dpkg-buildpackage

dpkg-buildpackage: source package is newlisp

dpkg-buildpackage: source version is 9.0.19

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

dpkg-buildpackage: host architecture i386

dpkg-buildpackage: source version without epoch 9.0.19

 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/ubuntu/newlisp-9.0.19'

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/ubuntu/newlisp-9.0.19'

rm newlisp

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

make: [clean] Error 1 (ignored)

dh_clean

 dpkg-source -b newlisp-9.0.19

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

dpkg-source: building newlisp in newlisp_9.0.19.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/ubuntu/newlisp-9.0.19'

make -f makefile_debian

make[2]: Entering directory `/home/ubuntu/newlisp-9.0.19'

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/ubuntu/newlisp-9.0.19'

make[1]: Leaving directory `/home/ubuntu/newlisp-9.0.19'

#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/instprep Makefile >Makefile.debian

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

find doc|grep -v '^doc$' >>debian/docs

/usr/bin/make -f Makefile.debian install DESTDIR=/home/ubuntu/newlisp-9.0.19/debian/newlisp

make[1]: Entering directory `/home/ubuntu/newlisp-9.0.19'

install -d /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/doc/newlisp

install -d /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/newlisp-tk/images

install -m 755 newlisp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/bin/newlisp

install -m 755 newlisp-tk/newlisp-tk.tcl /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/bin/newlisp-tk

install -m 644 init.lsp.example /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/init.lsp.example

install -m 644 examples/httpd-conf.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/httpd-conf.lsp

install -m 644 examples/link.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/link.lsp

install -m 644 examples/tcltk.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/tcltk.lsp

install -m 644 examples/syntax.cgi /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/syntax.cgi

install -m 644 examples/newlispdoc /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/newlispdoc

install -m 644 modules/mysql.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/mysql.lsp

install -m 644 modules/mysql5.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/mysql5.lsp

install -m 644 modules/pop3.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/pop3.lsp

install -m 644 modules/ftp.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/ftp.lsp

install -m 644 modules/infix.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/infix.lsp

install -m 644 modules/smtp.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/smtp.lsp

install -m 644 modules/odbc.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/odbc.lsp

install -m 644 modules/cgi.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/cgi.lsp

install -m 644 modules/sqlite3.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/sqlite3.lsp

install -m 644 modules/stat.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/stat.lsp

install -m 644 modules/gmp.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/gmp.lsp

install -m 644 modules/postscript.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/postscript.lsp

install -m 644 modules/unix.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/unix.lsp

install -m 644 modules/zlib.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/zlib.lsp

install -m 644 doc/COPYING /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/COPYING

install -m 644 doc/CREDITS /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/CREDITS

install -m 644 doc/newlisp_manual.html /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/doc/newlisp/newlisp_manual.html

install -m 644 doc/newlisp_index.html /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/doc/newlisp/newlisp_index.html

install -m 644 doc/manual_frame.html /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/doc/newlisp/manual_frame.html

install -m 644 doc/CodePatterns.html /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/doc/newlisp/CodePatterns.html

install -m 644 newlisp-tk/newlisp-tk.html /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/doc/newlisp/newlisp-tk.html

install -m 644 newlisp-tk/*.lsp /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/newlisp-tk/

install -m 644 newlisp-tk/images/* /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/newlisp/newlisp-tk/images/

install -m 644 doc/newlisp.1 /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/man/man1/newlisp.1

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

make[1]: Leaving directory `/home/ubuntu/newlisp-9.0.19'

for i in newlisp.vim newlisp.jsf types.c sql.c; do cp util/$i /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/doc/newlisp/util; done

cp examples/* /home/ubuntu/newlisp-9.0.19/debian/newlisp/usr/share/doc/newlisp/examples

cp examples/newlispdoc /home/ubuntu/newlisp-9.0.19/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

dpkg-gencontrol: warning: unknown substitution variable ${misc:Depends}

dh_md5sums

dh_builddeb

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

tar: -: file name read contains nul character

 dpkg-genchanges

dpkg-genchanges: including full source code in upload

dpkg-buildpackage: full upload; Debian-native package (full source is included)
Title:
Post by: Lutz on January 30, 2007, 09:35:20 AM
Thanks Nigel and Dmitry,



The output from: dpkg-buildpackage looks Ok to me.





I installed Dmitry's newlisp_9.0.19_i386.deb on a UBUNTU life CD 6.10 with following results/output:


~> sudo dpkg -i Desktop/newlisp_9.0.19_i386.deb
Selecting previously deselected package newlisp.
(Reading database ... 90842 files and directories currently installed.)
Unpacking newlisp (from .../newlisp_9.0.19_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
~> newlisp
newLISP v.9.0.19 on Linux, execute 'newlisp -h' for more info.

>


The libreadline issue worked out Ok, and newLISP is running fine. But why do I get this, I believe, I installed the etch-package or is my UBUNTO version 6.10 after Etch?



Man pages for newlisp and newlisp-tk worked fine. newlisp-tk would not run because of missing 'wish', wich is then suggested to install by the error output.



Then I inspected the directories:


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


The doc /usr/share/newlisp/doc directory is missing. newlisp-tk will look for the following files:


/usr/share/newlisp/doc/newlisp_manual.html
/usr/share/newlisp/doc/manual_frame.html
/usr/share/newlisp/doc/newlisp_index.html
/usr/share/newlisp/doc/newlisp-tk.html


I understand that Debian wants documentation in /usr/share/doc/newlisp. Then we need links to this place from /usr/share/newlisp/ so newlisp-tk can find the three files.



In /usr/share/doc/newlisp I found the following:


/usr/share/doc/newlisp> ls
changelog.gz       examples           MemoryManagement.html  newlisp-tk.html
CHANGES.gz         FILES.gz           newlisp.1.gz           README.Debian
CodePatterns.html  INSTALL.gz         newLISPdoc.html        syntax-help
COPYING.gz         keywords.txt       newlisp_index.html     TRU64BUILD
copyright          LOCALIZATION       newlisp_manual.html    util
CREDITS.gz         manual_frame.html  newlisp-tk.1


there are many files which do not belong here. The only files here should be those, that the 'make install' would put into /usr/share/newlisp/doc. These files are the following:


newlisp_manual.html
newlisp_index.html
newlisp-tk.html
manual_frame.html
CodePatterns.html


no other files should appear here. newlisp.1 and newlisp-tk.1 files are installed in some man directory. Other files here are directed towards developers. Editor support files are at http://newlisp.org. The editor support files are available on http://newlisp.org.



Thanks for the help, it looks like we are getting close to the final package.



Lutz
Title:
Post by: Lutz on January 30, 2007, 11:07:46 AM
It seems that /usr/share/doc is not only standard on Debian Linux, but also on Mac OS X and FreeBSD. I wonder if this is the same on all LINUX?



Perhaps the installation should move documentation on all platforms to /usr/share/doc/newlisp and the references in newlisp-tk.tcl be changed?



Any comments?



Lutz
Title:
Post by: pjot on January 30, 2007, 11:49:57 AM
In Slackware and Zenwalk Linux the docs are also installed in '/usr/share/doc/<package>'. (In fact, '/usr/share/doc' is symlinked to '/usr/doc'.)



These distributions sometimes also provide a version number. So the directory would become '/usr/share/doc/newlis-9.0.19', for example. Most packages are stored without this version number, though.



Peter
Title:
Post by: Lutz on January 30, 2007, 12:22:51 PM
Thanks Peter, the install will then be as follows:


usr/share/newlisp> ls -ltr
total 448
-rw-r--r--    1 root  wheel   3153 Jan 30 15:14 zlib.lsp
-rw-r--r--    1 root  wheel   7798 Jan 30 15:14 unix.lsp
-rw-r--r--    1 root  wheel    945 Jan 30 15:14 tcltk.lsp
-rwxr-xr-x    1 root  wheel   6166 Jan 30 15:14 syntax.cgi
-rw-r--r--    1 root  wheel  17070 Jan 30 15:14 stat.lsp
-rw-r--r--    1 root  wheel  10866 Jan 30 15:14 sqlite3.lsp
-rw-r--r--    1 root  wheel   3065 Jan 30 15:14 smtp.lsp
-rw-r--r--    1 root  wheel  28185 Jan 30 15:14 postscript.lsp
-rw-r--r--    1 root  wheel   9715 Jan 30 15:14 pop3.lsp
-rw-r--r--    1 root  wheel  16431 Jan 30 15:14 odbc.lsp
-rwxr-xr-x    1 root  wheel   7717 Jan 30 15:14 newlispdoc
-rw-r--r--    1 root  wheel  13104 Jan 30 15:14 mysql5.lsp
-rw-r--r--    1 root  wheel   7024 Jan 30 15:14 mysql.lsp
-rw-r--r--    1 root  wheel   2817 Jan 30 15:14 link.lsp
-rw-r--r--    1 root  wheel   1730 Jan 30 15:14 init.lsp.example
-rw-r--r--    1 root  wheel   3954 Jan 30 15:14 infix.lsp
-rw-r--r--    1 root  wheel   2087 Jan 30 15:14 httpd-conf.lsp
-rw-r--r--    1 root  wheel  15792 Jan 30 15:14 gmp.lsp
-rw-r--r--    1 root  wheel   4366 Jan 30 15:14 ftp.lsp
-rw-r--r--    1 root  wheel   5923 Jan 30 15:14 cgi.lsp
-rw-r--r--    1 root  wheel   5797 Jan 30 15:14 CREDITS
-rw-r--r--    1 root  wheel  15423 Jan 30 15:14 COPYING
drwxr-xr-x   10 root  wheel    340 Jan 30 15:14 newlisp-tk
/usr/share/newlisp> cd ../doc/newlisp/
/usr/share/doc/newlisp> ls -ltr
total 1872
-rw-r--r--   1 root  wheel  721320 Jan 30 15:14 newlisp_manual.html
-rw-r--r--   1 root  wheel   28453 Jan 30 15:14 newlisp_index.html
-rw-r--r--   1 root  wheel   82212 Jan 30 15:14 newlisp-tk.html
-rw-r--r--   1 root  wheel     775 Jan 30 15:14 manual_frame.html
-rw-r--r--   1 root  wheel  111763 Jan 30 15:14 CodePatterns.html
/usr/share/doc/newlisp>


this should then be good for Mac OS X, all BSDs and all Linux



Lutz
Title:
Post by: nigelbrown on January 30, 2007, 03:39:05 PM
Hi Lutz

Re libreadline and 6.10 I'd found the 5.2 vs 5.1-7 issue when I tried Dmi's deb earlier :
Quote from: "nigelbrown"
I tried the 9.0.16 etch binary deb on Ubuntu but it won't install as it wants readline >=5.2 while ubuntu 6.10 has 5.1-7 as standard.

Nigel

 which is why I went to building on Ubuntu. I tried install with gdebi which refused install with the mismatch.

If you like I'll upload an Ubuntu built deb to my site with the rpm's when you're happy with the directory layout. Currently what is there ( http://users.cyberone.com.au/nbrown/newlisp/rpms.html ) is :

"Ubuntu linux deb package made with checkinstall on Ubuntu 6.06 LTS Desktop newlisp-9.0.0_9.0.0-1_i386.deb".

Regards

Nigel
Title:
Post by: Lutz on January 30, 2007, 04:13:07 PM
Thanks Nigel, I see packages made from the development releases rather as an exercise to get it right for 9.1.



Also, why is on your checkinstall packages always the version number repeated: newlisp-9.0.0_9.0.0-1_i386.deb should be just newlisp-9.0.0-1_i386.deb.



Lutz
Title:
Post by: Lutz on January 30, 2007, 04:37:58 PM
It seems the only way to get a package right is to make it on the system it is targeted to and then offer it only for that system. So an UBUNTU package 6.06 should be made on an UBUNTU system 6.06 etc., including observing naming conventions for that distribution, etc.



Judging from the UBUNTU website their current distribution seems to be 6.10, which is what I was trying this  morning (life CD) and got a similar error message for the readline lib you got on 6.06.



The 6.06 they label as a LTS (long term support) release, so may be thats the one we should use, I don't know, any UBUNTU experts on the board?



Lutz
Title:
Post by: nigelbrown on January 30, 2007, 05:41:55 PM
I'm not an expert but I think you'd have to support both the LTS release, the 6.06 currently, to target web server admins and latest stable desktop, eg 6.10 currently, to target new and updating users. Slightly different groups but both would benefit.



Nigel
Title:
Post by: nigelbrown on January 30, 2007, 06:17:08 PM
Quote from: "Lutz"why is on your checkinstall packages always the version number repeated: newlisp-9.0.0_9.0.0-1_i386.deb should be just newlisp-9.0.0-1_i386.deb.



Lutz

It's not quite the version number repeated which is how it comes about.

Looking at the checkinstall script the default basename is the 'pwd' returned directory e.g. newlisp-9.0.0 and version 9.0.0 is probably from the makefile. Basically checkinstall default behaviour is to expect the build directory to be the packagename without version info i.e. newlisp.  This can be over-ridden but I just used default behaviour.



Nigel
Title:
Post by: Dmi on January 31, 2007, 03:35:27 AM
Quote from: "Lutz"The output from: dpkg-buildpackage looks Ok to me.



I installed Dmitry's newlisp_9.0.19_i386.deb on a UBUNTU life CD 6.10 with following results/output:


Unpacking newlisp (from .../newlisp_9.0.19_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
>


libreadline conflict has prevented post-install script to make a symlink /usr/share/newlisp/doc -> /usr/share/doc/newlisp



I'll investigate, how can I fix a libreadline compatibility version number independently of one currently installed. I suspect, this then makes etch and ubuntu packages binary compatible, because none of other libs (but libc) are used.


Quote from: "Lutz"Then I inspected the directories:

......

In /usr/share/doc/newlisp I found the following:


/usr/share/doc/newlisp> ls
changelog.gz       examples           MemoryManagement.html  newlisp-tk.html
CHANGES.gz         FILES.gz           newlisp.1.gz           README.Debian
CodePatterns.html  INSTALL.gz         newLISPdoc.html        syntax-help
COPYING.gz         keywords.txt       newlisp_index.html     TRU64BUILD
copyright          LOCALIZATION       newlisp_manual.html    util
CREDITS.gz         manual_frame.html  newlisp-tk.1


there are many files which do not belong here. The only files here should be those, that the 'make install' would put into /usr/share/newlisp/doc. These files are the following:


newlisp_manual.html
newlisp_index.html
newlisp-tk.html
manual_frame.html
CodePatterns.html


no other files should appear here. newlisp.1 and newlisp-tk.1 files are installed in some man directory. Other files here are directed towards developers. Editor support files are at http://newlisp.org. The editor support files are available on http://newlisp.org.

Hmmm... there is a slight difference between documentation on the newlisp and documentation on the system package, of newlisp.

For the latter, the documents such as
Quotechangelog.gz CHANGES.gz README.Debian INSTALL.gz copyright

are useful and descriptive. For ex., copyright information is suggested by Debian, changelog is a part of each debian package, that holds versioning information, newlisp's CHANGES - is very useful, because most users looks for changes perfectly here...

Also /usr/share/doc/[package]/ is often used to hold additional useful scripts, examples etc.

Directing the users to the site for the editor support files etc. is, probably a good way to rise up a site rating ;-) but is very unuseful for 'no-internet' installations, moreover they are already present in the source tarball :-



Probably the right structure can look like this:
dmi@stone:newlisp$ ls -R
.:
changelog.gz  copyright   docs/      manual         util
CHANGES.gz    CREDITS.gz  examples/  README.Debian

./docs:
INSTALL.gz  LOCALIZATION  MemoryManagement.html  newLISPdoc.html

./examples:
client          link.lsp                     server         udp-client.lsp
finger          newlispdoc.gz                sqlite3.cgi    udp-server.lsp
form.cgi        newLISP-Excel-Import.xls.gz  sqlite.cgi     upload.cgi
form.html       newlisp-log.txt              syntax.cgi.gz  upload.html
httpd-conf.lsp  opengl-demo.lsp.gz           syntax-help    xmlrpc.cgi.gz
index.html      prodcons.lsp                 tcltk.lsp      xmlrpc-server.gz

./manual:
CodePatterns.html  newlisp_index.html   newlisp-tk.html
manual_frame.html  newlisp_manual.html

./util:
keywords.txt  newlisp.jsf.gz  newlisp.vim.gz  sql.c  types.c

and then we can do a symlink
/usr/share/newlisp/doc -> /usr/share/doc/newlisp/manual
Title:
Post by: Lutz on January 31, 2007, 04:25:25 AM
There are files in the source distribution I do not want to have included in the binary distribution . As written yesterday I will move:



/usr/share/newlisp/doc  to: /usr/share/doc/newlisp



then it is not necessary to link files. I also added newLISPdoc. So we come to the following Scheme:



/usr/share/newlisp> ls
COPYING                 infix.lsp               newlispdoc              stat.lsp
CREDITS                 init.lsp.example        odbc.lsp                syntax.cgi
cgi.lsp                 link.lsp                pop3.lsp                tcltk.lsp
ftp.lsp                 mysql.lsp               postscript.lsp          unix.lsp
gmp.lsp                 mysql5.lsp              smtp.lsp                zlib.lsp
httpd-conf.lsp          newlisp-tk              sqlite3.lsp
/usr/share/newlisp> cd ../doc/newlisp/
/usr/share/doc/newlisp> ls
CodePatterns.html       newLISPdoc.html         newlisp_index.html
manual_frame.html       newlisp-tk.html         newlisp_manual.html
/usr/share/doc/newlisp>


To this only what is absolutely required by UBUNTU should be added. I do not want to have example progams or any other docs in the package. I am not sure what the rules are for the COPYING and CREDITS files. I left them in the main /usr/share/newlisp directory because they are not strictly usage documentation, but if UBUNTU requires them in /usr/share/doc/newlisp we can move them there.



Thanks



Lutz
Title:
Post by: Lutz on January 31, 2007, 07:36:45 AM
Looking through the "New Maintainer's Guide" for Debian packages it looks like the files COPYING and CREDITS should go into /usr/share/doc/newlisp. A README.Debian made by the packager person should also be included.



README.Debian will not be supplied by 'make install' but will be added to  /usr/share/doc/newlisp by the packageing process.



So as of now we have the following contents after an install with the Debian package:


/usr/share/newlisp> ls
cgi.lsp                 link.lsp                pop3.lsp                tcltk.lsp
ftp.lsp                 mysql.lsp               postscript.lsp          unix.lsp
gmp.lsp                 mysql5.lsp              smtp.lsp                zlib.lsp
httpd-conf.lsp          newlisp-tk              sqlite3.lsp
infix.lsp               newlispdoc              stat.lsp
init.lsp.example        odbc.lsp                syntax.cgi
/usr/share/newlisp> cd ../doc/newlisp/
/usr/share/doc/newlisp> ls
README.Debian
COPYING                 CodePatterns.html       newLISPdoc.html         newlisp_index.html
CREDITS                 manual_frame.html       newlisp-tk.html         newlisp_manual.html
/usr/share/doc/newlisp>


All files with the exception of README.Debian are supplied by 'make install' README.Debian is supplied by the packager



Lutz
Title:
Post by: Dmi on January 31, 2007, 07:39:29 AM
Thanks, Lutz!



Ok. Accepted. I'll correct all the stuff.



Nevertheless, some notes:



As I can see, all the 'COPYING' and 'CREDITS' files under /usr/share on my debian system are placed under /usr/share/doc, so I suggest you to move them there too.



Also 'changelog' - debian versioning info will be there, because it is a mandatory part of a debian "deb" package system. Unfortunately, it is meaningless at present because each time a new package is builded by a script.



Also I suggest you to include CHANGES, because it is a significant part of documentation for long living projects and there is no other sources of version compatibility information.



Also a README.Debian - a suggested filename for package maintainer's notes - probably will be there (completely rewritten) as a possible comments to rebuilding source package (utf-8 etc.)



Also, I point your attention again, that /usr/share/doc/newlisp is a package documentation in general - not a pure newlisp usage documentation... but if you prefer.... ;-)



Thanks again, I feel we are close to release :-)
Title:
Post by: Dmi on January 31, 2007, 07:42:08 AM
Quote from: "Lutz"All files with the exception of README.Debian are supplied by 'make install' README.Debian is supplied by the packager

I was too late with previous message :-))



Very cool!
Title:
Post by: Lutz on January 31, 2007, 07:47:26 AM
Thanks Dmitry,



I will include a newLISP_90_Release_Notes.html file in mayor releases. This file will be handled by 'make install' and go into /usr/share/doc/newlisp too and will inform the user about changes in the new version.


QuoteAlso 'changelog' - debian versioning info will be there


yes, supplied also by packager



Lutz
Title:
Post by: Dmi on February 07, 2007, 10:07:06 AM
Source and binary packages for debian etch for newlisp 9.0.20 are published and ready for testing.



The only thing different from newlisp's "make install" is copying newlispdoc into /usr/bin - Lutz, what do you think about this?
Title:
Post by: Lutz on February 07, 2007, 12:39:40 PM
Thanks very much Dmitry, I will try the packages tomorrow on UBUNTU 6.10, and perhaps Nigel can try on 6.06.



About newlispdoc: it will be part of the install in a future version. I still have to: (1) write a man page for it and (2) embed syntax.cgi in it as part of the program, they are small enough to combine them, (3) change the newLISPdoc.html documentation file (4) let the man page and newLISPdoc.html be reviewed/edited by somebody who speaks/writes English better than I do.  I don't think I get to this until February 15th.



So we will not put it 9.1, but it will go into it in a a later version.



Lutz
Title:
Post by: nigelbrown on February 08, 2007, 05:17:16 AM
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

. 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$
Title:
Post by: Lutz on February 09, 2007, 10:08:26 AM
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.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.
Title:
Post by: Lutz on February 14, 2007, 06:14:08 AM
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
Title:
Post by: Dmi on February 14, 2007, 01:05:03 PM
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.
Title:
Post by: Lutz on February 14, 2007, 01:47:15 PM
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
Title:
Post by: Dmi on February 20, 2007, 05:32:27 AM
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 :-)
Title:
Post by: nigelbrown on February 20, 2007, 05:39:30 AM
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
Title:
Post by: Lutz on February 20, 2007, 06:53:51 AM
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
Title:
Post by: nigelbrown on February 21, 2007, 03:06:32 AM
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
Title:
Post by: Lutz on February 21, 2007, 04:03:07 AM
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
Title: new rebuild
Post by: Dmi on March 24, 2007, 01:45:06 AM
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.
Title:
Post by: Lutz on March 24, 2007, 06:08:49 AM
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
Title:
Post by: Dmi on March 24, 2007, 11:09:14 AM
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 ;-)
Title:
Post by: Lutz on March 24, 2007, 11:38:53 AM
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 this way we can accomodate several paths and make it right for everybody.



Lutz
Title:
Post by: Dmi on March 24, 2007, 11:48:37 AM
Good improvement! Thanks!



So, I planing to send official request for including the package in the debian tree next week.
Title:
Post by: Lutz on March 24, 2007, 05:16:14 PM
Thanks Dmitry, I tried Etch and Sarge packages on UBUNTU with the following results:



Sarge install on UBUNTU 6.06 LTS


ubuntu@ubuntu:~/Desktop$ sudo dpkg -i newlisp_9.1.1-2_i386.deb
Selecting previously deselected package newlisp.
(Reading database ... 67140 files and directories currently installed.)
Unpacking newlisp (from newlisp_9.1.1-2_i386.deb) ...
dpkg: dependency problems prevent configuration of newlisp:
 newlisp depends on libreadline4 (>= 4.3-1); however:
  Package libreadline4 is not installed.
dpkg: error processing newlisp (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 newlisp
ubuntu@ubuntu:~/Desktop$ newlisp
newlisp: error while loading shared libraries: libreadline.so.4: cannot open shared object file: No such file or directory
ubuntu@ubuntu:~/Desktop$


Etch install on UBUNTU 6.06 LTS


uubuntu@ubuntu:~/Desktop$ sudo dpkg -i newlisp_9.1.1-2_i386.deb
Selecting previously deselected package newlisp.
(Reading database ... 67140 files and directories currently installed.)
Unpacking newlisp (from newlisp_9.1.1-2_i386.deb) ...
dpkg: dependency problems prevent configuration of newlisp:
 newlisp depends on libc6 (>= 2.3.6-6); however:
  Version of libc6 on system is 2.3.6-0ubuntu20.
 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
ubuntu@ubuntu:~/Desktop$ newlisp
newLISP v.9.1.1 on Linux, execute 'newlisp -h' for more info.

>


Both install all files corrrectly, but Sarge will not run because of missing libreadline.so.4 on the UBUNTU live CD. What Debian distribution/version did you use to make the packages?



Etch will use libreadline5 and then runs fine.



Lutz
Title:
Post by: Dmi on March 24, 2007, 11:58:08 PM
Lutz, in common it's not really correct to use etch or sarge packages for Ubuntu. Ubuntu is somewhere in the middle of sarge and etch, with its own improvements.



The package for Ubuntu must be recompled from source.

Really, the procedure is simple:

You have to add in /etc/apt/sources.list
deb-src http://en.feautec.pp.ru/debian/ etch main
Also you have to install:
# apt-get install dpkg-dev fakeroot
And then
$ sudo apt-get update
$ apt-get source newlisp
$ cd newlisp-9.1.1
$ dpkg-buildpackage -rfakeroot
$ cd ..
$ sudo dpkg -i newlisp-9.1.1-.....deb

This is the righ way.



Really, I building by hands only etch-amd64 binary deb. Other branches (sarge-i386 and etch-i386) are always built by the same procedure, automated by a script.



Good news: next week I'll try to build and post Ubuntu native package (I got a volunteer :-)
Title:
Post by: Dmi on March 26, 2007, 05:15:40 AM
Package is registered on mentors.debian.net.

The Request For a Sponsor was sent.
Title:
Post by: Lutz on March 26, 2007, 05:23:34 AM
Thanks for the good work Dmitry



Lutz
Title:
Post by: nigelbrown on May 05, 2007, 01:50:58 PM
Newlisp deb installs fine on  Ubuntu 7.04 - the Feisty Fawn (upgraded to 7.04 by update-manager). However when first running newlisp-tk the font used (fixed size 14) looks a bit thready (see http://users.cyberone.com.au/nbrown/Screenshot-newLISP-tk%20v.1.37.png ). It looks better at different size (almost anything but 14) or different fixed font. Just a little aesthetic point but it makes newlisp-tk not look as good as it could - maybe a font other than fixed 14 could be specified for newlisp-tk console? I.e. in newlisp-tk change

set Ide(fontName)           "fixed"

set Ide(fontSize)           14



I don't know how the font looks on other systems so fixed 14 may be the best all round even if it's a bit poor on Ubuntu.



Nigel

(just changed to Courier  15 and saved config file (Save Settings) for my use)