Nekoware Successor - Discussion

If you're coding on or porting to IRIX, this is the forum for discussion.
User avatar
Raion-Fox
Founder
Posts: 199
Joined: Fri Nov 17, 2017 12:23 am
Location: Virginia
Contact:

Nekoware Successor - Discussion

Post by Raion-Fox » Mon May 28, 2018 9:09 pm

Greetings,

It's been nearly a week since the sky fell on us so to speak and I think we're picking up the pieces relatively well.

I've been talking this for a while, but I finally decided to make it official.

One of the IRIX Network's goals, besides rebuilding our community and our knowledge, is to promote FOSS of IRIX.

To that end I'd like to make awareness of something I've been brainstorming:

A successor to Nekoware.

Here's some names I've thrown around:
  • IRIXWare
  • Ignium
  • SGIWare
But I wanted to make this a community thing.

Besides the name, I see a few major improvements we can make:
  • Dependency resolution provided by a frontend script that can fetch packages remotely, extract them, resolve dependencies, and opens Software Manager to confirm.
  • Standardized path prefix, i.e. /usr/local or /opt/local.
  • Patch repository for building from source
  • Narrower scope of LTS packages that can be more easily and interactively tested and vetted.
I'd also like a crowdsourced bounty type system, but that will have to come later, not at the start.

I'll kick it your way guys.
I'm the manager

Besides irix.cc, I run these sites:

projectkitsune.com

kazuo.io

User avatar
Sudos
Posts: 2
Joined: Tue May 22, 2018 9:24 pm

Re: Nekoware Successor - Discussion

Post by Sudos » Mon May 28, 2018 9:40 pm

a package management system like the *BSDs have would be the easy way to go. something like an apt-based system would also work, if you want to figure out building packages specifically for each MIPS CPU type, if that's possible.

so a deb line would look like

Code: Select all

deb http://packages.irix.cc/irix version.number.here/R5000 main
or something along those lines.
This does have a few downsides in that I don't think it's technically possible to compile for the specific MIPS CPUs in use? unless I'm mistaken.

the BSD-like package system instead, would make more sense for precompiled packages, and a BSD-like ports system would allow people to compile their own packages as well so long as the formulas are available for doing such. some things will take hellishly long to compile but there are some in the community that I don't think would mind this sort of thing. also gives the system more of a personal feeling of "my machine did the work to get here" instead of just downloading/unpacking/installing.

to each their own, though.

User avatar
Raion-Fox
Founder
Posts: 199
Joined: Fri Nov 17, 2017 12:23 am
Location: Virginia
Contact:

Re: Nekoware Successor - Discussion

Post by Raion-Fox » Mon May 28, 2018 9:48 pm

My idea was something along these lines:

Code: Select all

ipkg -r irssi
The script would:

Read a remote dependency list for the latest version of irssi

Download the packages and extract them all into a /tmp dir

And then proceed into Software Manager automatically.
I'm the manager

Besides irix.cc, I run these sites:

projectkitsune.com

kazuo.io

devv
Posts: 9
Joined: Wed May 30, 2018 7:08 am

Re: Nekoware Successor - Discussion

Post by devv » Wed May 30, 2018 8:03 am

Hey,

Great idea, because Nekoware, while excellent to have it at all, had a number of problems. The primary ones I disliked was uncertainty of availability or speed of mirrors (sometimes no mirrors available at all), packages which always include source and can't be downloaded without it, and lack of human coordination around packages which ultimately resulted in the most useful packages not even found in Nekoware main repo, but in either beta repository or in users' individual folders.

Do you plan to use MIPSpro or GCC?

Would you keep descript.ion format for package lists or not?

In any case, regarding the package manager:

1) There is currently a command-line tool for Nekoware which properly parses dependencies and downloads and installs packages:
http://techpubs.spinlocksolutions.com/i ... installer/

The particular strong points of this script are:
- Coded in Perl so that it works on default Irix installation and the old Perl version that ships with Irix (one can download the script itself with the help of built-in Netscape (or even Perl LWP's alias "GET"? I didn't check...) and the script does not need any external dependencies
- Works on both Linux and Irix (on Linux you can both list and download packages, you just can't run "inst")
- Parses dependencies 100% correctly, even though Nekoware's descript.ion contains bug in syntax in a couple places
- Includes a built-in downloader, so it can download files on its own without external dependencies even before a person manages to install wget
- Places all downloaded files in a single directory, so if some packages are already downloaded, it does not download them again, and it can resume partial downloads

Minor drawbacks of this script:
1.1) The original idea was that a person runs 'nekodeps.pl <packages...>' and the script generates a shell script which can then be ran to download files and run "inst", but even immediate download and install is supported. So if this script would be used as a package manager, then obviously the default mode should be changed to running immediately, rather than outputting a shell script.
1.2) While currently the script avoids downloading files twice (thanks to using wget's -c option which skips files if they are already downloaded), it does not actually run "versions" to see which dependencies are already installed, so that it doesn't have to mention or check them at all. This is easy to add.

Finally, the problem of inst itself is that even in the latest Irix, running "inst" with a couple "-f" arguments (a couple tardists at once) often results in inst failing for random reason. (If a person then re-runs the line or manually opens the missing tardists while inside inst shell, it works fine.). So this is a work-aroundable problem, but not very user friendly. I suspect it would work much better if drawback #1.2 above is fixed so that it runs inst -f on as few packages as necessary, and if packages are optimized to not include source, so downloading, opening, and installing them would be much quicker.

2) Regarding porting dpkg and apt-get to Irix, I played with this extensively some time ago, and these programs depend on a number of other programs which I got working on Irix to a pretty good extent, but some of them I simply couldn't get to work, and also the list of those small dependencies which are taken as granted in Linux (yet which are troublesome to get working under Irix) is huge.
Last edited by devv on Wed May 30, 2018 8:21 am, edited 4 times in total.

