Till,

Thanks. That's very helpful. It also describes my problem encounters with 
autotools. Gnu make is an excellent means of building if the Makefile is even 
remotely sensible. Debugging the configure script is not fun.

I'd much rather have a set of symbols for all the features. I *almost* always 
know the quirks of the system I'm doing a build on. I don't need a machine 
generated script that is built from badly written .conf file. I can look up any 
items in the platform specific portion of the Makefile if I actually encounter 
something unfamiliar.

Maintained pkgs for Octave and dependencies is something I have a personal 
desire for. The dependencies are all familiar things I've built many time over 
the course of 40 years of programming. So that's something I have the skills 
and incentive for. It's also an additional responsibility I can put on my plate.

Have Fun!
Reg






     On Monday, August 18, 2025 at 04:35:21 AM CDT, Till Wegmüller 
<[email protected]> wrote:  
 
 Hi Reg

IPS uses very simple tools called pkgmogrify and pkgsend to create a 
installable package from a built source tree. All those tools are 
documented in our manpages. What we have ontop of it, is oi-userland 
which is a set of Makfiles to wrangle autotools into compliance. 
Sometimes as you mentioned that can be daunting depending on how the 
autotools scripts where written by the Software author. Autotools added 
many features we rely on for packaging as an afterthought so features 
like seperated build and source directories and DESTDIR do not always 
work correctly and we have to interupt autotools and do those steps 
manually. Cmake and Meson are better in that regard but cmake is 
notorious for needing patches to it's own Library search system. meson 
always needs python patches because now all the logic is in the 
software. Which Andy Fiddaman (OmniOS) thankfully maintains for all 
illumos systems.

Anyway here is the PDF version of out docs about building with 
oi-userland https://docs.openindiana.org/pdf/dev/userland.pdf all of 
them can be found here 
https://docs.openindiana.org/handbook/pdfdocs/#contrib

The 5000 foot overview of how out oi-userland works is:

1. Download sources (git, tarball etc.) and check checksum
2. patch sources with patches in the patches directory
3. run preconfgure and configure scripts and targets (allows for 
customizations)
4. run build
5. run install with DESTDIR set to a local directory so all the final 
software ends up in a so called prototype directory
5 a. (manual) run sample-manifest to generate or regenerate the listing 
of files in the package (used to compare differences or if features got 
autodetected on the build system vs. the packagers system)
5 b. (manual) run REQUIRED_PACKAGES to update the REQUIRED_PACKAGES 
makefile section with the result from pkg tools. (IPS has code to auto 
detect dependencies)

After that it's basically tweaking metadata in the Makefile and some 
process knowledge which we guide people thorugh in the PR's

The trickyest bit is always to wrangle autotools, but it got better with 
newer releases.

-Till

On 17.08.25 22:38, Reginald Beardsley via openindiana-discuss wrote:
>  
> A link to a decent pkg tutorial PDF would help. I plan to try building Octave 
> again. It's got a ludicrously complex set of dependencies. Octave is the one 
> thing I will use Linux for. Because it uses autotools it completely failed to 
> build the last time I tried. *Supposedly* that's been fixed, but it's 
> terminally braindead at birth. During the workstation wars there was some 
> justification for Larry Wall's configure concept, but today's computing 
> universe doesn't have 20 flavors of Unix.
> 
> My S10_u8 instance has hundreds of things I compiled from scratch. At one 
> time I maintained binaries for a huge amount of Gnu pre-autotools systems by 
> knowing how to run Gnu make on all the systems, Intergraph Clix, AIX, SunOS, 
> HP-UX, Ultrix and Irix. Autotools are the shell scripts from hell.
> 
> Before autoconf there was imake which was truly the spawn of the devil. That 
> was when X11 was not yet available on SunOS so I had to supply binaries for 
> ARCO's research lab and any affiliate who needed them. IIRC I also did 
> binaries for the Alliant i860 based "super" computer. Imake tried to run 
> Makefiles though the C preprocessor instead of the Bourne shell. Only to 
> discover that some systems would not let you do that. I simply ported gmake 
> and was done. Once I'd done all the system flavors I simply included a hand 
> built set of make definitions in an include file in the standard Makefiles 
> using gmake. This was what I did while waiting for the system compiles for 
> the work I was paid.
> 
> Got a really nice email from an admin I knew. He'd been facing doing a huge 
> system patch across the 6 OSes that I had built all the tools for. I had 
> gotten a new contract and was no longer there.
> 
> "I was facing a long evening installing patches, but Reg had been here and 
> expect(1m) was everywhere. I was done in almost no time at all."
> 
> I had to write the installer for an aggregate of 8 IIRC $100k/seat programs 
> which ran a root and trashed each other. A worked, install B and it works, 
> but A is broken. Reinstall A and B is broken. Now consider the fun when you 
> get to system H. I had mentioned the problem at the end of a meeting once and 
> was quite gob smacked when I was assigned to direct 2 full time employees to 
> resolve the issue. The problem was doiing tap dances on the system 
> configuration files. My install was a pair of tarballs which checked for 
> conflicts and archived all the files I was fiddling with.
> 
> "Install" saved the files and unpacked the tarballs. "Uninstall" removed them 
> and restored the archived files. Total was about 100 lines of /bin/sh. 
> Completely bulletproof.
> 
> Have Fun!
> Reg
> 
> 
> On Sunday, August 17, 2025 at 10:50:08 AM CDT, Till Wegmüller 
> <[email protected]> wrote:
> 
> 
> Speaking of making OI more friendly for new users. what would
> incentivise people to make packages?
> 
> -Till
> 
> 
> On 17.08.25 16:57, Reginald Beardsley via openindiana-discuss wrote:
>> Till,
>>
>> I just signed up as a $100/month sponsor.
>>
>> Kudos to whoever set up the donation link and including PayPal. That was an 
>> excellent experience.
>>
>>
>> Have Fun!
>> Reg
>>
>    
> _______________________________________________
> openindiana-discuss mailing list
> [email protected]
> https://openindiana.org/mailman/listinfo/openindiana-discuss

_______________________________________________
openindiana-discuss mailing list
[email protected]
https://openindiana.org/mailman/listinfo/openindiana-discuss
  
_______________________________________________
openindiana-discuss mailing list
[email protected]
https://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to