rpm for newLISP 8.0

Started by nigelbrown, March 18, 2004, 03:28:14 PM

Previous topic - Next topic

nigelbrown

#30
the makefile install will need something like



ifndef mandir

mandir=/usr/share/man

endif



and...



   -install -m 644 newlisp.1 $(mandir)/man1/newlisp.1



ALSO NOTE MY TYPO in the install stuff I posted



ifndef bindir

datadir=/usr/bin

endif



should of course be



ifndef bindir

bindir=/usr/bin

endif

nigelbrown

#31
Lutz,

regarding LSB directories looking at /usr/share/doc in Mandrake (9.1)  I note that the subdirectories have their doc files in a subdir whose name includes the version number eg

[nigel@p800 nigel]$ ls /usr/share/doc

aspell-0.50.3/                 libguile10-1.4.1/

aspell-en-0.50.2/              libguile12-1.6.0/

at-3.1.8/                      libhermes1-1.3.2/

aumix-2.7/                     libibtk0-0.0.14_pre2/

automake-1.4/                  libIDL2_0-0.8.0/

bash-2.05b/                    libieee1284_3-0.2.6/

bind-9.2.2/                    libimlib1-1.9.14/

bind-utils-9.2.2/              libintl2-0.11.5/

binutils-2.13.90.0.18/         libjpeg62-6b/

bonobo-1.0.22/                 liblcms1-1.09/

...



except for newlisp that puts it in /newlisp .

The rpm builder defaults to put the docs in /usr/share/doc/newlisp-8.0.0



This may be the standard LSB way to ensure that the doc dir is in sync.

Would you consider changing future installs to that? For now I will let the rpm builder do both, that is /usr/share/doc/newlisp and /usr/share/doc/newlisp-8.0.0 will both exist but I can dump the second later





Nigel

Lutz

#32
For the time beeing I don't want to version the installation dirs for docs, if that is too non-standard, perhaps the docs should move to /usr/share/newlisp, some other projects do this, it also keeps everything together in one directory. Versioning the *.html files also means chaning the newlisp-tk.config and newlip-tk.tcl each time to pint to a different version.



Another possibility would be to have the version number in .../doc/newlisp_x.x.x but have a link to it from /usr/share/newlisp/doc, I also have seen that.



This is the install part for 8.0 going online today:

>>>>>>>>>>>>

install:

   -install -d /usr/share/doc/newlisp

   -install -d /usr/share/newlisp/newlisp-tk/images

   -install -m 755 newlisp /usr/bin/newlisp

   -install -m 755 newlisp-tk/newlisp-tk.tcl /usr/bin/newlisp-tk

   -install -m 644 init.lsp /usr/share/newlisp/init.lsp

   -install -m 644 examples/link.lsp /usr/share/newlisp/link.lsp

   -install -m 644 modules/mysql.lsp /usr/share/newlisp/mysql.lsp

   -install -m 644 modules/pop3.lsp /usr/share/newlisp/pop3.lsp

   -install -m 644 modules/ftp.lsp /usr/share/newlisp/ftp.lsp

   -install -m 644 modules/infix.lsp /usr/share/newlisp/infix.lsp

   -install -m 644 modules/smtp.lsp /usr/share/newlisp/smtp.lsp

   -install -m 644 modules/odbc.lsp /usr/share/newlisp/odbc.lsp

   -install -m 644 modules/sqlite.lsp /usr/share/newlisp/sqlite.lsp

   -install -m 644 modules/cgi.lsp /usr/share/newlisp/cgi.lsp

   -install -m 644 modules/stat.lsp /usr/share/newlisp/stat.lsp

   -install -m 644 modules/hash.lsp /usr/share/newlisp/hash.lsp

   -install -m 644 modules/txt2pdf.lsp /usr/share/newlisp/txt2pdf.lsp

   -install -m 644 doc/COPYING /usr/share/newlisp/COPYING

   -install -m 644 doc/newlisp_manual.html /usr/share/doc/newlisp/newlisp_manual.html

   -install -m 644 doc/newlisp_index.html /usr/share/doc/newlisp/newlisp_index.html

   -install -m 644 doc/manual_frame.html /usr/share/doc/newlisp/manual_frame.html

   -install -m 644 doc/newlisp.1 /usr/share/man/man1/newlisp.1

   -install -m 644 newlisp-tk/newlisp-tk.html /usr/share/doc/newlisp/newlisp-tk.html

   -install -m 644 newlisp-tk/*.lsp /usr/share/newlisp/newlisp-tk/

   -install -m 644 newlisp-tk/images/* /usr/share/newlisp/newlisp-tk/images/

>>>>>>>>>>>>>



The whole issue with datadir and bindir, if varability will be allowed here, has many implications for making newlisp and for the user too, I need some time to think about this. At the moment (because RPM requires it) we will only allow /usr/bin and /usr/share as a prefix.



Lutz

nigelbrown

#33
I have a newlisp-8.0.0-0.rc4.i586.rpm that installs on my Mandrake 9.1 and 10 systems.



The differences from the .tgz install is that 1) /usr/share/doc/newlisp-8.0.0 is also created and populated 2) a preliminary version of newlisp-tk.1 is installed - as a placeholder.



The rpm is not gpg signed.



I could e-mail it to you for a look - and also send the rpm .spec and other files - the only changed source tree file was the makefile along the lines above. One approach would be to have a patch file that would patch the Makefile of the tgz version for use in the rpm build.

It was built while running XFree on an Nvidia card - I don't think this has created any unexpected dependencies but apparently one recommendation is to do any production rpm builds while not running XFree, only a pure text console. I don't know how necessary this is for the newlisp rpm.



Nigel



PS A bit off topic, "Versioning the *.html files also means changing the newlisp-tk.config and newlip-tk.tcl each time to point to a different version." - could be a 'good thing'

Lutz

#34
Thanks Nigel, yes I would like to have a look and see if I can do a RPM myself.



Lutz

nigelbrown

#35
I've sent the e-mail with rpm, modified Makefile rc4 sources, and directory tree and associated file needed to build rc4 rpm, plus instructions.



I'll finalise building an rpm by using a patch file to make the Makefile modifications to the 8.0 source tree. I'll then post the text files and instructions here as a final record for those interested.



I've enjoyed the learning process.



Lutz, I'll leave building any formal release rpm to you so you can gpg sign it etc.



Nigel

nigelbrown

#36
Hi Lutz,

Thanks for putting up the .rpm

Ignoring complaints about valid signatures it installs as expected.

I installed it but now newlisp-tk is looking for its manuals at /usr/share/doc/newlisp/

rather than either /usr/share/newlisp/doc/ or /usr/share/doc/newlisp-8.0.1/



also very minor point that newlisp man page says for 8.0.0 while the newlisp-tk man page is better as it says just 8.0



Thanks again for going with the rpm



Nigel

Lutz

#37
I just finished a signed rpm, so the next one will be signed. The 8.0.0 is also already corrected to 8.0 and the doc directory where newlisp-tk looks for is /usr/share/newlisp/doc/ but /usr/share/doc/newlisp-8.0.2/ also exists for LSB reasons.



Lutz