25-Apr-2024 10:06 GMT.
UNDER CONSTRUCTION
Anonymous, there are 29 items in your selection
[Files] standalone Amiga 68020 rpm4.0 portedANN.lu
Posted on 04-Dec-2003 21:29 GMT by whoosh29 comments
View flat
View list
This is an ixemul unoptimised 68020 Amiga port of rpm4.0, all database facilities have been disconnected, you can use it to extract archives from xyz.rpm files from the internet. Visit: http://www.whoosh777.pwp.blueyonder.co.uk/rpm.html

This port is standalone in that you can download it, decompress it, run the startup script and immediately start extracting archives from current xyz.rpm files.

It does need ixemul.library, the archive contains the only version of ixemul.library that I trust which happens to be a 68000 version from 1990!

It has successfully extracted archives from all rpm files I have thrown at it. Database facilities are disconnected as they require threads and mutexes: not available for 68k Amiga gcc currently.

standalone Amiga 68020 rpm4.0 ported : Comment 1 of 29ANN.lu
Posted by whoosh on 04-Dec-2003 20:40 GMT
I should add that the program is unoptimised in order
to speed up the port process as I use a 68030:

If I did it optimised it wouldnt be ready yet,

I am going offline in a few days so I had to get it done
fast otherwise leave it till 2004.

I will try to create an optimised version after the holiday,
I may also look into hacking database support,

further work will have to wait till 2004 as I am out of time,

I attempted a noixemul version however dozens of things are missing
at the linker stage, so I reverted to ixemul. Actually as many as
possible of the suite of programs are noixemul but rpm itself
requires ixemul.

One other thing, to complete the port I needed libbz2.a
(bzip2 library), this not being on Geekgadgets I have ported that
(very straightforward port) and its on the website.

Thus Geek builds that require -lbz2 will now function,
standalone Amiga 68020 rpm4.0 ported : Comment 2 of 29ANN.lu
Posted by Neko on 04-Dec-2003 21:03 GMT
In reply to Comment 1 (whoosh):
LOOK OUT!

Genesi are going to steal it.

:)

=Neko=
standalone Amiga 68020 rpm4.0 ported : Comment 3 of 29ANN.lu
Posted by Amon_Re on 04-Dec-2003 21:06 GMT
In reply to Comment 2 (Neko):
You shameless git! ;)

But yea, an RPM like thingy on AOS/MOS would rule

Cheers
standalone Amiga 68020 rpm4.0 ported : Comment 4 of 29ANN.lu
Posted by whoosh on 04-Dec-2003 22:18 GMT
In reply to Comment 2 (Neko):
<P>
well it allows all of us with 68k Amigas to steal a lot of stuff!
</P><P>
There is so much stuff which is only available as rpm files,
eg rpm4.2 is only available as an rpm rpm-4.2-1.src.rpm,
</P><P>
I only use it for extracting archives, for things of my own
I will just use either .lha for Amiga things or .tar.gz for
Geekgadget type of things,
</P><P>
I find rpm's are just adding an unnecessary level of abstraction,
this is a problem because it makes fixing things very
impenetrable. Only a small number (possibly zero) of super-geeks will know
how to operate the mechanism fully,
</P><P>
things need to be made simpler, not more complicated,
</P><P>
In fact I think .patch and .diff files make it very difficult to
"see" whats going on,
</P><P>
Geekgadgets has been just fine with .tar.gz,
</P><P>
because of the mutex + thread requirement I very nearly
abandoned the port then suddenly I had a brainwave how to
get around this,
</P><P>
anyway the port happened because other people are choosing
to create rpm files,
</P><P>
whoosh
(I wonder if the HTML in this post will function)
standalone Amiga 68020 rpm4.0 ported : Comment 5 of 29ANN.lu
Posted by greenboy on 04-Dec-2003 22:34 GMT
In reply to Comment 4 (whoosh):
Maybe Christian is deprecating <P> ; }

Try <BR>
standalone Amiga 68020 rpm4.0 ported : Comment 6 of 29ANN.lu
Posted by Anonymous on 05-Dec-2003 00:24 GMT
Please provide (libbz2) source directly alongside binaries, not pointers to 3rd party sites over which you have no control. Doing so contravenes the license terms, and can make things unncessarily complicated for users.

