The stable RPMs

I've been meaning to put up a yum repository for my RPMs. But to do that right I need to be able to sign them, and I can't seem to make that work (yet).

Install from my pre-compiled packages

So here is the next best thing: we'll download the rpm files from my rpms/x86_64 directory and install them with yum.

Prepare to install

I use a lot of perl scripts, so you should have at least version 5.10 (for CentOS) installed. And you really need to run h2ph before you run any of my scripts because the use the perl headers. If you don't know that h2ph has been run, you can check with the command below:
$ perl -e 'require "sysexits.ph";'
No output means you can skip the h2ph command below, else see the manual page or run:
$ cd /usr/include && sudo h2ph -r -l .

Aquire the current rpms

First we download the .fetch file, which containts a list of the most recent releases for each package:
$ TD=`mktemp -d /tmp/npcXXXXX`
$ cd $TD
$ curl  --url "www.npcguild.org/~ksb/rpms/x86_64/.fetch" -o npc.cl
a bit of curl output

Next use curl to fetch the files listed (you may look at the list first, of course).

$ less npc.cl
$ while read pkg ; do
>	curl --url "www.npcguild.org/~ksb/rpms/x86_64/$pkg" -O
> done <npc.cl
a lot more curl output

Install the base packages

These packages form a stable build platform for rebuilding the tools, projecting configuration services to clients, and controlling privileged operations.

The programs installed in msrc_base each have a good manual page and some additional HTML documents.

mmsrc(8l) or HTML
The match that reboots this code when all you have is the source.
mkcmd(1l)
mkcmd(5l)
explode(1l) or HTML
explode(5l) or HTML
My code compositors, used to make common code actually common.
ptbw(1l) or HTML
xclate(1l) or HTML
xapply(1l) or HTML
wrapw(1l) or HTML
The basis of my wrapper services.
hxmd(8l) or HTML
hxmd(5l) or HTML
msrc(8l) or HTML
My primary tools for configuration engineering.
$ sudo su
# yum localinstall msrc_base-2.*.rpm
# yum localinstall install_base-8.*.rpm
Note that that may have forced the installation of rdist, that's OK because it doesn't start any services on your host.

As a cross check we'll look at the the manual page for op, if that is installed, then the base packages are installed. So let's look for that:

# man op
If that didn't work, then your MANPATH (see man(1)) may not go through /usr/local/man. Fix that to see if that works.

Some people don't like my version of install installed as the same name as the system version. If you want to rename it you should here. This will break vinst and installus and remove the OLD directory backout feature. I don't do this, I control $PATH carefully when I (rarely) need the base system version of install.

# mv /usr/local/bin/install /usr/local/bin/install.npc	# not usually a good idea

Install the other tools as you wish

To just install them all you can use this:
$ sudo yum localinstall `grep -v "_base" npc.cl`
If you picked that you are done.

Most people want to pick and choose, so here is a shopping list for you. Order is important here, some tools depend on others. When yum vetches about a missing prerequisite tool, check the list and install it first.

