urpmi newlisp ?

Started by nigelbrown, March 24, 2005, 01:57:04 AM

Previous topic - Next topic

nigelbrown

Hi all,

If newlisp was in a mandrake mirror as a contrib or perhaps even plf I could

>urpmi newlisp

and it would be installed. (see http://easyurpmi.zarb.org/">http://easyurpmi.zarb.org/ )

Now we've got the rpms how about going for inclusion into mandrake cooker?

See http://www.linux-mandrake.com/en/cookerdevel.php3">http://www.linux-mandrake.com/en/cookerdevel.php3

How to contribute some packages to Cooker?



    First, if you have developed a program and want to make your contribution in the RPM Contribs part of the distribution, please contact the RPM apps manager at contribs@mandrakesoft.com and tell him that you have a new package. Thank you and Good Luck!  



Although I guess this isn't much longer (sorry Lutz I've not installed your key):



[root@p800 nigel]# urpmi http://www.newlisp.org/downloads/newlisp-8.4.3-1mdk.i586.rpm">http://www.newlisp.org/downloads/newlis ... k.i586.rpm">http://www.newlisp.org/downloads/newlisp-8.4.3-1mdk.i586.rpm



The following packages have bad signatures:

/var/cache/urpmi/partial/newlisp-8.4.3-1mdk.i586.rpm: Invalid signature ((SHA1) DSA sha1 md5 (GPG) (MISSING KEY) GPG#3f83f9a6 NOT OK)

Do you want to continue installation ? (y/N) y

installing /var/cache/urpmi/partial/newlisp-8.4.3-1mdk.i586.rpm

Preparing...                ##################################################

   1:newlisp                ##################################################

[root@p800 nigel]#



Regards

Nigel

Lutz

#1
newLISP still has a pretty short release cycle. The last two years we had an official release almost every month. This year I am trying to get away with every other month and perhaps by the end of the year when we can get to a half-year or longer reclease cycle. That would be the minimum to include newLISP in distributions with typically a one year release cycle. If I would submit a RPM next month with the 8.5 release it would be outdated by at least one version by the time the distro ships and fall further behind during the year.



Perhaps another route would be to offer RPMs on RPM distribution sites, the way  Pjot is updating the newLISP Slackware package with every Release.



Lutz

Lutz

#2
Just installed Mandrake 10.1/free edition. RPM building on that distribution seems not to be supported anymore. RPM building now needs an extra program called 'rpmbuild' which is not part of the free 3-disk set. Trying to install the binary rpm-build package from mandrasoft.com got me into unsolvable dependency problems/cycles with autoconf/automake and Perl.



Unless somebody else can build RPMs for newLISP, there will be no RPMs with the next 8.5 release in April. The file 'Makefile' contains all what is necessary to make an rpm doing 'make rpm', but the rpm section would have to be changed to a different name for the GPG signing person and would also have to be changed to account for the changed way RPMs are made. The .spec files in the doc directory are affected only in the 'Packager' section which would have to contain the new packager name, which is also the name of the RPM gpg signer.



I always thought that the RPM packaging system is much too complex and I have had problems with it many times. Perhaps I should look into the debian-based apt-get system. Slackware is covered by Pjot, who is always making the package for it, published on http://www.linuxpackages.net">http://www.linuxpackages.net .



Lutz

nigelbrown

#3
using urpmi got me (on mandrake 10.1 official download version):

[root@p800 nigel]# urpmi --limit-rate=6000 rpmbuild



    http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/contrib/rpmbuilder-0.5.1b-4mdk.noarch.rpm">http://carroll.aset.psu.edu/pub/linux/d ... noarch.rpm">http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/contrib/rpmbuilder-0.5.1b-4mdk.noarch.rpm

installing /var/cache/urpmi/rpms/rpmbuilder-0.5.1b-4mdk.noarch.rpm

Preparing...                ##################################################

   1:rpmbuilder             ##################################################

[root@p800 nigel]#



but I guess as a developer you may have upgraded make etc ?





Regrading the short newlisp cycle time - upgrades sre regularly placed on the urpmi server so that may actually facilitate people receiving upgrades and ensuring they are up to date.



I'll try a build on this mandrake 10.1 official download version.



Regards

Nigel

Lutz

#4
Thanks for the tips and link Nigel, I will give it another shot tomorrow



Lutz

Lutz

#5
urpmi gives me exactly the same result as using rpm:



urpmi with rpm-build =>  "unsatified automake"

urpmi with automake => "unsatisfiled autoconf"

urpmi with autoconf => "unsatisfied /usr/share/autotools/ac-wrapper.pl"



I thought urpmi was doing all this dependency stuff for me? I am using a stock Mandrake official 10.1, free 3-disk version. Hope you, Nigel, have more luck.



Lutz

nigelbrown

#6
Hi Lutz,

It seems there is both rpmbuild and rpm-build

I did:

[root@p800 tmp]# urpmi automake

One of the following packages is needed:

 1- automake1.6-1.6.3-2mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)

 2- automake1.9-1.9-1mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)

 3- automake1.7-1.7.9-2mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)

 4- automake1.8-1.8.5-1mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)

 5- automake1.4-1.4-25.p6.mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)