Thanks.
standalone Amiga 68020 rpm4.0 ported : Comment 7 of 29ANN.lu
In reply to Comment 6 (Anonymous):
Message removed by Christian Kemp for violation of ANN's posting rules.
Specific reason from moderator: Flooding/Abuse
standalone Amiga 68020 rpm4.0 ported : Comment 8 of 29ANN.lu
Posted by Crumb // AAT on 05-Dec-2003 08:04 GMT
In reply to Comment 3 (Amon_Re):
I used an xad rpm module some time ago.
Anyway good job, I guess this program will allow the use of the latest versions.
standalone Amiga 68020 rpm4.0 ported : Comment 9 of 29ANN.lu
Posted by Anonymous on 05-Dec-2003 08:23 GMT
In reply to Comment 6 (Anonymous):
*Bzzzt*

Wrong.

It is pefectly allowable to point to the location of the relevant additional sources, one does not have to provide every single fricking library - there is a hing called the "internet" out there which you may have heard of which makes it easy to do. Try it some time...
standalone Amiga 68020 rpm4.0 ported : Comment 10 of 29ANN.lu
Posted by Trizt on 05-Dec-2003 09:50 GMT
Seems this AmigaRPM is more thought as extracting tarballs from the RPM (at least thats the impression I get of the post), wouldn't in that case been better to port rpm2targz?
standalone Amiga 68020 rpm4.0 ported : Comment 11 of 29ANN.lu
Posted by Elwood on 05-Dec-2003 10:50 GMT
Is there someone to explain what is the need for such tool ? You can extract a files from a RPM, that's all ? What do you do with the Linux binary on your Amiga ?
standalone Amiga 68020 rpm4.0 ported : Comment 12 of 29ANN.lu
Posted by Trizt on 05-Dec-2003 11:32 GMT
In reply to Comment 11 (Elwood):
There are source RPMs eg: mplayer-1.0pre2.20031120-0.1.src.rpm
You can then extract the tarball (of course that one you can download too) and all the patches that may be used in that RPM-release and of course the spec file that tells what options are used to compile the binary.

Then we have the noarch packages, eg: perltidy-20030726-1mdk.noarch.html
Those runs on any arch, as long as you have what is needed to upfill the dependency of the RPM.

And of course, you could make a RPM release of a software for Amiga too. I have seen a handfull of specfiles that had some buildrules for an Amiga version of the RPM.

But I guess the AmigaRPM is most usefull for those that uses an RPM based linux on their Amiga/Pegasos, they can extract the kernel directly from the RPM instead of extracting it under linux and then transfear the kernel iamge to the FFS partition. So, it's not completly useless.
standalone Amiga 68020 rpm4.0 ported : Comment 13 of 29ANN.lu
Posted by Neko on 05-Dec-2003 11:52 GMT
In reply to Comment 6 (Anonymous):
Good luck trying to get "whoosh" to do that.

I tried to get his modified AFPL (i.e. more strict and free than GPL!) sources
for Ghostscript 8 and he got all paranoid and defensive about Genesi stealing
his property.

MorphOS has a shared library implementation of libbz2 anyway (coming soon to
a Pegasos near you!) which I did myself. We don't have to release the source
(and neither does Whoosh) because libbz2 is actually under an MIT-style
license.

RPM though..

=Neko=
standalone Amiga 68020 rpm4.0 ported : Comment 14 of 29ANN.lu
Posted by Neko on 05-Dec-2003 11:53 GMT
In reply to Comment 12 (Trizt):
Well, sane people would use the "rpm2cpio" tool (and rpm2targz and rpm2tarbz2
wrapper scripts) to simply tramsute the useless RPM file and remove all of it's
stupid databaseyness, into a plain ordinary tar.blah archive.

=Neko=
standalone Amiga 68020 rpm4.0 ported : Comment 15 of 29ANN.lu
Posted by Elwood on 05-Dec-2003 13:08 GMT
In reply to Comment 12 (Trizt):
Thanks.

