How I make a tardist idb file
Without using the commandline. This is not an exact thing, it's just how I have figured out how.
The format of a gendist-ready idb file is:
f 0644 root sys /usr/lib32/libz.a /usr/lib32/libz.a libz.a dist_libz.sw nostrip
or
f/d (file/directory) permissions in octets user group system-path destination-path filename distname options
options for ldb include norqs and nostrip. You want norqs for non-executables. So how do you make an idb?
First, build your program. Set the install prefix to something like /usr/neko_staging
go to /usr/neko_staging, and then subsystem by subsystem, build the file:
find `pwd`/bin -type f -print > neko_package.idb
This will dump the FULL path into there. Full path is important.
perl -i.bak -WlnE 'say "$_ $_";' neko_package.idb
This duplicates the path destination.
Then, gsed -i 's/^/f 0644 root sys/' neko_package.idb
You will need to modify perms as necessary. Unfortunately stat(1) doesn't offer octet perms for IRIX. I'll make a new stat command eventually that does.
Now for the tricky part.
perl -WlnE 'print +(split /\//)[-1];' neko_package.idb > append_base.idb
The purpose of this will be revealed shortly.
gsed -i -e 's/$/ neko_package.sw nostrip/' append_base.idb
Then just paste the two files together
paste -d' ' neko_package.idb append_base.idb > neko_package_idb
That should if you followed instructions carefully get you a valid file.
The spec files I've spoken about here before, but think of those as the "map" of your software distribution, and the IDB as the table of contents.
Install your software in the actual prefix and then do a simple set/perl replace for that prefix
I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast.
https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently.
https://codeberg.org/SolusRaion -- Code repos I control
Technical problems should be sent my way.
(This post was last modified: 01-06-2025, 08:31 PM by Raion.)
|
|
Raion
Chief IRIX Officer
Trade Count:
(9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
|
|
01-05-2025, 11:21 PM |
RE: How I make a tardist idb file
So I do need an expert here.
My installation files do not actually work on anything with a symbolic link. Reading through the documentation there is a flag that you set for symbolic links called symval().
Is this expecting the path that it's pointing back to or something? I need to know so that I can get my test builds working
I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast.
https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently.
https://codeberg.org/SolusRaion -- Code repos I control
Technical problems should be sent my way.
|
|
Raion
Chief IRIX Officer
Trade Count:
(9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
|
|
01-09-2025, 11:39 PM |
RE: How I make a tardist idb file
I believe I've answered my own question. I'll check back!
I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast.
https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently.
https://codeberg.org/SolusRaion -- Code repos I control
Technical problems should be sent my way.
|
|
Raion
Chief IRIX Officer
Trade Count:
(9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
|
|
01-10-2025, 04:05 AM |
RE: How I make a tardist idb file
Ok, as I suspected, I was simply being naive. I forgot that find commands do NOT include symbolic links.
Silly me. Silly me.
Additionally, symbolic links must have a symval to preserve them.
This is gonna be a bit tougher to do from commandline than I thought, but not impossible.
I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast.
https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently.
https://codeberg.org/SolusRaion -- Code repos I control
Technical problems should be sent my way.
|
|
Raion
Chief IRIX Officer
Trade Count:
(9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
|
|
01-10-2025, 04:13 AM |
RE: How I make a tardist idb file
So conclusion to this:
1. I completely forgot the fuckin' symlinks
2. set the value from f 0644 or whatever to l 0644, then append symval(libwhatever.so.1.3) or whatever the original filename is. Use find -type l to find them.
I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast.
https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently.
https://codeberg.org/SolusRaion -- Code repos I control
Technical problems should be sent my way.
|
|
Raion
Chief IRIX Officer
Trade Count:
(9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
|
|
02-10-2025, 08:10 PM |