Nekoware Successor - Discussion
#1
Nekoware Successor - Discussion
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 Network, I run these sites:
projectkitsune.com

Tezro
Octane2
Indigo2 IMPACT
Indigo2
3x O2
3x Indy

Raion
Operator
*******

Posts: 352
Threads: 68
Joined: Nov 2017
Website Find Reply
05-29-2018, 01:09 AM
#2
Re: Nekoware Successor - Discussion
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:
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.
Sudos
O2

Posts: 2
Threads: 0
Joined: May 2018
Find Reply
05-29-2018, 01:40 AM
#3
Re: Nekoware Successor - Discussion
My idea was something along these lines:

Code:
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 Network, I run these sites:
projectkitsune.com

Tezro
Octane2
Indigo2 IMPACT
Indigo2
3x O2
3x Indy

Raion
Operator
*******

Posts: 352
Threads: 68
Joined: Nov 2017
Website Find Reply
05-29-2018, 01:48 AM
#4
Re: Nekoware Successor - Discussion
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/ir...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 ' 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.
devv
O2

Posts: 10
Threads: 1
Joined: May 2018
Find Reply
05-30-2018, 12:03 PM
#5
Re: Nekoware Successor - Discussion
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.
devv
O2

Posts: 10
Threads: 1
Joined: May 2018
Find Reply
05-30-2018, 12:16 PM
#6
Re: Nekoware Successor - Discussion
devv post_id=600 time=1527681827 user_id=176 Wrote:1) There is currently a command-line tool for Nekoware which properly parses dependencies and downloads and installs packages:
http://techpubs.spinlocksolutions.com/ir...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, Nord Lead 2, Behringer Model D
commodorejohn
PDP-X

Posts: 124
Threads: 6
Joined: May 2018
Find Reply
05-30-2018, 07:37 PM
#7
Re: Nekoware Successor - Discussion
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 Network, I run these sites:
projectkitsune.com

Tezro
Octane2
Indigo2 IMPACT
Indigo2
3x O2
3x Indy

Raion
Operator
*******

Posts: 352
Threads: 68
Joined: Nov 2017
Website Find Reply
05-30-2018, 07:44 PM
#8
Re: Nekoware Successor - Discussion
As far as a name goes: What about Irisware? A nod to the archaic past of SGI.
M.G.
O2

Posts: 2
Threads: 0
Joined: May 2018
Find Reply
05-30-2018, 09:53 PM
#9
Re: Nekoware Successor - Discussion
Not a bad suggestion.

I'm the manager
Besides IRIX Network, I run these sites:
projectkitsune.com

Tezro
Octane2
Indigo2 IMPACT
Indigo2
3x O2
3x Indy

Raion
Operator
*******

Posts: 352
Threads: 68
Joined: Nov 2017
Website Find Reply
05-30-2018, 10:17 PM
#10
Re: Nekoware Successor - Discussion
devv post_id=600 time=1527681827 user_id=176 Wrote:- 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.
dexter1
Global Moderator
******

Posts: 166
Threads: 9
Joined: May 2018
Find Reply
05-31-2018, 06:34 PM


Forum Jump:


Users browsing this thread: 2 Guest(s)