Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# $NetBSD: metalog.subr,v 1.2 2011/02/17 08:41:35 uebayasi Exp $

#
# xrcs add
# xrcs update
# xrcs remove
#
#	RCS wrapper for non-interactive scripts.
#	Excerpted from /etc/security.
#

xrcs_descr=
xrcs_msg=
xrcs_cur=
xrcs_new=

xrcs_latest()
{
	rcslog -rlatest ${xrcs_cur} | \
	sed -n '/^revision/ { s/^revision //; p; }'
}

xrcs_retag()
{
	previous=$( xrcs_latest 2>/dev/null )
	if [ -n "$previous" ]; then
		rcs -q -Nprevious: ${xrcs_cur}
	fi
}

xrcs_unlock()
{
	rcs -q -u -U -M ${xrcs_cur}
}

xrcs_ci()
{
	xrcs_retag
	ci -q -f -u -t-"$xrcs_descr" -m"$xrcs_msg" -Nlatest ${xrcs_cur}
	rcs -q -kb -U ${xrcs_cur}
}

xrcs_co()
{
	co -q -f -u ${xrcs_cur}
}

xrcs_init()
{
	if [ -f ${xrcs_cur},v ]; then
		xrcs_unlock
	fi

	if [ -f ${xrcs_cur} ]; then
		if [ ! -f ${xrcs_cur},v ]; then
			xrcs_ci
			xrcs_co
		fi
	fi
}

xrcs_add()
{
	xrcs_init
	cp -p $1 ${xrcs_cur}
	xrcs_ci
	xrcs_co
}

xrcs_update()
{
	xrcs_init
	xrcs_ci
	xrcs_co
}

xrcs_remove()
{
	xrcs_init
	cp /dev/null ${xrcs_cur}
	xrcs_ci
	rm ${xrcs_cur}
}

xrcs()
{
	eval xrcs_$1
}