So it would be nice to have a XAD client to do that, so that it can be extracted by all apps.
I'm thinking about Dopus here :-)
standalone Amiga 68020 rpm4.0 ported : Comment 16 of 29ANN.lu
Posted by tonya on 05-Dec-2003 16:27 GMT
In reply to Comment 15 (Elwood):
suxx that its 68k ....why not a WOS or pup compile aswell?
standalone Amiga 68020 rpm4.0 ported : Comment 17 of 29ANN.lu
Posted by whoosh777 on 05-Dec-2003 18:21 GMT
@greenboy
Thanks for the tip, will try < BR > in this post,
<BR>
@Trizt
<BR>
ok, I never heard of rpm2targz, thats why.
Now this port will do everything that rpm can do
provided it doesnt involve databases. So it may
be useful for things other than extracting
tar.gz archives.
<BR>
Now I may be able to fix database support which
would lead to a full port, so it may not be
a totally pointless effort.
Difficult problems have to be approached in stages,
this is stage 1,
<BR>
Note that a lot of websites dont provide the tar.gz
downloads in addition to the .rpm's eg rpm4.2 is only
available in .rpm format.
<BR>
Maybe I can look into rpm2targz, will have to wait
till 2004 as I have run out of time
<BR>
rpm2cpio is in this port, I have no idea what it does,
I think it is noixemul, (not sure),
<BR>
:with such a port a lot of stuff just appears as if
by magic in different directories,
<BR>
@tonya and @NEKO,
I have provided a downloadable snapshot of my
debugged + fixed rpm4.0 build AS-IS,
this will regenerate this port on a 68k gg: setup,
you will need first to decompress the libbz2.a binary
archive directly to gg: via tar,
If libbz2.a is not available, you will have to port this first,
but it is problem free to port.
if you have a gg: setup for other
platforms it could build out of the box.
You will need to alter the CPU, currently it is 68020,
the above download explains what to do.
<BR>
libbz2 doesnt need any configuring,
it really is straightforward to port,
<BR>
Not the case with rpm4.anything on
68k AmigaOS, every step of the way is problematic,
the configure script of rpm4.2 is a 730kb unix script
and ISTR it always crashes (starts printing out
endless y's with umlauts), so you end up with a partially
configured setup! How wonderful NOT!
<BR>
Hands up anyone who wants to
debug a 732365 byte unix shell script.
standalone Amiga 68020 rpm4.0 ported : Comment 18 of 29ANN.lu
Posted by greenboy on 05-Dec-2003 18:24 GMT
In reply to Comment 17 (whoosh777):
The <BR> comment was just a [bad] w3c joke. You don't need to use anything in comments but linefeeds.
standalone Amiga 68020 rpm4.0 ported : Comment 19 of 29ANN.lu
Posted by Anonymous on 05-Dec-2003 19:10 GMT
In reply to Comment 15 (Elwood):
> So it would be nice to have a XAD client to do that, so that it can be
> extracted by all apps. I'm thinking about Dopus here :-)

XAD has RPM support since a few years already.
standalone Amiga 68020 rpm4.0 ported : Comment 20 of 29ANN.lu
Posted by S.k. on 05-Dec-2003 20:00 GMT
1) Announce software release
standalone Amiga 68020 rpm4.0 ported : Comment 21 of 29ANN.lu
Posted by S.k. on 05-Dec-2003 20:04 GMT
(keyboard bounced, double post)

1) Announce software release
--a) respond to deflate bubble
--b) another response suggesting "better" way to do it
--c) another response letting more air out of bubble
-2) Announce revision to initial release
---a) questions asking why it's necessary
---b) statements insisting it's not necessary
---c) crowd jeering "we already use something else!"

I wonder why anyone bothers?
standalone Amiga 68020 rpm4.0 ported : Comment 22 of 29ANN.lu
Posted by whoosh777 on 05-Dec-2003 21:28 GMT
In reply to Comment 21 (S.k.):
@S.k,

you have abstracted very concisely my experience!

Here are some perspectives on this:

A rule which I have been following for quite a while
is that I only work on programmes that I intend to
use myself. I try as much as possible to only
work on features which I want or need.

This way if the program fails I at least am 1
happy customer!

:also no time has been wasted because each feature
will be used by me,

Only if a lot of people request some feature which
is not for me will I work on it.

There is a danger of writing programs for an imagined
user, you can end up creating lots of features that
noone uses. I could point out some examples but I will
make enemies!

A different perspective: I have noticed that the
more work I put into a program the less response I get.