What is your choice? (1-5) [root@p800 tmp]# urpmi automake

One of the following packages is needed:

 1- automake1.6-1.6.3-2mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)

 2- automake1.9-1.9-1mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)

 3- automake1.7-1.7.9-2mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)

 4- automake1.8-1.8.5-1mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)

 5- automake1.4-1.4-25.p6.mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)

What is your choice? (1-5) 2

To satisfy dependencies, the following 3 packages are going to be installed (3 MB):

autoconf2.1-2.13-21mdk.noarch

autoconf2.5-2.59-6mdk.noarch

automake1.9-1.9-1mdk.noarch

Is this OK? (Y/n) y



    http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/contrib/automake1.9-1.9-1mdk.noarch.rpm">http://carroll.aset.psu.edu/pub/linux/d ... noarch.rpm">http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/contrib/automake1.9-1.9-1mdk.noarch.rpm

    http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main/autoconf2.1-2.13-21mdk.noarch.rpm">http://carroll.aset.psu.edu/pub/linux/d ... noarch.rpm">http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main/autoconf2.1-2.13-21mdk.noarch.rpm

    http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main/autoconf2.5-2.59-6mdk.noarch.rpm">http://carroll.aset.psu.edu/pub/linux/d ... noarch.rpm">http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main/autoconf2.5-2.59-6mdk.noarch.rpm

installing /var/cache/urpmi/rpms/automake1.9-1.9-1mdk.noarch.rpm /var/cache/urpmi/rpms/autoconf2.1-2.13-21mdk.noarch.rpm /var/cache/urpmi/rpms/autoconf2.5-2.59-6mdk.noarch.rpm

Preparing...                ##################################################

   1:autoconf2.5            ##################################################

   2:automake1.9            ##################################################

   3:autoconf2.1            ##################################################

[root@p800 tmp]#



and later

[root@p800 tmp]# urpmi rpm-build

To satisfy dependencies, the following 2 packages are going to be installed (2 MB):

rpm-build-4.2.2-15mdk.i586

spec-helper-0.10.2-1mdk.noarch

Is this OK? (Y/n) y



    http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main/rpm-build-4.2.2-15mdk.i586.rpm">http://carroll.aset.psu.edu/pub/linux/d ... k.i586.rpm">http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main/rpm-build-4.2.2-15mdk.i586.rpm

    http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main/spec-helper-0.10.2-1mdk.noarch.rpm">http://carroll.aset.psu.edu/pub/linux/d ... noarch.rpm">http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main/spec-helper-0.10.2-1mdk.noarch.rpm

installing /var/cache/urpmi/rpms/rpm-build-4.2.2-15mdk.i586.rpm /var/cache/urpmi/rpms/spec-helper-0.10.2-1mdk.noarch.rpm

Preparing...                ##################################################

   1:spec-helper            ##################################################

   2:rpm-build              ##################################################

[root@p800 tmp]#

which seems to have worked.



What are your sources for urpmi? In addition to the three cds I have set --

main:

http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main">http://carroll.aset.psu.edu/pub/linux/d ... media/main">http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/main

main-updates:

http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/updates/10.1/main_updates">http://carroll.aset.psu.edu/pub/linux/d ... in_updates">http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/updates/10.1/main_updates

contrib:

http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/contrib">http://carroll.aset.psu.edu/pub/linux/d ... ia/contrib">http://carroll.aset.psu.edu/pub/linux/distributions/mandrakelinux/official/10.1/i586/media/contrib

plf:

ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandrake/free/10.1">ftp://ftp.free.fr/pub/Distributions_Lin ... /free/10.1">ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandrake/free/10.1



I find

http://mandrake.vmlinuz.ca/bin/view/Main/UsingUrpmi">http://mandrake.vmlinuz.ca/bin/view/Main/UsingUrpmi

a helpfull resource for urpmi.



