source: rtems-source-builder/source-builder/defaults.mc @ c799e04

Last change on this file since c799e04 was c799e04, checked in by Chris Johns <chrisj@…>, on Jul 6, 2019 at 9:20:09 AM

5/packages: Add curl and update all packages with RTEMS 5 and LibBSD

  • Update rtems-bsp support to correctly handle hosts for BSP.
  • Clean up the options for a BSP.
  • Check all RTEMS 5 packages and add 5/rtems-packages for all that build.
  • Update download locations and checksum of all packages.
  • The work requires the kernel and Libbsd hacve the same prefix.
  • Property mode set to 100644
File size: 17.1 KB
Line 
1#
2# RTEMS Tools Project (http://www.rtems.org/)
3# Copyright 2010-2013 Chris Johns (chrisj@rtems.org)
4# All rights reserved.
5#
6# This file is part of the RTEMS Tools package in 'rtems-tools'.
7#
8# Permission to use, copy, modify, and/or distribute this software for any
9# purpose with or without fee is hereby granted, provided that the above
10# copyright notice and this permission notice appear in all copies.
11#
12# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19
20#
21# All paths in defaults must be Unix format. Do not store any Windows format
22# paths in the defaults.
23#
24# Every entry must describe the type of checking a host must pass.
25#
26# Records:
27#  key: type, attribute, value
28#   type     : none, dir, exe, triplet
29#   attribute: none, required, optional
30#   value    : 'single line', '''multi line'''
31#
32
33#
34# Global defaults
35#
36[global]
37
38# Nothing
39nil:                 none,    none,     ''
40
41# Set to invalid values.
42_bset:               none,    none,     ''
43_bset_tmp:           none,    none,     ''
44name:                none,    none,     ''
45version:             none,    none,     ''
46release:             none,    none,     ''
47buildname:           none,    none,     '%{name}'
48
49# The default is not released.
50rsb_released:        none,    none,     '0'
51rsb_version:         none,    none,     'no-version'
52
53# GNU triples needed to build packages
54_host:               triplet, required, ''
55_build:              triplet, required, ''
56_target:             none,    optional, ''
57
58# RTEMS release URL
59rtems_release_url:   none,    none,     'https://ftp.rtems.org/pub/rtems/releases/%{rtems_version}'
60
61# The user
62_uid:                none,    convert,  '%(%{__id_u} -n)'
63
64# Default flags that can be overridded to supply specific host or build
65# flags and include paths to the tools. The host is the final platform
66# the tools will run on and build is the host building the tools.
67host_cflags:         none,    convert,  '-O2 -g -pipe'
68host_cxxflags:       none,    convert,  '-O2 -g -pipe'
69host_ldflags:        none,    convert,  ''
70host_includes:       none,    convert,  ''
71host_libs:           none,    convert,  ''
72build_cflags:        none,    convert,  '-O2 -g -pipe'
73build_cxxflags:      none,    convert,  '-O2 -g -pipe'
74build_ldflags:       none,    convert,  ''
75build_includes:      none,    convert,  ''
76build_libs:          none,    convert,  ''
77
78# Extra path a platform can override.
79_extra_path:         none,    none,     '%{_sbdir}'
80_ld_library_path:    none,    none,     'LD_LIBRARY_PATH'
81
82# Paths
83_host_platform:      none,    none,     '%{_host_cpu}-%{_host_vendor}-%{_host_os}%{?_gnu}'
84_host_cc:            none,    none,     'gcc'
85_host_cxx:           none,    none,     'g++'
86_arch:               none,    none,     '%{_host_arch}'
87_topdir:             dir,     required, '%{_cwd}'
88_configdir:          dir,     optional, '%{_topdir}/config:%{_sbdir}/config:%{_sbtop}/bare/config'
89_tardir:             dir,     optional, '%{_topdir}/tar'
90_sourcedir:          dir,     optional, '%{_topdir}/sources'
91_patchdir:           dir,     optional, '%{_topdir}/patches:%{_sbdir}/patches'
92_builddir:           dir,     optional, '%{_topdir}/build/%{buildname}'
93_buildcxcdir:        dir,     optional, '%{_topdir}/build/%{buildname}-cxc'
94_buildxcdir:         dir,     optional, '%{_topdir}/build/%{buildname}-xc'
95_docdir:             dir,     none,     '%{_defaultdocdir}'
96_tmppath:            dir,     none,     '%{_topdir}/build/tmp'
97_tmproot:            dir,     none,     '%{_tmppath}/sb-%{_uid}/%{_bset_tmp}'
98_tmpcxcroot:         dir,     none,     '%{_tmppath}/sb-%{_uid}-cxc/%{_bset_tmp}'
99buildroot:           dir,     none,     '%{_tmppath}/%{buildname}-%{_uid}'
100buildcxcroot:        dir,     none,     '%{_tmppath}/%{buildname}-%{_uid}-cxc'
101buildxcroot:         dir,     none,     '%{_tmppath}/%{buildname}-%{_uid}-xx'
102_datadir:            dir,     none,     '%{_prefix}/share'
103_defaultdocdir:      dir,     none,     '%{_prefix}/share/doc'
104_exeext:             none,    none,     ''
105_exec_prefix:        dir,     none,     '%{_prefix}'
106_bindir:             dir,     none,     '%{_exec_prefix}/bin'
107_sbindir:            dir,     none,     '%{_exec_prefix}/sbin'
108_libexecdir:         dir,     none,     '%{_exec_prefix}/libexec'
109_datarootdir:        dir,     none,     '%{_prefix}/share'
110_datadir:            dir,     none,     '%{_datarootdir}'
111_sysconfdir:         dir,     none,     '%{_prefix}/etc'
112_sharedstatedir:     dir,     none,     '%{_prefix}/com'
113_localstatedir:      dir,     none,     '%{prefix}/var'
114_includedir:         dir,     none,     '%{_prefix}/include'
115_lib:                dir,     none,     'lib'
116_libdir:             dir,     none,     '%{_exec_prefix}/%{_lib}'
117_libexecdir:         dir,     none,     '%{_exec_prefix}/libexec'
118_mandir:             dir,     none,     '%{_datarootdir}/man'
119_infodir:            dir,     none,     '%{_datarootdir}/info'
120_localedir:          dir,     none,     '%{_datarootdir}/locale'
121_localedir:          dir,     none,     '%{_datadir}/locale'
122_localstatedir:      dir,     none,     '%{_prefix}/var'
123_pathprepend:        none,    none,     ''
124_pathpostpend:       none,    none,     ''
125_prefix:             dir,     none,     '%{_usr}'
126_usr:                dir,     none,     '/usr/local'
127_usrsrc:             dir,     none,     '%{_usr}/src'
128_var:                dir,     none,     '/usr/local/var'
129_varrun:             dir,     none,     '%{_var}/run'
130
131# Defaults, override in platform specific modules.
132___setup_shell:      exe,     required, '/bin/sh'
133__aclocal:           exe,     optional, 'aclocal'
134__ar:                exe,     required, 'ar'
135__arch_install_post: exe,     none,     '%{nil}'
136__as:                exe,     required, 'as'
137__autoconf:          exe,     optional, 'autoconf'
138__autoheader:        exe,     optional, 'autoheader'
139__automake:          exe,     optional, 'automake'
140__autoreconf:        exe,     optional, 'autoreconf'
141__awk:               exe,     required, 'awk'
142__bash:              exe,     optional, '/bin/bash'
143__bison:             exe,     required, '/usr/bin/bison'
144__bzip2:             exe,     required, '/usr/bin/bzip2'
145__cat:               exe,     required, '/bin/cat'
146__cc:                exe,     required, 'gcc'
147__chgrp:             exe,     required, '/usr/bin/chgrp'
148__chmod:             exe,     required, '/bin/chmod'
149__chown:             exe,     required, '/usr/sbin/chown'
150__cp:                exe,     required, '/bin/cp'
151__cpp:               exe,     none,     '%{__cc} -E'
152__cvs:               exe,     optional, '/usr/bin/cvs'
153__cvs_z:             none,    none,     '%{__cvs} -z 9'
154__cxx:               exe,     required, 'g++'
155__flex:              exe,     required, '/usr/bin/flex'
156__git:               exe,     required, '/usr/bin/git'
157__grep:              exe,     required, '/usr/bin/grep'
158__gzip:              exe,     required, '/usr/bin/gzip'
159__id:                exe,     required, '/usr/bin/id'
160__id_u:              exe,     none,     '%{__id} -u'
161__install:           exe,     required, '/usr/bin/install'
162__install_info:      exe,     optional, '/usr/bin/install-info'
163__ld:                exe,     required, '/usr/bin/ld'
164__ldconfig:          exe,     required, '/sbin/ldconfig'
165__ln_s:              exe,     none,     'ln -s'
166__make:              exe,     required, 'make'
167__makeinfo:          exe,     required, '/usr/bin/makeinfo'
168__mkdir:             exe,     required, '/bin/mkdir'
169__mkdir_p:           exe,     none,     '/bin/mkdir -p'
170__mv:                exe,     required, '/bin/mv'
171__nm:                exe,     required, '/usr/bin/nm'
172__objcopy:           exe,     optional, '/usr/bin/objcopy'
173__objdump:           exe,     optional, '/usr/bin/objdump'
174__patch_bin:         exe,     required, '/usr/bin/patch'
175__patch_opts:        none,    none,     '%{nil}'
176__patch:             exe,     none,     '%{__patch_bin} %{__patch_opts}'
177__perl:              exe,     optional, 'perl'
178__svn:               exe,     optional, '/usr/bin/svn'
179__ranlib:            exe,     required, 'ranlib'
180__rm:                exe,     required, '/bin/rm'
181__rmfile:            exe,     none,     '%{__rm} -f'
182__rmdir:             exe,     none,     '%{__rm} -rf'
183__sed:               exe,     required, '/usr/bin/sed'
184__setup_post:        exe,     none,     '%{__chmod} -R a+rX,g-w,o-w .'
185__sh:                exe,     required, '/bin/sh'
186__tar:               exe,     required, '/usr/bin/tar'
187__tar_extract:       exe,     none,     '%{__tar} -xvvf'
188__touch:             exe,     required, '/usr/bin/touch'
189__unzip:             exe,     required, '/usr/bin/unzip'
190__xz:                exe,     required, '/usr/bin/xz'
191
192# Shell Build Settings.
193___build_args:       none,    none,     '-e'
194___build_cmd:        none,    none,     '%{?_sudo:%{_sudo} }%{?_remsh:%{_remsh} %{_remhost} }%{?_remsudo:%{_remsudo} }%{?_remchroot:%{_remchroot} %{_remroot} }%{___build_shell} %{___build_args}'
195___build_post:       none,    none,     'exit 0'
196
197# Prebuild set up script.
198___build_pre:        none,    none,     '''# ___build_pre in as set up in defaults.py
199# Save the original path away.
200export SB_ORIG_PATH=${PATH}
201# Directories
202%{?_prefix:SB_PREFIX="%{_prefix}"}
203%{?_prefix:SB_PREFIX_CLEAN=$(echo "%{_prefix}" | %{__sed} -e 's/^\///')}
204SB_SOURCE_DIR="%{_sourcedir}"
205SB_BUILD_DIR="%{_builddir}"
206# host == build, use build; host != build, host uses host and build uses build
207SB_HOST_CPPFLAGS="%{host_includes}"
208# Optionally do not add includes to c/cxx flags as newer configure's complain
209SB_HOST_CFLAGS="%{host_cflags} %{!?host_cflags_no_includes %{host_includes}}"
210SB_HOST_CXXFLAGS="%{host_cxxflags} %{!?host_cflags_no_includes %{host_includes}}"
211SB_HOST_LDFLAGS="%{host_ldflags} %{?_tmproot:-L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}"
212SB_HOST_LIBS="%{host_libs}"
213SB_BUILD_CFLAGS="%{build_cflags} %{?_tmproot:-I%{_tmproot}/${SB_PREFIX_CLEAN}/include}"
214SB_BUILD_CXXFLAGS="%{build_cxxflags} %{?_tmproot:-I%{_tmproot}/${SB_PREFIX_CLEAN}/include}"
215SB_BUILD_LDFLAGS="%{build_ldflags} %{?_tmproot:-L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}"
216SB_BUILD_LBS="%{build_libs}"
217SB_CFLAGS="${SB_BUILD_CFLAGS} %{build_includes}"
218SB_CXXFLAGS="${SB_BUILD_CXXFLAGS} %{build_includes}"
219SB_ARCH="%{_arch}"
220SB_OS="%{_os}"
221export SB_SOURCE_DIR SB_BUILD_DIR SB_ARCH SB_OS
222export SB_HOST_CPPFLAGS SB_HOST_CFLAGS SB_HOST_CXXFLAGS SB_HOST_LDFLAGS SB_HOST_LIBS
223export SB_BUILD_CFLAGS SB_BUILD_CXXFLAGS SB_BUILD_LDFLAGS SB_BUILD_LIBS
224export SB_CFLAGS SB_CXXFLAGS
225# Documentation
226SB_DOC_DIR="%{_docdir}"
227export SB_DOC_DIR
228# Packages
229SB_PACKAGE_NAME="%{name}"
230SB_PACKAGE_BUILDNAME="%{buildname}"
231SB_PACKAGE_VERSION="%{version}"
232SB_PACKAGE_RELEASE="%{release}"
233export SB_PACKAGE_NAME SB_PACKAGE_VERSION SB_PACKAGE_RELEASE
234# Build directories
235export SB_PREFIX
236%{?_builddir:SB_BUILD_DIR="%{_builddir}"}
237%{?buildroot:SB_BUILD_ROOT="%{buildroot}"}
238%{?buildroot:%{?_prefix:SB_BUILD_ROOT_BINDIR="%{buildroot}/${SB_PREFIX_CLEAN}/bin"}}
239export SB_BUILD_ROOT SB_BUILD_DIR SB_BUILD_ROOT_BINDIR
240%{?_buildcxcdir:SB_BUILD_CXC_DIR="%{_buildcxcdir}"}
241%{?buildcxcroot:SB_BUILD_CXC_ROOT="%{buildcxcroot}"}
242%{?buildcxcroot:%{?_prefix:SB_BUILD_CXC_ROOT_BINDIR="%{buildcxcroot}/${SB_PREFIX_CLEAN}/bin"}}
243export SB_BUILD_CXC_ROOT SB_BUILD_CXC_DIR SB_BUILD_CXC_ROOT_BINDIR
244%{?_tmproot:SB_TMPROOT="%{_tmproot}"}
245%{?_tmproot:%{?_prefix:SB_TMPPREFIX="%{_tmproot}/${SB_PREFIX_CLEAN}"}}
246%{?_tmproot:%{?_prefix:SB_TMPBINDIR="%{_tmproot}/${SB_PREFIX_CLEAN}/bin"}}
247export SB_TMPROOT SB_TMPPREFIX SB_TMPBINDIR
248%{?_tmpcxcroot:SB_TMPCXCROOT="%{_tmproot}"}
249%{?_tmpcxcroot:%{?_prefix:SB_TMPCXCPREFIX="%{_tmpcxcroot}/${SB_PREFIX_CLEAN}"}}
250%{?_tmpcxcroot:%{?_prefix:SB_TMPCXCBINDIR="%{_tmpcxcroot}/${SB_PREFIX_CLEAN}/bin"}}
251export SB_TMPCXCROOT SB_TMPCXCPREFIX SB_TMPCXCBINDIR
252# Extra path support
253%{?_extra_path:SB_EXTRAPATH="%{_extra_path}"}
254# The compiler flags
255%{?_targetcflags:CFLAGS_FOR_TARGET="%{_targetcflags}"}
256%{?_targetcxxflags:CXXFLAGS_FOR_TARGET="%{_targetcxxflags}"}
257export CFLAGS_FOR_TARGET
258export CXXFLAGS_FOR_TARGET
259# Set up the path. Put the CXC path first.
260if test -n "${SB_TMPBINDIR}" ; then
261 PATH="${SB_TMPBINDIR}:$PATH"
262fi
263if test -n "${SB_TMPCXCBINDIR}" ; then
264 PATH="${SB_TMPCXCBINDIR}:$PATH"
265fi
266if test -n "${SB_EXTRAPATH}" ; then
267 PATH="${SB_EXTRAPATH}:$PATH"
268fi
269%{?_pathprepend:PATH="%{_pathprepend}:$PATH"}
270%{?_pathpostpend:PATH="$PATH:%{_pathpostpend}"}
271export PATH
272# Default environment set up.
273LANG=C
274export LANG
275unset DISPLAY || :
276umask 022
277cd "%{_builddir}"'''
278
279___build_shell:      none,    none,     '%{?_buildshell:%{_buildshell}}%{!?_buildshell:/bin/sh}'
280
281___build_template:   none,    none,     '''#!%{___build_shell}
282%{___build_pre}
283%{nil}'''
284
285# Configure command
286configure:           none,    none,     '''
287CFLAGS="${CFLAGS:-${SB_CFLAGS}" ; export CFLAGS ;
288CXXFLAGS="${CXXFLAGS:-${SB_CFLAGS}}" ; export CXXFLAGS ;
289FFLAGS="${FFLAGS:-${SB_CFLAGS}}" ; export FFLAGS ;
290./configure --build=%{_build} --host=%{_host} \
291      --target=%{_target_platform} \
292      --program-prefix=%{?_program_prefix} \
293      --prefix=%{_prefix} \
294      --exec-prefix=%{_exec_prefix} \
295      --bindir=%{_bindir} \
296      --sbindir=%{_sbindir} \
297      --sysconfdir=%{_sysconfdir} \
298      --datadir=%{_datadir} \
299      --includedir=%{_includedir} \
300      --libdir=%{_libdir} \
301      --libexecdir=%{_libexecdir} \
302      --localstatedir=%{_localstatedir} \
303      --sharedstatedir=%{_sharedstatedir} \
304      --mandir=%{_mandir} \
305      --infodir=%{_infodir}'''
306
307# Build script support.
308build_directory:     none,    none,     '''
309if test "%{_build}" != "%{_host}" ; then
310  # Cross-build (Xc) if no target or the host and target match.
311  # Canadian-cross (Cxc) if build, host and target are all different.
312  if test -z "%{_target}" -o "%{_host}" == "%{_target}" ; then
313    build_dir="build-xc"
314  else
315    build_dir="build-cxc"
316  fi
317else
318  build_dir="build"
319fi'''
320
321# Host/build flags.
322host_build_flags:    none,    none,     '''
323# Host and build flags, Cross build if host and build are different and
324# Cxc build if target is deifned and also different.
325# Note, gcc is not ready to be compiled with -std=gnu99 (this needs to be checked).
326if test "%{_build}" != "%{_host}" ; then
327  # Cross build
328  CC=$(echo "%{_host}-%{_host_cc}" | sed -e 's,-std=gnu99 ,,')
329  CXX=$(echo "%{_host}-%{_host_cxx}" | sed -e 's,-std=gnu99 ,,')
330  CPPFLAGS="${SB_HOST_CPPFLAGS}"
331  CFLAGS="${SB_HOST_CFLAGS}"
332  CXXFLAGS="${SB_HOST_CXXFLAGS}"
333  LDFLAGS="${SB_HOST_LDFLAGS}"
334  LIBS="${SB_HOST_LIBS}"
335  # Host
336  CPPFLAGS_FOR_HOST="${SB_HOST_CPPFLAGS}"
337  CFLAGS_FOR_HOST="${SB_HOST_CFLAGS}"
338  CXXFLAGS_FOR_HOST="${SB_HOST_CXXFLAGS}"
339  LDFLAGS_FOR_HOST="${SB_HOST_LDFLAGS}"
340  LIBS_FOR_HOST="${SB_HOST_LIBS}"
341  CXXFLAGS_FOR_HOST="${SB_HOST_CFLAGS}"
342  CC_FOR_HOST=$(echo "%{_host_cc} ${SB_HOST_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
343  CXX_FOR_HOST=$(echo "%{_host_cxx} ${SB_HOST_CXXFLAGS}" | sed -e 's,-std=gnu99 ,,')
344  # Build
345  CFLAGS_FOR_BUILD="${SB_BUILD_CFLAGS}"
346  CXXFLAGS_FOR_BUILD="${SB_BUILD_CXXFLAGS}"
347  LDFLAGS_FOR_BUILD="${SB_BUILD_LDFLAGS}"
348  LIBS_FOR_BUILD="${SB_BUILD_LIBS}"
349  CXXFLAGS_FOR_BUILD="${SB_BUILD_CFLAGS}"
350  CC_FOR_BUILD=$(echo "%{__cc} ${SB_BUILD_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
351  CXX_FOR_BUILD=$(echo "%{__cxx} ${SB_BUILD_CXXFLAGS}" | sed -e 's,-std=gnu99 ,,')
352else
353  LDFLAGS="${SB_BUILD_LDFLAGS}"
354  LIBS="${SB_BUILD_LIBS}"
355  CC=$(echo "%{__cc} ${SB_BUILD_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
356  CXX=$(echo "%{__cxx} ${SB_BUILD_CXXFLAGS}" | sed -e 's,-std=gnu99 ,,')
357  CC_FOR_BUILD=${CC}
358  CXX_FOR_BUILD=${CXX}
359fi
360export CC CXX CPPFLAGS CFLAGS CXXFLAGS LDFLAGS LIBS
361export CC_FOR_HOST CXX_FOR_HOST CPPFLAGS_FOR_HOST CFLAGS_FOR_HOST CXXFLAGS_FOR_HOST LDFLAGS_FOR_HOST LIBS_FOR_HOST
362export CC_FOR_BUILD CXX_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD LIBS_FOR_BUILS'''
363
364# Build/build flags.
365build_build_flags:    none,    none,     '''
366# Build and build flags means force build == host
367# gcc is not ready to be compiled with -std=gnu99
368LDFLAGS="${SB_HOST_LDFLAGS}"
369LIBS="${SB_HOST_LIBS}"
370CC=$(echo "%{__cc} ${SB_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
371CXX=$(echo "%{__cxx} ${SB_CXXFLAGS}" | sed -e 's,-std=gnu99 ,,')
372CC_FOR_BUILD=${CC}
373CXX_FOR_BUILD=${CXX}
374export CC CXX CC_FOR_BUILD CXX_FOR_BUILD CFLAGS LDFLAGS LIBS'''
375
376# Default package settings
377_forced_static:     none,         none, '-Xlinker -Bstatic ${LIBS_STATIC} -Xlinker -Bdynamic'
378__xz:                exe,     required, '/usr/bin/xz'
379
380# Mail Support
381_mail_smtp_host:   none,         none, 'localhost'
382_mail_tools_to:    none,         none, 'build@rtems.org'
383
384# Newlib ICONV encodings
385_newlib_iconv_encodings: none,      none, '''big5,cp775,cp850,cp852,cp855,\
386cp866,euc_jp,euc_kr,euc_tw,iso_8859_1,iso_8859_10,iso_8859_11,\
387iso_8859_13,iso_8859_14,iso_8859_15,iso_8859_2,iso_8859_3,\
388iso_8859_4,iso_8859_5,iso_8859_6,iso_8859_7,iso_8859_8,iso_8859_9,\
389iso_ir_111,koi8_r,koi8_ru,koi8_u,koi8_uni,ucs_2,ucs_2_internal,\
390ucs_2be,ucs_2le,ucs_4,ucs_4_internal,ucs_4be,ucs_4le,us_ascii,\
391utf_16,utf_16be,utf_16le,utf_8,win_1250,win_1251,win_1252,\
392win_1253,win_1254,win_1255,win_1256,win_1257,win_1258'''
Note: See TracBrowser for help on using the repository browser.