People tend to email to complain, if they cannot find
anything to complain about they become
remarkably silent.

If I rapidly implement all the stuff someone complains
about they can become quite upset,

Some people also seem to like bad programs, perhaps
it makes them feel secure, things which are too advanced
can be intimidating.

One other POV is that when people get angry about
some new s/w or h/w its because it clashes with
their own agenda. So if platform A releases some
new very useful s/w thing people of platform B get
very angry, and vice versa,

so sometimes on the internet
"anger is the sincerest form of flattery"!

because if something is totally useless why get angry?

you know you have done something useful if
people get angry.

if everyone is enthusiastic you have probably done
something useless,

delinquent children often do everything to make
people angry, if they fail to make someone angry
they get quite depressed,

Currently on 68k Amiga I think rpm is mainly of interest
to developers, so it wont be of direct relevance to
most 68k Amiga people. So it will be a narrow slice of
the community who will read this thread,

However because a lot of cross-platform stuff is in .rpm
format it indirectly affects everybody.

I think GNU have their own totally different alternative
to .rpm, rpm being a Redhat thing,
standalone Amiga 68020 rpm4.0 ported : Comment 23 of 29ANN.lu
Posted by Kjetil on 05-Dec-2003 23:44 GMT
In reply to Comment 22 (whoosh777):

Currently on 68k Amiga I think rpm is mainly of interest
to developers, so it wont be of direct relevance to
most 68k Amiga people. So it will be a narrow slice of
the community who will read this thread,


Yes and whats the point, rpm being one of many packet systems used on linux, rpm is probably the most popular one, I I know as I test many linux distributions, once the developers starts using them they might start packing there Amiga programs whit rpm, rpm packages are essayer to install then .lzx and .lha files, the install script is bundled whit the archive.


However because a lot of cross-platform stuff is in .rpm
format it indirectly affects everybody.


and this is way it used by almost all linux distributions.


I think GNU have their own totally different alternative
to .rpm, rpm being a Redhat thing,


Well you have .deb packages they are only used on Debian if I'm right.
and I think Suse has it's own package manager,
Slackware just using tar.gz / tgz files (this is way I don't like it)

as referees you can look at rpmfind.net source for libc,
(YellowDog linux PPC uses RPM packages)
standalone Amiga 68020 rpm4.0 ported : Comment 24 of 29ANN.lu
Posted by Trizt on 06-Dec-2003 07:57 GMT
In reply to Comment 17 (whoosh777):
I must say, I always thought that the rpm2targz was a binary, but just a script that uses quite common shell tools, I'm not sure (as I haven't checked) if everything is part of the GG, but I think so.

For getting the database to work, I think you need to port Berklys DB 4, as I think that was what I had on my LFS when I built RPM onto it.

By the way, don't use html-tags, use an extra return, and you will get a lot prittier looking text.
standalone Amiga 68020 rpm4.0 ported : Comment 25 of 29ANN.lu
Posted by Alan L Buxey on 06-Dec-2003 09:16 GMT
handy