Anyway this week I'll try an rpm based on http://qa.mandrakesoft.com/twiki/bin/view/Main/RpmHowTo">http://qa.mandrakesoft.com/twiki/bin/view/Main/RpmHowTo (my original info source)



Hope one way or another we'll have an rpm for release.



Regards

Nigel

Lutz

#7
The whole dependency resolving mechanism in urpmi doesn't work for me. I never get the responses you do. If I do a 'urpmi automake' or any other package name it says 'unknown package'. For me urpmi only works when applied directly to a file. I tried to upgrade urpmi but get unresolved dependencies with Perl. I then tried to reinstall Perl and on and on and on and on ..... :-)



A system (rpm and urpmi) with so many dependencies in itself to work is a bad system, at least for an installation system, which should be able to work on a bare minimum of existing software.



newLISP by itself is enough work and I will abandon package-making once and for all. Any help contributing packages is very welcome. It works wonderful with Pjot and Slackware and I can put pointers on the download page of newlisp.org for existing packages/formats.



Lutz

nigelbrown

#8
I'd be happy to contribute rpm'ing for mandrake (assuming I get it going).

Regards

Nigel

nigelbrown

#9
After installing libreadline4 and libreadline4-devel my rpmbuild worked :

[nigel@p800 nigel]$ rpmbuild -ba newlisp-rpm.spec

...

+ exit 0





And rpm installs:

[root@p800 nigel]# urpmi rpm/RPMS/i586/newlisp-8.4.3-1mdk.i586.rpm



installing rpm/RPMS/i586/newlisp-8.4.3-1mdk.i586.rpm

error: failed to stat /home/nigel/smb4k/P1300/SharedDocs: Input/output error

Preparing...                ##################################################

   1:newlisp                ##################################################

[root@p800 nigel]#



and all these work:

[nigel@p800 nigel]$ newlisp-tk

newLISP v.8403 listening on port 64001

Connected to 127.0.0.1 on Mon Mar 28 19:54:30 2005

[nigel@p800 nigel]$ man newlisp

[nigel@p800 nigel]$ man newlisp-tk

[nigel@p800 nigel]$ newlisp

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



> (+ 2 3 4)

9

> (exit)

[nigel@p800 nigel]$



This is on Mandrake 10.1.

I no lomger have mdk 9.x installed so can't test it on these.



Lutz, I'll read

http://www.linux-mandrake.com/en/cookerdevel.php3">http://www.linux-mandrake.com/en/cookerdevel.php3

about rpm signing for mandrake.



Regards

Nigel

nigelbrown

#10
For my own future reference (and others perhaps) these are my steps for rpming

<1. Get rid of old rpm directory tree from home directory>

[nigel@p800 nigel]$ rm -rf rpm

<2. Download tgz archive>

[nigel@p800 nigel]$ wget http://newlisp.org/downloads/development/newlisp-8.4.7.tgz">http://newlisp.org/downloads/developmen ... -8.4.7.tgz">http://newlisp.org/downloads/development/newlisp-8.4.7.tgz

--21:06:33--  http://newlisp.org/downloads/development/newlisp-8.4.7.tgz">http://newlisp.org/downloads/developmen ... -8.4.7.tgz">http://newlisp.org/downloads/development/newlisp-8.4.7.tgz

           => `newlisp-8.4.7.tgz'

Resolving newlisp.org... 128.121.96.1

Connecting to newlisp.org[128.121.96.1]:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 534,047 [text/plain]



100%[===================================================>] 534,047       24.45K/s    ETA 00:00



21:06:55 (24.27 KB/s) - `newlisp-8.4.7.tgz' saved [534047/534047]

<3. make rpm directory tree>

[nigel@p800 nigel]$ mkdir -p ~/rpm/{BUILD,RPMS/i586,RPMS/noarch,SOURCES,SRPMS,SPECS,tmp}

<4. Mandrake likes bz2 so I change it (probably not needed)>

[nigel@p800 nigel]$ bzme newlisp-8.4.7.tgz

keeping:

Compressing newlisp-8.4.7.tgz ... => newlisp-8.4.7.tar.bz2 (528kb => 424kb)

<put it in the rpm tree>

[nigel@p800 nigel]$ mv newlisp-8.4.7.tar.bz2 rpm/SOURCES/

<5. use file-roller to extract .spec file from doc directory in archive to home directory>

[nigel@p800 nigel]$ file-roller rpm/SOURCES/newlisp-8.4.7.tar.bz2

<6. use gvim to edit to adjust .tgz to .tar.bz2 in line

