source: packages/net/asterisk-1.8.x/Makefile @ 25559

Last change on this file since 25559 was 25559, checked in by zandbelt, 5 years ago

[packages] asterisk 1.8.x: add chan_mobile support

File size: 17.6 KB
Line 
1#
2# Copyright (C) 2008-2010 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9
10PKG_NAME:=asterisk18
11PKG_VERSION:=1.8.2.3
12PKG_RELEASE:=1
13
14PKG_SOURCE:=asterisk-$(PKG_VERSION).tar.gz
15PKG_SOURCE_URL:=http://downloads.digium.com/pub/asterisk/releases/
16PKG_MD5SUM:=e394b63dd71c07497620dc12883e0b80
17
18PKG_BUILD_DIR=$(BUILD_DIR)/asterisk-$(PKG_VERSION)
19
20include $(INCLUDE_DIR)/package.mk
21
22define Package/asterisk18/Default
23  SUBMENU:=asterisk18 (Complete Open Source PBX), v1.8.x
24  SECTION:=net
25  CATEGORY:=Network
26  URL:=http://www.asterisk.org/
27  MAINTAINER:=Hans Zandbelt <hans.zandbelt@gmail.com>
28endef
29
30define Package/asterisk18/Default/description
31 Asterisk is a complete PBX in software. It provides all of the features
32 you would expect from a PBX and more. Asterisk does voice over IP in three
33 protocols, and can interoperate with almost all standards-based telephony
34 equipment using relatively inexpensive hardware.
35endef
36
37
38define Package/asterisk18
39$(call Package/asterisk18/Default)
40  TITLE:=Complete open source PBX
41  DEPENDS:= +libopenssl +libncurses +libpopt +libpthread +zlib @!TARGET_avr32
42endef
43
44define Package/asterisk18/description
45$(call Package/asterisk18/Default/description)
46endef
47
48define Package/asterisk18-sounds
49$(call Package/asterisk18/Default)
50  TITLE:=Sound files
51  DEPENDS:= +asterisk18
52endef
53
54define Package/asterisk18-sounds/description
55$(call Package/asterisk18/Default/description)
56 This package contains sound files for Asterisk.
57endef
58
59
60define Package/asterisk18-voicemail
61$(call Package/asterisk18/Default)
62  TITLE:=Voicemail support
63  DEPENDS:= +asterisk18
64endef
65
66define Package/asterisk18-voicemail/description
67$(call Package/asterisk18/Default/description)
68 This package contains voicemail related modules for Asterisk.
69endef
70
71define Package/asterisk18-app-meetme
72$(call Package/asterisk18/Default)
73  TITLE:=conferencing support
74  DEPENDS:= +asterisk18 +dahdi-tools-libtonezone +kmod-dahdi-linux
75endef
76
77define Package/asterisk18-app-meetme/description
78$(call Package/asterisk18/Default/description)
79 This package provides the MeetMe application driver Conferencing support to
80 Asterisk.
81endef
82
83define Package/asterisk18-chan-iax2
84$(call Package/asterisk18/Default)
85  TITLE:=IAX support
86  DEPENDS:= +asterisk18
87endef
88
89define Package/asterisk18-chan-iax2/description
90$(call Package/asterisk18/Default/description)
91 This package provides IAX support to
92 Asterisk.
93endef
94
95define Package/asterisk18-cdr
96$(call Package/asterisk18/Default)
97  TITLE:=CDR support
98  DEPENDS:= +asterisk18
99endef
100
101define Package/asterisk18-cdr/description
102$(call Package/asterisk18/Default/description)
103 This package provides Call Detail Record support to
104 Asterisk.
105endef
106
107define Package/asterisk18-res-musiconhold
108$(call Package/asterisk18/Default)
109  TITLE:=MOH support
110  DEPENDS:= +asterisk18
111endef
112
113define Package/asterisk18-res-musiconhold/description
114$(call Package/asterisk18/Default/description)
115 This package provides Music On Hold support to
116 Asterisk.
117endef
118
119define Package/asterisk18-chan-gtalk
120$(call Package/asterisk18/Default)
121  TITLE:=GTalk support
122  DEPENDS:= +asterisk18 +libiksemel
123endef
124
125define Package/asterisk18-chan-gtalk/description
126$(call Package/asterisk18/Default/description)
127 This package provides the channel chan_gtalk and res_jabber for GTalk
128 support to Asterisk.
129endef
130
131define Package/asterisk18-chan-mobile
132$(call Package/asterisk18/Default)
133  TITLE:=Mobile channel support
134  DEPENDS:= +asterisk18 +bluez-libs
135endef
136
137define Package/asterisk18-chan-mobile/description
138$(call Package/asterisk18/Default/description)
139 This package provides the channel chan_mobile support to Asterisk.
140endef
141
142define Package/asterisk18-curl
143$(call Package/asterisk18/Default)
144  TITLE:=CURL support
145  DEPENDS:= +asterisk18 +libcurl
146endef
147
148define Package/asterisk18-curl/description
149$(call Package/asterisk18/Default/description)
150 This package provides CURL
151 support to Asterisk.
152endef
153 
154ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-app-meetme),)
155  CONFIGURE_ARGS+= \
156        --with-dahdi="$(STAGING_DIR)/usr"
157else
158  CONFIGURE_ARGS+= \
159        --without-dahdi
160endif
161
162ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-chan-gtalk),)
163  CONFIGURE_ARGS+= \
164        --with-gnutls="$(STAGING_DIR)/usr" \
165        --with-iksemel="$(STAGING_DIR)/usr"
166  SITE_VARS+= \
167        ac_cv_lib_iksemel_iks_start_sasl=yes \
168        ac_cv_lib_gnutls_gnutls_bye=yes
169else
170  CONFIGURE_ARGS+= \
171        --without-gnutls \
172        --without-iksemel
173endif
174
175ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-curl),)
176  CONFIGURE_ARGS+= \
177        --with-curl="$(STAGING_DIR)/usr"
178else
179  CONFIGURE_ARGS+= \
180        --without-curl
181endif
182
183CONFIGURE_ARGS+= \
184        --without-curses \
185        --with-gsm=internal \
186        --without-gtk \
187        --without-gtk2 \
188        --without-isdnnet \
189        --without-kde \
190        --without-misdn \
191        --without-nbs \
192        --with-ncurses="$(STAGING_DIR)/usr" \
193        --without-netsnmp \
194        --without-newt \
195        --without-odbc \
196        --without-ogg \
197        --without-osptk \
198        --with-popt="$(STAGING_DIR)/usr" \
199        --without-pri \
200        --without-qt \
201        --without-radius \
202        --without-sdl \
203        --without-spandsp \
204        --without-suppserv \
205        --without-tds \
206        --without-termcap \
207        --without-tinfo \
208        --without-vorbis \
209        --without-vpb \
210        --with-z="$(STAGING_DIR)/usr" \
211        --disable-xmldoc
212
213EXTRA_CFLAGS+= $(TARGET_CPPFLAGS)
214EXTRA_LDFLAGS+= $(TARGET_LDFLAGS)
215
216define Build/Configure
217        -rm $(PKG_BUILD_DIR)/menuselect.makeopts
218        $(call Build/Configure/Default,,$(SITE_VARS))
219endef
220
221define Build/Compile
222        $(MAKE) -C "$(PKG_BUILD_DIR)" \
223                include/asterisk/version.h \
224                include/asterisk/buildopts.h defaults.h \
225                makeopts.embed_rules
226        ASTCFLAGS="$(EXTRA_CFLAGS) -DLOW_MEMORY" \
227        ASTLDFLAGS="$(EXTRA_LDFLAGS)" \
228        $(MAKE) -C "$(PKG_BUILD_DIR)" \
229                ASTVARLIBDIR="/usr/lib/asterisk" \
230                NOISY_BUILD="1" \
231                DEBUG="" \
232                OPTIMIZE="" \
233                DESTDIR="$(PKG_INSTALL_DIR)" \
234                all install samples
235        $(SED) 's|/var/lib/asterisk|/usr/lib/asterisk|g' $(PKG_INSTALL_DIR)/etc/asterisk/musiconhold.conf
236endef
237
238define Build/InstallDev
239        $(INSTALL_DIR) $(1)/usr/include/asterisk-1.8/include/asterisk/
240        $(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk/*.h $(1)/usr/include/asterisk-1.8/include/asterisk/
241        $(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk.h $(1)/usr/include/asterisk-1.8/include/
242endef
243
244define Package/asterisk18/conffiles
245/etc/asterisk/asterisk.conf
246/etc/asterisk/modules.conf
247/etc/asterisk/extensions.conf
248/etc/asterisk/sip.conf
249/etc/asterisk/sip_notify.conf
250/etc/asterisk/features.conf
251/etc/asterisk/indications.conf
252/etc/asterisk/logger.conf
253/etc/asterisk/manager.conf
254/etc/asterisk/rtp.conf
255/etc/default/asterisk
256/etc/init.d/asterisk
257endef
258
259define Package/asterisk18/install
260        $(INSTALL_DIR) $(1)/etc/asterisk
261        for f in asterisk extensions features \
262                indications logger manager modules \
263                sip sip_notify rtp; do \
264                $(CP) $(PKG_INSTALL_DIR)/etc/asterisk/$$$$f.conf $(1)/etc/asterisk/ ; \
265        done
266        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
267        for f in app_dial app_echo app_playback app_macro \
268                chan_sip res_rtp \
269                codec_ulaw codec_gsm \
270                format_gsm format_pcm format_wav format_wav_gsm \
271                pbx_config \
272                func_strings func_timeout func_callerid func_logic; do \
273                $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
274        done
275        $(INSTALL_DIR) $(1)/usr/sbin
276        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/asterisk $(1)/usr/sbin/
277        $(INSTALL_DIR) $(1)/etc/default
278        $(INSTALL_DATA)  ./files/asterisk.default $(1)/etc/default/asterisk
279        $(INSTALL_DIR) $(1)/etc/init.d
280        $(INSTALL_BIN)  ./files/asterisk.init $(1)/etc/init.d/asterisk
281endef
282
283define Package/asterisk18-sounds/install
284        $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
285        $(CP) $(PKG_INSTALL_DIR)/var/lib/asterisk/sounds/en/* $(1)/usr/lib/asterisk/sounds/
286        rm -f $(1)/usr/lib/asterisk/sounds/vm-*
287        rm -f $(1)/usr/lib/asterisk/sounds/conf-*
288endef
289
290
291define Package/asterisk18-voicemail/conffiles
292/etc/asterisk/voicemail.conf
293endef
294
295define Package/asterisk18-voicemail/install
296        $(INSTALL_DIR) $(1)/etc/asterisk
297        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/voicemail.conf $(1)/etc/asterisk/
298        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
299        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*voicemail.so $(1)/usr/lib/asterisk/modules/
300        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_adsi.so $(1)/usr/lib/asterisk/modules/
301        $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
302        $(CP) $(PKG_INSTALL_DIR)/var/lib/asterisk/sounds/en/vm-*.gsm $(1)/usr/lib/asterisk/sounds/
303endef
304
305define Package/asterisk18-app-meetme/conffiles
306/etc/asterisk/meetme.conf
307endef
308
309define Package/asterisk18-app-meetme/install
310        $(INSTALL_DIR) $(1)/etc/asterisk
311        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/meetme.conf $(1)/etc/asterisk/
312        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
313        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_meetme.so $(1)/usr/lib/asterisk/modules/
314        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_dahdi.so $(1)/usr/lib/asterisk/modules/
315        $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
316        $(CP) $(PKG_INSTALL_DIR)/var/lib/asterisk/sounds/en/conf-*.gsm $(1)/usr/lib/asterisk/sounds/
317endef
318
319define Package/asterisk18-chan-iax2/conffiles
320/etc/asterisk/iax.conf
321/etc/asterisk/iaxprov.conf
322endef
323
324define Package/asterisk18-cdr/conffiles
325/etc/asterisk/cdr.conf
326/etc/asterisk/cdr_custom.conf
327/etc/asterisk/cdr_manager.conf
328/etc/asterisk/cdr_odbc.conf
329/etc/asterisk/cdr_pgsql.conf
330/etc/asterisk/cdr_tds.conf
331endef
332
333define Package/asterisk18-res-musiconhold/conffiles
334/etc/asterisk/musiconhold.conf
335endef
336
337define Package/asterisk18-chan-iax2/install
338        $(INSTALL_DIR) $(1)/etc/asterisk
339        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/iax.conf $(1)/etc/asterisk/
340        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/iaxprov.conf $(1)/etc/asterisk/
341        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
342        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_iax2.so $(1)/usr/lib/asterisk/modules/
343endef
344
345define Package/asterisk18-cdr/install
346        $(INSTALL_DIR) $(1)/etc/asterisk
347        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/cdr*.conf $(1)/etc/asterisk/
348        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
349        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*cdr*.so $(1)/usr/lib/asterisk/modules/
350endef
351
352define Package/asterisk18-res-musiconhold/install
353        $(INSTALL_DIR) $(1)/etc/asterisk
354        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/musiconhold.conf $(1)/etc/asterisk/
355        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
356        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_musiconhold.so $(1)/usr/lib/asterisk/modules/
357endef
358
359define Package/asterisk18-chan-gtalk/conffiles
360/etc/asterisk/gtalk.conf
361/etc/asterisk/jabber.conf
362endef
363
364define Package/asterisk18-chan-gtalk/install
365        $(INSTALL_DIR) $(1)/etc/asterisk
366        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/gtalk.conf $(1)/etc/asterisk/
367        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/jabber.conf $(1)/etc/asterisk/
368        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
369        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_gtalk.so $(1)/usr/lib/asterisk/modules/
370        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_jabber.so $(1)/usr/lib/asterisk/modules/
371endef
372
373define Package/asterisk18-chan-mobile/conffiles
374/etc/asterisk/chan_mobile.conf
375endef
376
377define Package/asterisk18-chan-mobile/install
378        $(INSTALL_DIR) $(1)/etc/asterisk
379        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/chan_mobile.conf $(1)/etc/asterisk/
380        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
381        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_mobile.so $(1)/usr/lib/asterisk/modules/
382endef
383
384define Package/asterisk18-curl/install
385        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
386        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/func_curl.so $(1)/usr/lib/asterisk/modules/
387        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_curl.so $(1)/usr/lib/asterisk/modules/
388endef
389
390define Buildasterisk18ModuleTemplate
391
392  define Package/asterisk18-$(subst _,-,$(1))
393  $$(call Package/asterisk18/Default)
394    TITLE:=$(2) support
395    DEPENDS:= +asterisk18
396  endef
397
398  define Package/asterisk18-$(subst _,-,$(1))/description
399  $$(call Package/asterisk18/Default/description)
400    This package provides support $(3) in Asterisk.
401  endef
402
403  define Package/asterisk18-$(subst _,-,$(1))/install
404        $(INSTALL_DIR) $$(1)/usr/lib/asterisk/modules
405        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$(1).so $$(1)/usr/lib/asterisk/modules/
406  endef
407
408  $$(eval $$(call BuildPackage,asterisk18-$(subst _,-,$(1))))
409endef
410
411$(eval $(call BuildPackage,asterisk18))
412$(eval $(call BuildPackage,asterisk18-voicemail))
413$(eval $(call BuildPackage,asterisk18-sounds))
414#$(eval $(call BuildPackage,asterisk18-app-meetme))
415$(eval $(call BuildPackage,asterisk18-chan-iax2))
416$(eval $(call BuildPackage,asterisk18-cdr))
417$(eval $(call BuildPackage,asterisk18-res-musiconhold))
418$(eval $(call BuildPackage,asterisk18-chan-gtalk))
419$(eval $(call BuildPackage,asterisk18-chan-mobile))
420$(eval $(call BuildPackage,asterisk18-curl))
421$(eval $(call Buildasterisk18ModuleTemplate,app_authenticate,Authenticate,support for executing arbitrary authenticate commands))
422$(eval $(call Buildasterisk18ModuleTemplate,app_chanisavail,Channel availability check,support for checking if a channel is available))
423$(eval $(call Buildasterisk18ModuleTemplate,app_chanspy,Channel listen in,support for listening in on any channel))
424$(eval $(call Buildasterisk18ModuleTemplate,app_directed_pickup,Directed call pickup,support for directed call pickup))
425$(eval $(call Buildasterisk18ModuleTemplate,app_exec,Exec application,support for application execution))
426$(eval $(call Buildasterisk18ModuleTemplate,app_minivm,Minimal voicemail system,a voicemail system in small building blocks working together based on the Comedian Mail voicemail system))
427$(eval $(call Buildasterisk18ModuleTemplate,app_readexten,Extension to variable,a trivial application to read an extension into a variable))
428$(eval $(call Buildasterisk18ModuleTemplate,app_read,Variable read,a trivial application to read a variable))
429$(eval $(call Buildasterisk18ModuleTemplate,app_sayunixtime,Say Unix time,an application to say Unix time))
430$(eval $(call Buildasterisk18ModuleTemplate,app_sms,SMS,SMS support (ETSI ES 201 912 protocol 1)))
431$(eval $(call Buildasterisk18ModuleTemplate,app_stack,Stack applications, stack applications Gosub Return etc.))
432$(eval $(call Buildasterisk18ModuleTemplate,app_system,System exec,support for executing system commands))
433$(eval $(call Buildasterisk18ModuleTemplate,app_talkdetect,File playback with audio detect,for file playback with audio detect))
434$(eval $(call Buildasterisk18ModuleTemplate,app_waituntil,Sleep,support sleeping until the given epoch))
435$(eval $(call Buildasterisk18ModuleTemplate,app_while,While loop,a while loop implementation))
436$(eval $(call Buildasterisk18ModuleTemplate,chan_agent,Agents proxy channel, an implementation of agents proxy channel))
437$(eval $(call Buildasterisk18ModuleTemplate,chan_local,Local proxy channel, an implementation of local proxy channel))
438$(eval $(call Buildasterisk18ModuleTemplate,codec_alaw,Signed linear to alaw translation,translation between signed linear and alaw codecs)) 
439$(eval $(call Buildasterisk18ModuleTemplate,codec_ulaw,Signed linear to ulaw translation,translation between signed linear and ulaw codecs))
440$(eval $(call Buildasterisk18ModuleTemplate,codec_a_mu,Alaw to ulaw translation,translation between alaw and ulaw codecs))
441$(eval $(call Buildasterisk18ModuleTemplate,codec_g722,G.722,a high bit rate 48/56/64Kbps ITU standard codec)) 
442$(eval $(call Buildasterisk18ModuleTemplate,codec_g726,Signed linear to G.726 translation,translation between signed linear and ITU G.726-32kbps codecs))
443$(eval $(call Buildasterisk18ModuleTemplate,format_g726,G.726,support for headerless G.726 16/24/32/40kbps data format))
444$(eval $(call Buildasterisk18ModuleTemplate,format_g729,G.729,support for raw headerless G729 data))
445$(eval $(call Buildasterisk18ModuleTemplate,format_sln,Raw slinear format,support for raw slinear format))
446$(eval $(call Buildasterisk18ModuleTemplate,format_sln16,Raw slinear 16 format,support for Raw slinear 16 format))
447$(eval $(call Buildasterisk18ModuleTemplate,func_db,Database interaction,functions for interaction with the database))
448$(eval $(call Buildasterisk18ModuleTemplate,func_devstate,Blinky lights control,functions for manually controlled blinky lights))
449$(eval $(call Buildasterisk18ModuleTemplate,func_vmcount,vmcount dialplan,a vmcount dialplan function))
450$(eval $(call Buildasterisk18ModuleTemplate,func_extstate,Hinted extension state,retrieving the state of a hinted extension for dialplan control))
451$(eval $(call Buildasterisk18ModuleTemplate,func_global,Global variable,global variable dialplan functions))
452$(eval $(call Buildasterisk18ModuleTemplate,func_shell,Shell,support for shell execution))
453$(eval $(call Buildasterisk18ModuleTemplate,pbx_ael,Asterisk Extension Logic,support for symbolic Asterisk Extension Logic))
454$(eval $(call Buildasterisk18ModuleTemplate,res_ael_share,Shareable AEL code,support for shareable AEL code mainly between internal and external modules))
455$(eval $(call Buildasterisk18ModuleTemplate,pbx_spool,Call Spool,outgoing call spool support))
456$(eval $(call Buildasterisk18ModuleTemplate,res_agi,Asterisk Gateway Interface,support for the Asterisk Gateway Interface extension))
457$(eval $(call Buildasterisk18ModuleTemplate,app_alarmreceiver,Alarm receiver,Central Station Alarm receiver for Ademco Contact ID))
458$(eval $(call Buildasterisk18ModuleTemplate,app_setcallerid,Set callerid,support for setting callerid))
459$(eval $(call Buildasterisk18ModuleTemplate,app_verbose,Verbose logging,Verbose logging application))
460$(eval $(call Buildasterisk18ModuleTemplate,func_channel,Channel info,Channel info dialplan function))
461$(eval $(call Buildasterisk18ModuleTemplate,func_blacklist,Blacklist on callerid,looking up the callerid number, and see if it is blacklisted))
462$(eval $(call Buildasterisk18ModuleTemplate,app_originate,Originate a call,originating an outbound call and connecting it to a specified extension or application))
Note: See TracBrowser for help on using the repository browser.