yes, its a pain getting the tarballs for RPM - fortunately a few distributions provide their source balls...eg slackware (http://sunsite.lanet.lv/ftp/mirror/Slackware/source/ap/rpm/4.1/ )

..but with RPM you need RPM to get RPM! (unlike our lha on Amiga which can have self extracting binary) wierd!

for database support, you'd also need to have the Berkeley DB libraries
working. ( http://www.sleepycat.com/download/index.shtml )


various bits on Aminet for you to check up on too...and dont forget to put your own work on there! :-)

Alan
standalone Amiga 68020 rpm4.0 ported : Comment 26 of 29ANN.lu
Posted by Kjetil on 06-Dec-2003 12:48 GMT
In reply to Comment 25 (Alan L Buxey):
.but with RPM you need RPM to get RPM! (unlike our lha on Amiga which can have self extracting binary) wierd!

The trouble whit the DB is that need to fully working db, or else you get reports of missing files and library's that are installed, and you need to get the same packages for all your system files and programs whit dependences, or else might get confused on whats installed and whats not,

installing rpm's whit --nodeps, well it might work how ever it do not salve incomplete database problem problem on installation, this some thing that Amiga-programs have checked for them self by requiters whit warnings about missing library's, and version numbers warnings, if the db do not disintegrate the usage of message boxes to report missing files or packages then rpm can be fine contribution, how ever rpm should find it self in side the OS not as an external 3rd party contribution, all programs should be registered in the db at install including AmigaOS4.0 or MorphOS, and OS upgrades, then again basing the dependencies on packages it stupid in one way as it make it hard to find whats wrong whit out unistalling and installing a package, and some time new version of the package do not include files that have bin removed, due to being absolute in the new package,

(In other words RPM salves some problems and add some new problems.)
standalone Amiga 68020 rpm4.0 ported : Comment 27 of 29ANN.lu
Posted by whoosh777 on 06-Dec-2003 14:45 GMT
So its 2 newlines to structure the text?!


3rd time lucky?


Any other text formatting tips for ann.lu posts?


@Kjetil,


What is GNU safari?


is that something like rpm??


(If you go on internet-safari you may see a hurd
(herd) of GNU programmers!)



the reason for this rpm is that for me I find rpm's
obstructing my path in many directions,


eg I visit google to look up something
and find it is only available as rpm,
I am referring here to either cross-platform
material *or* material for a specific
non amiga platform,


There are 4 different ways to fix s/w problems:


1. Write the s/w from scratch, this could be weeks
or months of work. This is true development, but its
slow moving, the outcome is the best because you know
your way around the code inside out as you created it.


2. hack some specific C code for an alternative platform,
for h/w drivers people out there probably hack eg x86 assembler:
if a driver is accessible to s/w via an API then it probably can
be hacked so eg if you have API function DrawLine(x0, y0, x1 , y1 , colour),
you would disassemble the ram or rom of this function,


3. port a cross-platform s/w module: this stuff
has been designed to be ported to arbitrary
platforms eg rpm4.0 here, GNU and friends have
created a standardised infrastructure for porting programs,
Porting to a new platform often runs into obstacles though eg they
havent fully anticipated the 68k Amiga context.
If there are major obstacles then the program wont be available,
for rpm4.0 I have reduced this to having a submodule not available,


4. Someone may already have created the s/w and its on geekgadgets or
www.aminet.net,


No point reinventing the wheel so one should try 4. then 3. ,
then 2. lastly 1.


essentially the ability to extract archives
from .rpm's is a generic obstruction to
porting programs to 68k Amiga.


So someone has to make rpm available,


@Trizt


I believe you that rpm could be done with db4,
the current rpm which is 4.2 only requires db3,
(sometimes porting an earlier version of a s/w module
presents less obstacles)


the catch with db3 is that I am looking at 68k Amiga,
and db3 AS-IS requires threads and mutexes which
are not currently available for 68k Amiga,
ie the linking command says -lpthread or -lthread, so if
libpthread.a and libthread.a arent there,
the binary cannot be generated.


:thus db3 can (I think) be ported to 68k Amiga, its just that the
programs wont link! ie db3 has dependencies in libpthread
which isnt available, so its like giving you a DVD in 1985:
no DVD player to play it on!


On Linux libbz2.a, libpthread.a and
everything else will be there so creating rpm4.2
will be just a matter of a few shell commands and waiting
a few minutes. If you built it via rpm it may even be
just 1 rpm command (possibly rpm --build)


for 68k Amiga the first shell command (700kb unix shell script)
after many hours crashes, so you have an incompletely configured
build, the second shell command will generate
dozens of pages of error messages eg from the compiler + linker
and fail repeatedly. The build procedure will be plowing through
ELF stuff unable to find eg 64 bit stuff,


So you never even reach the 3rd shell command,


as rpm is a Linux thing you can be sure that the full version of rpm
will always be available on Linux! (almost a tautology)


BTW this port generates librpm.a which is:
rpm4.0:usr/local/lib/librpm.a, thus other programs
that require rpm facilities can now be done,


these lib#?.a files are cross platform linker libraries
I think, so a PC developer and a Mac developer and an Amiga
developer could have an meaningful discussion about eg libbz2
or libpthread! eg I can tell a Mac developer that libbz2 is
required for a port of rpm4.0 to the Mac, Mac libbz2 will be
a completely different binary from Amiga libbz2, but the
API is identical,


anyway libpthread.a needs to be implemented first,
to compile in db3 as-is,


in January after the holiday I will have a
look at trying to bring the database facility
by some means,


its an open ended problem so I may see how far I
can get within say 2 weeks, if progress is good I will
continue beyond the 2 weeks but if the problem is
impassable (and possibly impossible!) then I will give up,


@Alan Buxey


there is a catch 22 problem eg rpm4.2 is only
available as an rpm. Thus you need to port an
earlier rpm which is available as a .tar.gz file
eg I ported rpm3 first and then use this to
extract archives from rpm4.2!


I am rapidly running out of webspace (30Mb) so
eventually further stuff will overflow into
www.aminet.net.


The great thing about the Amiga is that you can
just download decompress and run programs,


the build procedure of Linux is only feasible
for very fast machines, eg the configuring script
for rpm4.2 literally took the best part of a day on my machine,


ie Linux has a huge hard-disk + CPU footprint,


Linux on an A500 is impossible!


In the space of LinuxOS you could probably fit
20 AmigaOS's?


whoosh
standalone Amiga 68020 rpm4.0 ported : Comment 28 of 29ANN.lu
Posted by Trizt on 07-Dec-2003 15:44 GMT
In reply to Comment 26 (Kjetil):
<B><I> installing rpm's whit --nodeps, well it might work how ever it do not salve incomplete database problem problem on installation... </I></B>

Yes, the RPM system needs that the database is up to date, but there are ways to get around that, by making some fake packages to cover the standard installation of AmigaOS/MorphOS. If I don't remeber it wrong, in BLFS there is a way to include the already built stuff into a new RPM databas, so you don't have to use the --nodeps while building the first RPMs that would otherwise miss dependencies in the RPMdatabase.
But RPM, as anyother pacakge manager system, the best if all software is installed used it. But there was a mandrake solution to this, if I remeber it right, checkinstall, that allowed you to build RPMs automatically when compiling from a tarball, so nothing wouldn't prevent anyone from making a tool that could use the amiga installer and build a RPM.
Gosh, I'm ranting....
standalone Amiga 68020 rpm4.0 ported : Comment 29 of 29ANN.lu
Posted by whoosh777 on 07-Dec-2003 18:47 GMT
In reply to Comment 28 (Trizt):
The AmigaOS libs: run-time libraries is a much
more elegant approach.


:all programs always get the most up to date
library when running, no database required.


so if you run an OS1.2 program on an OS3.0 machine
you get OS3.0 facilities, eg OS3.0 window gadgets,


the reason being that these facilities are done
by #?.library calls which are external to the
OS1.2 binary.


On GNU, Linux, Unix you would have to rebuild every
single program every single time you update any
library.


:you end up spending your entire life rebuilding,


In the original Unix concept the rebuilding was the
job of the sysop and this was a full time job.
:there would be a guy in an office paid to maintain
and rebuild the entire system.


My terminal once froze up on a Unix system and
it was maybe 3am in the morning, I couldnt abandon the
terminal as someone could access my account,
it was strictly forbidden to switch off the machines
I think you needed a key to access the power switches,
a security guard patrolled the area to prevent people
lifting the expensive gear!


So I went to the help desk and was escorted through
miles of corridors into the basement to the sysops office,
he asked me my user-id, entered my account and fixed
the crash.


With Linux each user has this maintainer burden,
on a commercial OS like AmigaOS
this burden is for eg Hyperion and there is no
rebuilding due to libs:,


The only disadvantage of the libs: approach is
that there is learning curve required for the
programmer to create new #?.library's,
also its probably less portable.


You know that if enough of the infrastructure is
ported to eg 68k Amiga you wont need Linux:


all Linux progs could be ported to run directly on
the Amiga.


Most of the infrastructure is in fact already available,
its just a few tricky things which arent.


There are dozens of variants of Unix and Linux, but
they all run exactly the same programs, its like
Tate & Lyle sugar vs Silver Spoon sugar,


its all just sugar!


If I put Tate & Lyle sugar into a Silver Spoon carton
you wouldnt know!


I think its the commercial programs that make one
OS different from another as they often only target
one platform,


One thing I dont like about *nix is that it is endless
learning curve to do anything at all, also there is
little helpful documentation on anything. So its endless
badly documented difficult stuff,
Anonymous, there are 29 items in your selection
Back to Top