Source:         http://newlisp.org/download/%25%7Bname%7D-%25%7Bversion%7D.tgz">http://newlisp.org/download/%{name}-%{version}.tgz

>

[nigel@p800 nigel]$ gvim newlisp-rpm.spec

<7. build the rpm>

[nigel@p800 nigel]$ rpmbuild -ba newlisp-rpm.spec

...

+ exit 0

<8. go to root and remove previous newlisp and try out new rpm>

[nigel@p800 nigel]$ su

Password:

[root@p800 nigel]# rpm -q newlisp

newlisp-8.4.3-1mdk

[root@p800 nigel]# rpm -e newlisp-8.4.3-1mdk

[root@p800 nigel]# rpm -q newlisp

package newlisp is not installed

[root@p800 nigel]# urpmi rpm/RPMS/i586/newlisp-8.4.7-1mdk.i586.rpm



installing rpm/RPMS/i586/newlisp-8.4.7-1mdk.i586.rpm

Preparing...                ##################################################

   1:newlisp                ##################################################

[root@p800 nigel]#

<9. go back to being a user and run a couple of commands>

[root@p800 nigel]# exit

exit

[nigel@p800 nigel]$ newlisp

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



> (+ 2 3 4)

9

> (exit)

[nigel@p800 nigel]$ man newlisp

[nigel@p800 nigel]$ man newlisp-tk

[nigel@p800 nigel]$ newlisp-tk

newLISP v.8407 listening on port 64001

Connected to 127.0.0.1 on Mon Mar 28 21:32:30 2005

[nigel@p800 nigel]$





Regards

Nigel

nigelbrown

#11
Running rpmlint shows a couple of non-mdk-isms

W: newlisp summary-not-capitalized lisp like programming language

<it would like a capital L in .spec file line

Summary:        lisp like programming language

>

W: newlisp non-standard-group Development/Tools



Current application groups for mandrake ( http://qa.mandrakesoft.com/twiki/bin/view/Main/MandrakeGroups">http://qa.mandrakesoft.com/twiki/bin/vi ... rakeGroups">http://qa.mandrakesoft.com/twiki/bin/view/Main/MandrakeGroups ) are:

...

Development/Kernel

Development/Databases

Development/Perl

Development/Python

Development/C

Development/C++

Development/Java

Development/GNOME and GTK+

Development/KDE and Qt

Development/Other

...

so newlisp would be Development/Other ?

in .spec file line

Group:          Development/Tools



Regards

Nigel

Lutz

#12
All these steps can be automatically done from a script in Makefile in the newLISP distribution:



(1) dowload newlisp-x.x.x.tgz to home directory



tar xzvf newlisp-x.x.x.tgz
cd newlisp-x.x.x
make rpm


script in Makefile does all the necessary creation of the rpm directory and subdirecories then creates and signs the rpm, here the snipped from Makefile:



rpm:
        -mkdir $(HOME)/rpm
        -mkdir $(HOME)/rpm/BUILD
        -mkdir $(HOME)/rpm/SOURCES
        -mkdir $(HOME)/rpm/SPECS
        -mkdir $(HOME)/rpm/SRPMS
        -mkdir $(HOME)/rpm/RPMS
        -mkdir $(HOME)/rpm/tmp

        echo '%_topdir  $(HOME)/rpm' > $(HOME)/.rpmmacros
        echo '%_tmppath $(HOME)/rpm/tmp' >> $(HOME)/.rpmmacros
        echo '%_signature gpg' >> $(HOME)/.rpmmacros
        echo '%_gpg_name Lutz Mueller' >> $(HOME)/.rpmmacros

        cp $(HOME)/newlisp-$(VERSION)/doc/newlisp-rpm.spec $(HOME)/rpm/SPECS/
        cp $(HOME)/newlisp-$(VERSION).tgz $(HOME)/rpm/SOURCES/
        rpm -ba --sign $(HOME)/rpm/SPECS/newlisp-rpm.spec


The reason it fails on my system is that the "rpm -ba" which calls a "rpmb" does not work and a "rpmbuold -ba" cannot be done becuase I am not able to install a "rpmbuild".



The only thing you would have to change is "_gpg_name Lutz Mueller" to your name. Mandrake accepts only signed rpm files, and you have to make the pgp key first and import it to rpm once.



Lutz

nigelbrown

#13
Thanks Lutz

I think I remember mention of the script previously

how forgetful, I'll use it from now on.

Regards

Nigel

nigelbrown

#14
Hi Lutz,

I've done an rpm for 8.5.0 signed by me - could you try it out for me?

Built on Mandrake 10.1



Regards

Nigel