oue(1l) - only unique elements (HTML)
yum localinstall oue-2.*.rpm
List comm, without the restrictions that the input lists must be sorted.
efmd(8l) - /usr/msrc/usr/local/sbin/efmd (HTML)
yum localinstall efmd-1.*.rpm
Reporting for hxmd configuration files.
hxmd2html.cgi(8l) - /usr/msrc/usr/local/cgi-bin/hxmd2html.cgi (HTML)
yum localinstall hxmd2html.cgi-1.*.rpm
Convert any hxmd configuration file to HTML.
manpage.cgi(8l) - /usr/msrc/usr/local/cgi-bin/manpage.cgi (HTML)
yum localinstall manpage.cgi-1.*.rpm
Convert an man format manual page to HTML.
rcsvg(1l) - /usr/msrc/usr/local/bin/rcsvg (HTML)
yum localinstall rcsvg-2.*.rpm
Extract a stable copy of the files from an rcs cache into a local directory. This is now level2s builds my packages.
msync(8l) - /usr/msrc/usr/local/sbin/msync (HTML)
yum localinstall msync-4.*.rpm
Compare the currect directory to the local site policy (by default mine) for a stable source directory. For example. all the files must be in sync with the RCS cache, without any current locks.
muxcat(1l) - /usr/msrc/usr/local/bin/muxcat (HTML)
yum localinstall muxcat-1.*.rpm
Access any RFC1078 service from a shell command.
level2s(8l) - /usr/msrc/usr/local/sbin/level2s (HTML)
yum localinstall level2s-4.*.rpm
Build, package, etc. layer 2 product directories and archives.
level3s(8l) - /usr/msrc/usr/local/sbin/level3s (HTML)
yum localinstall level3s-1.*.rpm
Buidl, package, etc. layer 3 product directories and archives.
addlic(8l) - /usr/msrc/usr/local/sbin/addlic (HTML)
yum localinstall addlic-4.*.rpm
Add the correct license file to a product or package. This will require some local tuning to get is right for your source products.
glob(1l) - /usr/msrc/usr/local/bin/glob (HTML)
yum localinstall glob-1.*.rpm
Turn a shell (sh) glob expression into a stream. When you work with any very large directory you will quickly overflow the shell's limit, so turn the list into a pipeline and process with xapply or xargs.
mpull(8l) - /usr/msrc/usr/local/sbin/mpull (HTML)
yum localinstall mpull-1.*.rpm
One way to pull master source products to a client instance.
sbp(8l) - /usr/msrc/usr/local/sbin/sbp (HTML)
Prereqs: dump, rmt
yum localinstall sbp-2.*.rpm
Synchronize backup partitions to an alternate boot device. This is the best fall-back for a massive change you can ever have.
distrib(8l) - /usr/msrc/usr/local/sbin/distrib (HTML)
yum localinstall distrib-5.*.rpm
forever(1l) - /usr/msrc/usr/local/bin/forever (HTML)
yum localinstall forever-1.*.rpm
msrcmux(7l) - /usr/msrc/usr/local/libexec/msrcmux (HTML)
yum localinstall msrcmux-1.*.rpm
kruft(8l) - /usr/msrc/usr/local/sbin/kruft (HTML)
yum localinstall kruft-1.*.rpm
ckman(8l) - /usr/msrc/usr/local/sbin/ckman (HTML)
yum localinstall ckman-1.*.rpm
tickle(8l) - /usr/msrc/usr/local/sbin/tickle (HTML)
yum localinstall tickle-1.*.rpm
kicker(8l) - /usr/msrc/usr/local/sbin/kicker (HTML)
yum localinstall kicker-1.*.rpm
binpack(1l) - /usr/msrc/usr/local/bin/binpack (HTML)
yum localinstall binpack-1.*.rpm
ptree(1l) - /usr/msrc/usr/local/bin/ptree (HTML)
yum localinstall ptree-2.*.rpm
since(1l) - /usr/msrc/usr/local/bin/since (HTML)
yum localinstall since-1.*.rpm
tmbuf(1l) - /usr/msrc/usr/local/bin/tmbuf (HTML)
yum localinstall tmbuf-1.*.rpm
curly(1l) - /usr/msrc/usr/local/bin/curly (HTML) includes uncurly as well
yum localinstall curly-3.*.rpm
txt2ps(1l) - /usr/msrc/usr/local/bin/txt2ps (HTML)
yum localinstall txt2ps-3.*.rpm
nushar(1l) - /usr/msrc/usr/local/bin/nushar (HTML)
yum localinstall nushar-2.*.rpm
Tee(1l) - /usr/msrc/usr/local/bin/Tee (HTML)
yum localinstall Tee-2.*.rpm
muxsend(1l) - /usr/msrc/usr/local/bin/muxsend (HTML)
yum localinstall muxsend-1.*.rpm
daemon(8l) - /usr/msrc/usr/local/sbin/daemon (HTML)
yum localinstall daemon-1.*.rpm
A super-set of the BSD program. The main advantage is that a startup failure actually emits a useful error message on stderr.
msh(8l) - /usr/msrc/usr/local/libexec/msh (HTML)
yum localinstall msh-1.*.rpm
recvmux(7l) - /usr/msrc/usr/local/libexec/recvmux (HTML)
yum localinstall recvmux-1.*.rpm
passgen(1l) - /usr/msrc/usr/local/bin/passgen (HTML)
yum localinstall passgen-2.*.rpm
epass(1l) - /usr/msrc/usr/local/bin/epass (HTML)
yum localinstall epass-1.*.rpm
cdecl(1l) - /usr/msrc/usr/local/bin/cdecl (HTML)
yum localinstall cdecl-2.*.rpm
calls(1l) - /usr/msrc/usr/local/bin/calls (HTML)
yum localinstall calls-3.*.rpm
maketd(1l) - /usr/msrc/usr/local/bin/maketd (HTML)
yum localinstall maketd-4.*.rpm
datecalc(1l) - /usr/msrc/usr/local/bin/datecalc (HTML)
yum localinstall datecalc-1.*.rpm
tart(1l) - /usr/msrc/usr/local/bin/tart (HTML)
yum localinstall tart-1.*.rpm
sudop(1l) - /usr/msrc/usr/local/bin/sudop (HTML)
yum localinstall sudop-1.*.rpm
haveip(1l) - /usr/msrc/usr/local/bin/haveip (HTML)
yum install perl-IO-Interface
yum localinstall haveip-1.*.rpm
flock(1l) - /usr/msrc/usr/local/bin/flock (HTML)
yum localinstall flock-2.*.rpm
jot(1l) - /usr/msrc/usr/local/bin/jot (HTML)
yum localinstall jot-1.*.rpm
hostlint(8l) - /usr/msrc/usr/local/libexec/hostlint (HTML)
yum localinstall hostlint-1.*.rpm
netlint-plugins - /usr/msrc/usr/local/libexec/netlint-plugins (HTML) TODO
yum localinstall netlint_plugins-1.*.rpm
netlint(8l) - /usr/msrc/usr/local/libexec/netlint (HTML)
yum localinstall netlint-1.*.rpm
tcpmux(8l) - /usr/msrc/usr/local/libexec/tcpmux (HTML)
yum localinstall tcpmux-1.*.rpm
dumpmux(8l) - /usr/msrc/usr/local/libexec/dumpmux (HTML)
yum localinstall dumpmux-1.*.rpm
acctmux(7l) - /usr/msrc/usr/local/libexec/acctmux (HTML)
yum localinstall acctmux-1.*.rpm
op-jacket(7l) - /usr/msrc/usr/local/libexec/jacket (HTML)
yum localinstall jacket-1.*.rpm
Includes acctmux(7l), coat(7l), envauth(7l), manifest(7l), proxy-agent(7l), sheval(7l), signed(7l), stamp(7l), stampctl8l), timebox(7l), wrope(7l), and xdisplay(7l)
roapmux(7l) - /usr/msrc/usr/local/libexec/roapmux (HTML)
yum localinstall roapmux-1.*.rpm
snoopy(1l) - /usr/msrc/usr/local/lib/snoopy (HTML)
yum localinstall snoopy-1.*.rpm
untmp(1l) - /usr/msrc/usr/local/bin/untmp (HTML)
yum localinstall untmp-1.*.rpm
msd(8l) - /usr/msrc/usr/local/sbin/msd (HTML)
yum localinstall msd-1.*.rpm
quot(8l) - /usr/msrc/usr/local/sbin/quot
yum localinstall quot-1.*.rpm

 -- 