devv
Posts: 9
Joined: Wed May 30, 2018 7:08 am

Re: Nekoware Successor - Discussion

Post by devv » Wed May 30, 2018 8:16 am

Also, maybe worth mentioning as an idea, if you are not considering that using tardist packages is a requirement and if a package manager could be completely separate, then maybe it would suffice to use a helper tool like GNU Stow. The point of stow is that each package is installed into its own folder, like e.g. /usr/local/stow/bash-4.2, and then when you run "stow" on it, it symlinks or copies in the most optimal way all files from /usr/local/stow/bash-4.2 into /usr/local/, and it also reports about any conflict in files between packages.

This approach has the benefit of being as simple as it gets, and one can easily add or remove packages or versions by just un-stowing some and stowing others.

User avatar
commodorejohn
Posts: 85
Joined: Tue May 22, 2018 1:09 am

Re: Nekoware Successor - Discussion

Post by commodorejohn » Wed May 30, 2018 3:37 pm

devv wrote:
Wed May 30, 2018 8:03 am
1) There is currently a command-line tool for Nekoware which properly parses dependencies and downloads and installs packages:
http://techpubs.spinlocksolutions.com/i ... installer/
I'll second this suggestion. That script is already almost ideal, minus the issues devv mentioned and the trickiness of bootstrapping it on a fresh install (which I wrote about here.) Rather than port over an entire separate package manager and whatever massive modern freenix ecosystem it requires in order to be able to run, it would make much, much more sense to keep things lean and rely on the resources IRIX already has for this task.
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/SH-09/MT-32/D-50, Yamaha DX7-II/V50/TX7/TG33/FB-01, Korg MS-20 Mini/ARP Odyssey/DW-8000/X5DR, Ensoniq SQ-80, E-mu Proteus/2, Kilpatrick Phenol, Behringer Model D

User avatar
Raion-Fox
Founder
Posts: 199
Joined: Fri Nov 17, 2017 12:23 am
Location: Virginia
Contact:

Re: Nekoware Successor - Discussion

Post by Raion-Fox » Wed May 30, 2018 3:44 pm

Ideally:

C libraries will prefer MIPSPro
C programs can use either
C++ libs and programs should be using GCC (because MIPSPro C++ is incompatible with G++)

As far as nekodeps goes, I'm gonna start coding a dependency resolution system soon - but first, I'm gonna go on a little packaging spree and do a bunch of libs and basic programs in C so that we have some basis to start building from.

I don't think GNU Stow or other complexities really fit in with the scope of the project. Knowing my work schedule and ability to devote time to this, I want to ensure that even if I'm busy, someone can maintain the build system and dependency resolution.

Of course, if I can get people to volunteer models of this, we may be able to set a Patreon goal and pay that person to continue running it. But again, we want a scope of simple, maintainable scripts combined with useful, relevant software.
I'm the manager

Besides irix.cc, I run these sites:

projectkitsune.com

kazuo.io

M.G.
Posts: 2
Joined: Sat May 26, 2018 7:17 am

Re: Nekoware Successor - Discussion

Post by M.G. » Wed May 30, 2018 5:53 pm

As far as a name goes: What about Irisware? A nod to the archaic past of SGI.

User avatar
Raion-Fox
Founder
Posts: 199
Joined: Fri Nov 17, 2017 12:23 am
Location: Virginia
Contact:

Re: Nekoware Successor - Discussion

Post by Raion-Fox » Wed May 30, 2018 6:17 pm

Not a bad suggestion.
I'm the manager

Besides irix.cc, I run these sites:

projectkitsune.com

kazuo.io

User avatar
dexter1
Posts: 68
Joined: Thu May 24, 2018 9:30 am
Location: Zoetermeer, The Netherlands

Re: Nekoware Successor - Discussion

Post by dexter1 » Thu May 31, 2018 2:34 pm

devv wrote:
Wed May 30, 2018 8:03 am
- Works on both Linux and Irix (on Linux you can both list and download packages, you just can't run "inst")
There is a tool which can list and extract IRIX packages in Linux. It's a bit rough since it was written in the days of IRIX 4.0.5 so it needs some porting to the latest swmgr/inst versions, most notably adding field values for new machines, graphic options and IRIX64 support.

http://persephone.cps.unizar.es/~spd/src/other/mydb.c

With this you can interrogate packages and extract dependencies without running inst on an IRIX box.

Post Reply