$Id$
entombing(1l) - /usr/msrc/bin/entombing (HTML)
yum localinstall entombing-1.*.rpm
FXPegMon(1l) - /usr/msrc/etc/init.d/peg (HTML)
yum localinstall FXPegMon-1.*.rpm
bsdm4(1l) - /usr/msrc/usr/local/bin/m4 (HTML)
yum localinstall bsdm4-1.*.rpm
bsdenv(1l) - /usr/msrc/usr/local/bin/env (HTML)
yum localinstall bsdenv-1.*.rpm
oue(2l) - /usr/msrc/usr/local/bin/oue (HTML)
yum localinstall oue-2.*.rpm
project(4l) - /usr/msrc/usr/local/bin/project (HTML)
yum localinstall project-4.*.rpm
sapply(1l) - /usr/msrc/usr/local/bin/sapply (HTML)
yum localinstall sapply-1.*.rpm
stat(2l) - /usr/msrc/usr/local/bin/stat (HTML)
yum localinstall stat-2.*.rpm
rm(1l) - /usr/msrc/usr/local/gnu/rm (HTML)
yum localinstall rm-1.*.rpm
perl-HXMD(1l) - /usr/msrc/usr/local/lib/HXMD.pm (HTML)
yum localinstall perl-HXMD-1.*.rpm
mxstats(1l) - /usr/msrc/usr/local/libexec/mxstats (HTML)
yum localinstall mxstats-1.*.rpm
pollcsm(2l) - /usr/msrc/usr/local/libexec/pollcsm (HTML)
yum localinstall pollcsm-2.*.rpm
networkstats(1l) - /usr/msrc/usr/local/libexec/networkstats (HTML)
yum localinstall networkstats-1.*.rpm
oraclestats(1l) - /usr/msrc/usr/local/libexec/oraclestats (HTML)
yum localinstall oraclestats-1.*.rpm
pollcisco(1l) - /usr/msrc/usr/local/libexec/pollcisco (HTML)
yum localinstall pollcisco-1.*.rpm
ifstats(1l) - /usr/msrc/usr/local/libexec/ifstats (HTML)
yum localinstall ifstats-1.*.rpm
rrdisk(2l) - /usr/msrc/usr/local/libexec/rrdisk (HTML)
yum localinstall rrdisk-2.*.rpm
slapdstats(1l) - /usr/msrc/usr/local/libexec/slapdstats (HTML)
yum localinstall slapdstats-1.*.rpm
unixstats(2l) - /usr/msrc/usr/local/libexec/unixstats (HTML)
yum localinstall unixstats-2.*.rpm
vcsstats(1l) - /usr/msrc/usr/local/libexec/vcsstats (HTML)
yum localinstall vcsstats-1.*.rpm
namedstats(1l) - /usr/msrc/usr/local/libexec/namedstats (HTML)
yum localinstall namedstats-1.*.rpm
memstats(1l) - /usr/msrc/usr/local/libexec/memstats (HTML)
yum localinstall memstats-1.*.rpm
remote(1l) - /usr/msrc/usr/local/libexec/remote (HTML)
yum localinstall remote-1.*.rpm
pingstats(1l) - /usr/msrc/usr/local/libexec/pingstats (HTML)
yum localinstall pingstats-1.*.rpm
tempstats(1l) - /usr/msrc/usr/local/libexec/tempstats (HTML)
yum localinstall tempstats-1.*.rpm
conserver(8l) - /usr/msrc/usr/local/sbin/conserver (HTML)
yum localinstall conserver-8.*.rpm
autologin(2l) - /usr/msrc/usr/local/sbin/autologin (HTML)
yum localinstall autologin-2.*.rpm
console(8l) - /usr/msrc/usr/local/sbin/console (HTML)
yum localinstall console-8.*.rpm
batchd(1l) - /usr/msrc/usr/local/sbin/batchd (HTML)
yum localinstall batchd-1.*.rpm