ports/128609: [NEW PORT] comms/anyremote: Remote control service over Bluetooth, infrared or tcp/ip networking
Alex Samorukov
samm at os2.kiev.ua
Wed Nov 5 13:10:05 UTC 2008
>Number: 128609
>Category: ports
>Synopsis: [NEW PORT] comms/anyremote: Remote control service over Bluetooth,infrared or tcp/ip networking
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Nov 05 13:10:04 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Alex Samorukov
>Release: FreeBSD 6.3-RELEASE-p1 i386
>Organization:
NetArt
>Environment:
System: FreeBSD deepvision.tsua.net 6.3-RELEASE-p1 FreeBSD 6.3-RELEASE-p1 #4: Fri Mar 28 05:16:52 EET 2008
>Description:
The overall goal of this project is to provide remote control service on Linux
through Bluetooth, InfraRed, Wi-Fi or just TCP/IP connection.
anyRemote supports wide range of modern cell phones like Nokia, SonyEricsson,
Motorola and others.
It was developed as thin communication layer between Bluetooth (or IR, Wi-Fi)
capabled phone and UNIX, and in principle could be configured to manage almost
any software.
WWW: http://anyremote.sourceforge.net/
Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:
--- anyremote-4.11.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# anyremote
# anyremote/pkg-descr
# anyremote/Makefile
# anyremote/pkg-plist
# anyremote/distinfo
# anyremote/files
# anyremote/files/patch-getline
# anyremote/files/patch-freebsd
# anyremote/files/opt-nodocs-patch
#
echo c - anyremote
mkdir -p anyremote > /dev/null 2>&1
echo x - anyremote/pkg-descr
sed 's/^X//' >anyremote/pkg-descr << 'END-of-anyremote/pkg-descr'
XThe overall goal of this project is to provide remote control service on Linux
Xthrough Bluetooth, InfraRed, Wi-Fi or just TCP/IP connection.
X
XanyRemote supports wide range of modern cell phones like Nokia, SonyEricsson,
XMotorola and others.
X
XIt was developed as thin communication layer between Bluetooth (or IR, Wi-Fi)
Xcapabled phone and UNIX, and in principle could be configured to manage almost
Xany software.
X
XWWW: http://anyremote.sourceforge.net/
END-of-anyremote/pkg-descr
echo x - anyremote/Makefile
sed 's/^X//' >anyremote/Makefile << 'END-of-anyremote/Makefile'
X# New ports collection makefile for: anyremote
X# Date created: 2008-11-05
X# Whom: Alex Samorukov <samm at os2.kiev.ua>
X#
X# $FreeBSD$
X#
X
XPORTNAME= anyremote
XPORTVERSION= 4.11
XCATEGORIES= comms
XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR= anyremote
X
XMAINTAINER= samm at os2.kiev.ua
XCOMMENT= Remote control service over Bluetooth,infrared or tcp/ip networking
X
XUSE_AUTOTOOLS= automake:14 autoconf:262 libtool:15
XGNU_CONFIGURE= yes
XCONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
X LDFLAGS="-L${LOCALBASE}/lib"
X.if defined(NOPORTDOCS)
XEXTRA_PATCHES= ${FILESDIR}/opt-nodocs-patch
X.endif
X.if defined(WITHOUT_X11)
XCONFIGURE_ARGS+=--disable-xtest
X.else
XUSE_XORG= x11 xtst
X.endif
XMAKE_ARGS+= LDFLAGS="-L${LOCALBASE}/lib"
X
XMAN1= anyremote.1
XMANCOMPRESSED= yes
X
Xpre-configure:
X cd ${WRKSRC} && ${AUTOMAKE} -a && ${AUTORECONF}
Xpre-build:
X cd ${WRKSRC} && ${MAKE} clean
Xpost-patch:
X @${REINPLACE_CMD} -e 's|(datadir)/man/man1|(mandir)/man1|g' ${WRKSRC}/Makefile.am
X
X.include <bsd.port.mk>
END-of-anyremote/Makefile
echo x - anyremote/pkg-plist
sed 's/^X//' >anyremote/pkg-plist << 'END-of-anyremote/pkg-plist'
X at comment $FreeBSD$
Xbin/anyremote
X%%DATADIR%%/cfg-data/Server-mode/kuickshow.cfg
X%%DATADIR%%/cfg-data/Server-mode/comix.cfg
X%%DATADIR%%/cfg-data/Server-mode/freevo.cfg
X%%DATADIR%%/cfg-data/Server-mode/aqualung.cfg
X%%DATADIR%%/cfg-data/Server-mode/kview.cfg
X%%DATADIR%%/cfg-data/Server-mode/gthumb.cfg
X%%DATADIR%%/cfg-data/Server-mode/xfmedia.cfg
X%%DATADIR%%/cfg-data/Server-mode/mouse.cfg
X%%DATADIR%%/cfg-data/Server-mode/kaffeine_dvbt.cfg
X%%DATADIR%%/cfg-data/Server-mode/fileManager2.cfg
X%%DATADIR%%/cfg-data/Server-mode/evince.cfg
X%%DATADIR%%/cfg-data/Server-mode/customizeClient3.cfg
X%%DATADIR%%/cfg-data/Server-mode/xine.cfg
X%%DATADIR%%/cfg-data/Server-mode/customizeClient5.cfg
X%%DATADIR%%/cfg-data/Server-mode/ooimpress.cfg
X%%DATADIR%%/cfg-data/Server-mode/imageViewer.cfg
X%%DATADIR%%/cfg-data/Server-mode/keyboard.cfg
X%%DATADIR%%/cfg-data/Server-mode/all-in-one.cfg
X%%DATADIR%%/cfg-data/Server-mode/gmusicbrowser.cfg
X%%DATADIR%%/cfg-data/Server-mode/fileManager.cfg
X%%DATADIR%%/cfg-data/Server-mode/mpd.cfg
X%%DATADIR%%/cfg-data/Server-mode/rssReader.cfg
X%%DATADIR%%/cfg-data/Server-mode/fileManager3.cfg
X%%DATADIR%%/cfg-data/Server-mode/keyjnote.cfg
X%%DATADIR%%/cfg-data/Server-mode/kpdf.cfg
X%%DATADIR%%/cfg-data/Server-mode/xmms2.cfg
X%%DATADIR%%/cfg-data/Server-mode/amarok-v2.cfg
X%%DATADIR%%/cfg-data/Server-mode/kaboodle.cfg
X%%DATADIR%%/cfg-data/Server-mode/juk.cfg
X%%DATADIR%%/cfg-data/Server-mode/quodlibet.cfg
X%%DATADIR%%/cfg-data/Server-mode/noatun.cfg
X%%DATADIR%%/cfg-data/Server-mode/gnomeradio.cfg
X%%DATADIR%%/cfg-data/Server-mode/customizeClient2.cfg
X%%DATADIR%%/cfg-data/Server-mode/elisa.cfg
X%%DATADIR%%/cfg-data/Server-mode/xmms.cfg
X%%DATADIR%%/cfg-data/Server-mode/kmplayer.cfg
X%%DATADIR%%/cfg-data/Server-mode/iconUpload.cfg
X%%DATADIR%%/cfg-data/Server-mode/banshee.cfg
X%%DATADIR%%/cfg-data/Server-mode/rhythmbox.cfg
X%%DATADIR%%/cfg-data/Server-mode/autolock.cfg
X%%DATADIR%%/cfg-data/Server-mode/mplayer.cfg
X%%DATADIR%%/cfg-data/Server-mode/totem.cfg
X%%DATADIR%%/cfg-data/Server-mode/xdtv.cfg
X%%DATADIR%%/cfg-data/Server-mode/kmid.cfg
X%%DATADIR%%/cfg-data/Server-mode/amarok.cfg
X%%DATADIR%%/cfg-data/Server-mode/adminExample.cfg
X%%DATADIR%%/cfg-data/Server-mode/customizeClient.cfg
X%%DATADIR%%/cfg-data/Server-mode/nokia-e70.cfg
X%%DATADIR%%/cfg-data/Server-mode/customizeClient4.cfg
X%%DATADIR%%/cfg-data/Server-mode/nokia-e61.cfg
X%%DATADIR%%/cfg-data/Server-mode/kaffeine-v2.cfg
X%%DATADIR%%/cfg-data/Server-mode/bmp.cfg
X%%DATADIR%%/cfg-data/Server-mode/sound.cfg
X%%DATADIR%%/cfg-data/Server-mode/kdetv.cfg
X%%DATADIR%%/cfg-data/Server-mode/kdialog.cfg
X%%DATADIR%%/cfg-data/Server-mode/vlc.cfg
X%%DATADIR%%/cfg-data/Server-mode/kscd.cfg
X%%DATADIR%%/cfg-data/Server-mode/multimode.cfg
X%%DATADIR%%/cfg-data/Server-mode/all-in-one2.cfg
X%%DATADIR%%/cfg-data/Server-mode/moc.cfg
X%%DATADIR%%/cfg-data/Server-mode/smplayer.cfg
X%%DATADIR%%/cfg-data/Server-mode/audacious.cfg
X%%DATADIR%%/cfg-data/Server-mode/tvtime.cfg
X%%DATADIR%%/cfg-data/Server-mode/amarok-v3.cfg
X%%DATADIR%%/cfg-data/Server-mode/winManager.cfg
X%%DATADIR%%/cfg-data/Server-mode/myth-tv.cfg
X%%DATADIR%%/cfg-data/Server-mode/gwenview.cfg
X%%DATADIR%%/cfg-data/Server-mode/kplayer.cfg
X%%DATADIR%%/cfg-data/Server-mode/kopete.cfg
X%%DATADIR%%/cfg-data/Server-mode/decibel.cfg
X%%DATADIR%%/cfg-data/Server-mode/kaffeine.cfg
X%%DATADIR%%/cfg-data/Server-mode/listen.cfg
X%%DATADIR%%/cfg-data/Server-mode/exaile.cfg
X%%DATADIR%%/cfg-data/Server-mode/banshee-v2.cfg
X%%DATADIR%%/cfg-data/Utils/gradient.png
X%%DATADIR%%/cfg-data/Utils/all-in-1.py
X%%DATADIR%%/cfg-data/Utils/xmms_is_playing
X%%DATADIR%%/cfg-data/Bemused-emulation/exaile.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/juk.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/quodlibet.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/noatun.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/xmms.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/rhythmbox.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/totem.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/template.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/amarok.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/kdetv.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/kscd.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/tvtime.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/kplayer.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/kaffeine.cfg
X%%DATADIR%%/cfg-data/Bemused-emulation/mpd.cfg
X%%DATADIR%%/cfg-data/AT-mode/kuickshow.cfg
X%%DATADIR%%/cfg-data/AT-mode/aqualung.cfg
X%%DATADIR%%/cfg-data/AT-mode/kview.cfg
X%%DATADIR%%/cfg-data/AT-mode/xfmedia.cfg
X%%DATADIR%%/cfg-data/AT-mode/mouse.cfg
X%%DATADIR%%/cfg-data/AT-mode/kdialog.se.cfg
X%%DATADIR%%/cfg-data/AT-mode/keyboard.cfg
X%%DATADIR%%/cfg-data/AT-mode/all-in-one.cfg
X%%DATADIR%%/cfg-data/AT-mode/xineForDvd.cfg
X%%DATADIR%%/cfg-data/AT-mode/gmusicbrowser.cfg
X%%DATADIR%%/cfg-data/AT-mode/mpd.cfg
X%%DATADIR%%/cfg-data/AT-mode/juk.cfg
X%%DATADIR%%/cfg-data/AT-mode/quodlibet.cfg
X%%DATADIR%%/cfg-data/AT-mode/noatun.cfg
X%%DATADIR%%/cfg-data/AT-mode/kdialog.sagem.cfg
X%%DATADIR%%/cfg-data/AT-mode/elisa.cfg
X%%DATADIR%%/cfg-data/AT-mode/xmms.cfg
X%%DATADIR%%/cfg-data/AT-mode/kmplayer.cfg
X%%DATADIR%%/cfg-data/AT-mode/kdialog.motorola.cfg
X%%DATADIR%%/cfg-data/AT-mode/banshee.cfg
X%%DATADIR%%/cfg-data/AT-mode/rhythmbox.cfg
X%%DATADIR%%/cfg-data/AT-mode/bmp.cfg
X%%DATADIR%%/cfg-data/AT-mode/autolock.cfg
X%%DATADIR%%/cfg-data/AT-mode/totem.cfg
X%%DATADIR%%/cfg-data/AT-mode/xdtv.cfg
X%%DATADIR%%/cfg-data/AT-mode/amarok.cfg
X%%DATADIR%%/cfg-data/AT-mode/sound.cfg
X%%DATADIR%%/cfg-data/AT-mode/kdetv.cfg
X%%DATADIR%%/cfg-data/AT-mode/kdialog.cfg
X%%DATADIR%%/cfg-data/AT-mode/kscd.cfg
X%%DATADIR%%/cfg-data/AT-mode/multimode.cfg
X%%DATADIR%%/cfg-data/AT-mode/moc.cfg
X%%DATADIR%%/cfg-data/AT-mode/audacious.cfg
X%%DATADIR%%/cfg-data/AT-mode/tvtime.cfg
X%%DATADIR%%/cfg-data/AT-mode/kplayer.cfg
X%%DATADIR%%/cfg-data/AT-mode/kdialog.siemens.cfg
X%%DATADIR%%/cfg-data/AT-mode/kaffeine.cfg
X%%DATADIR%%/cfg-data/AT-mode/listen.cfg
X%%DATADIR%%/cfg-data/AT-mode/exaile.cfg
X%%DATADIR%%/cfg-data/AT-mode/freevo.cfg
X at dirrm %%DATADIR%%/cfg-data/AT-mode
X at dirrm %%DATADIR%%/cfg-data/Bemused-emulation
X at dirrm %%DATADIR%%/cfg-data/Server-mode
X at dirrm %%DATADIR%%/cfg-data/Utils
X at dirrm %%DATADIR%%/cfg-data
X at dirrm %%DATADIR%%
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/jc-menu.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/fileManager2.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/fileManager3.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/amarok-16.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/banshee-v2.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/fileManager.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/amarok.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/amarok-v2.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/banshee.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-blue.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-blue-bottom.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/question.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-red-bottom.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-green-top.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-red-top.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/yes.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-yellow-bottom.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-yellow.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-old.xcf
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/no.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-yellow-top.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-navigation-off.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-green-bottom.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bullet-blue.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-foot.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar.xcf
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-gray.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-green.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-gray-bottom.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-blue-top.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-navigation-on.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-gray-top.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-red.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/prev.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/question.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/play.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/mute.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/vol_down.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/folder.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/default.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/no.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/stop.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/eject.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/vol_up.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/up.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/rewind.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/down.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/launch.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/forward.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/left.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/minus.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/right.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/fullscreen.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/pause.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/file.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/view_tree.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/fit.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/click_icon.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/refresh.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/exit.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/next.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/plus.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/info.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-text.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote1.jpg
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/master.css
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote-devdet.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-list.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyremote32.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/view-screen.jpg
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/default.css
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyRemote32.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote2.jpg
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote-tray.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/kanyremote-devbr.jpg
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyRemote.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/kanyremote2.jpg
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyremote16.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/kanyremote-devdet.jpg
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/logo-head.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/spacer.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyremote256.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyremote22.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyremote24.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-control-menu.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote3.jpg
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-text-menu.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-test.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/any1.jpg
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/logo-detail.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/nothing.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/logo-favicon.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyRemote16.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-list-menu.png
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/any3.jpg
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote-devbr.jpg
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/any6.jpg
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/man.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/dcop.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/cfg-howto.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/conf-server-ex.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/conf-server.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/setup-at.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/use.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/k-shots.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/set.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/bemused.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/g-shots.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-fm.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-parameter.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/thanks.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/ev-handlers.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-menu.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/index.html.dup
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/conf-at.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-icons.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/install.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/dload.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/devices.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/contacts.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/vars.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/ckpd-emulation.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/mode.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/index.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-text.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/setup-server.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-list.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/pre-setup.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/faq.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-window.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/docs.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/web.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/pre.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/frontend.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/ir.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/emulate.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/use-jc.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/phones.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/conf-at-ex.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/lirc.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/make.html
X%%PORTDOCS%%%%DOCSDIR%%/doc-html/event.html
X%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
X%%PORTDOCS%%%%DOCSDIR%%/COPYING
X%%PORTDOCS%%%%DOCSDIR%%/README
X%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
X%%PORTDOCS%%@dirrm %%DOCSDIR%%/doc-html/data/jc
X%%PORTDOCS%%@dirrm %%DOCSDIR%%/doc-html/data/img
X%%PORTDOCS%%@dirrm %%DOCSDIR%%/doc-html/data/icons
X%%PORTDOCS%%@dirrm %%DOCSDIR%%/doc-html/data
X%%PORTDOCS%%@dirrm %%DOCSDIR%%/doc-html
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
END-of-anyremote/pkg-plist
echo x - anyremote/distinfo
sed 's/^X//' >anyremote/distinfo << 'END-of-anyremote/distinfo'
XMD5 (anyremote-4.11.tar.gz) = b4a856b3f95de57ce1c227c0f43eb0dd
XSHA256 (anyremote-4.11.tar.gz) = d0e411d1afacecd0f6732ed5454989434a039f172b599cbaaaacec783cfc63a8
XSIZE (anyremote-4.11.tar.gz) = 1457711
END-of-anyremote/distinfo
echo c - anyremote/files
mkdir -p anyremote/files > /dev/null 2>&1
echo x - anyremote/files/patch-getline
sed 's/^X//' >anyremote/files/patch-getline << 'END-of-anyremote/files/patch-getline'
Xdiff -urN getline1/getline.c getline2/getline.c
X--- src/getline.c 1970-01-01 01:00:00.000000000 +0100
X+++ src/getline.c 2008-10-31 13:10:57.000000000 +0100
X@@ -0,0 +1,176 @@
X+/* getline.c -- Replacement for GNU C library function getline
X+
X+Copyright (C) 1993 Free Software Foundation, Inc.
X+
X+This program is free software; you can redistribute it and/or
X+modify it under the terms of the GNU General Public License as
X+published by the Free Software Foundation; either version 2 of the
X+License, or (at your option) any later version.
X+
X+This program is distributed in the hope that it will be useful, but
X+WITHOUT ANY WARRANTY; without even the implied warranty of
X+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
X+General Public License for more details. */
X+
X+/* Written by Jan Brittenson, bson at gnu.ai.mit.edu. */
X+
X+#ifndef HAVE_GETLINE
X+#ifdef HAVE_CONFIG_H
X+#include <config.h>
X+#endif
X+
X+#include <sys/types.h>
X+#include <stdio.h>
X+#include <assert.h>
X+#include <errno.h>
X+#include "getline.h"
X+
X+#if STDC_HEADERS
X+#include <stdlib.h>
X+#else
X+char *malloc (), *realloc ();
X+#endif
X+
X+/* Always add at least this many bytes when extending the buffer. */
X+#define MIN_CHUNK 64
X+
X+/* Read up to (and including) a TERMINATOR from STREAM into *LINEPTR
X+ + OFFSET (and null-terminate it). If LIMIT is non-negative, then
X+ read no more than LIMIT chars.
X+
X+ *LINEPTR is a pointer returned from malloc (or NULL), pointing to
X+ *N characters of space. It is realloc'd as necessary.
X+
X+ Return the number of characters read (not including the null
X+ terminator), or -1 on error or EOF. On a -1 return, the caller
X+ should check feof(), if not then errno has been set to indicate the
X+ error. */
X+
X+int
X+getstr (lineptr, n, stream, terminator, offset, limit)
X+ char **lineptr;
X+ size_t *n;
X+ FILE *stream;
X+ int terminator;
X+ int offset;
X+ int limit;
X+{
X+ int nchars_avail; /* Allocated but unused chars in *LINEPTR. */
X+ char *read_pos; /* Where we're reading into *LINEPTR. */
X+ int ret;
X+
X+ if (!lineptr || !n || !stream)
X+ {
X+ errno = EINVAL;
X+ return -1;
X+ }
X+
X+ if (!*lineptr)
X+ {
X+ *n = MIN_CHUNK;
X+ *lineptr = malloc (*n);
X+ if (!*lineptr)
X+ {
X+ errno = ENOMEM;
X+ return -1;
X+ }
X+ *lineptr[0] = '\0';
X+ }
X+
X+ nchars_avail = *n - offset;
X+ read_pos = *lineptr + offset;
X+
X+ for (;;)
X+ {
X+ int save_errno;
X+ register int c;
X+
X+ if (limit == 0)
X+ break;
X+ else
X+ {
X+ c = getc (stream);
X+
X+ /* If limit is negative, then we shouldn't pay attention to
X+ it, so decrement only if positive. */
X+ if (limit > 0)
X+ limit--;
X+ }
X+
X+ save_errno = errno;
X+
X+ /* We always want at least one char left in the buffer, since we
X+ always (unless we get an error while reading the first char)
X+ NUL-terminate the line buffer. */
X+
X+ assert((*lineptr + *n) == (read_pos + nchars_avail));
X+ if (nchars_avail < 2)
X+ {
X+ if (*n > MIN_CHUNK)
X+ *n *= 2;
X+ else
X+ *n += MIN_CHUNK;
X+
X+ nchars_avail = *n + *lineptr - read_pos;
X+ *lineptr = realloc (*lineptr, *n);
X+ if (!*lineptr)
X+ {
X+ errno = ENOMEM;
X+ return -1;
X+ }
X+ read_pos = *n - nchars_avail + *lineptr;
X+ assert((*lineptr + *n) == (read_pos + nchars_avail));
X+ }
X+
X+ if (ferror (stream))
X+ {
X+ /* Might like to return partial line, but there is no
X+ place for us to store errno. And we don't want to just
X+ lose errno. */
X+ errno = save_errno;
X+ return -1;
X+ }
X+
X+ if (c == EOF)
X+ {
X+ /* Return partial line, if any. */
X+ if (read_pos == *lineptr)
X+ return -1;
X+ else
X+ break;
X+ }
X+
X+ *read_pos++ = c;
X+ nchars_avail--;
X+
X+ if (c == terminator)
X+ /* Return the line. */
X+ break;
X+ }
X+
X+ /* Done - NUL terminate and return the number of chars read. */
X+ *read_pos = '\0';
X+
X+ ret = read_pos - (*lineptr + offset);
X+ return ret;
X+}
X+
X+int
X+getline (lineptr, n, stream)
X+ char **lineptr;
X+ size_t *n;
X+ FILE *stream;
X+{
X+ return getstr (lineptr, n, stream, '\n', 0, GETLINE_NO_LIMIT);
X+}
X+
X+int
X+getline_safe (lineptr, n, stream, limit)
X+ char **lineptr;
X+ size_t *n;
X+ FILE *stream;
X+ int limit;
X+{
X+ return getstr (lineptr, n, stream, '\n', 0, limit);
X+}
X+#endif /* HAVE_GETLINE */
Xdiff -urN getline1/getline.h getline2/getline.h
X--- src/getline.h 1970-01-01 01:00:00.000000000 +0100
X+++ src/getline.h 2008-10-31 13:10:51.000000000 +0100
X@@ -0,0 +1,25 @@
X+#ifndef HAVE_GETLINE
X+#ifndef _getline_h_
X+#define _getline_h_ 1
X+
X+#include <stdio.h>
X+
X+#if defined (__GNUC__) || (defined (__STDC__) && __STDC__)
X+#define __PROTO(args) args
X+#else
X+#define __PROTO(args) ()
X+#endif /* GCC. */
X+
X+#define GETLINE_NO_LIMIT -1
X+
X+int
X+ getline __PROTO ((char **_lineptr, size_t *_n, FILE *_stream));
X+int
X+ getline_safe __PROTO ((char **_lineptr, size_t *_n, FILE *_stream,
X+ int limit));
X+int
X+ getstr __PROTO ((char **_lineptr, size_t *_n, FILE *_stream,
X+ int _terminator, int _offset, int limit));
X+
X+#endif /* _getline_h_ */
X+#endif /* HAVE_GETLINE */
END-of-anyremote/files/patch-getline
echo x - anyremote/files/patch-freebsd
sed 's/^X//' >anyremote/files/patch-freebsd << 'END-of-anyremote/files/patch-freebsd'
Xdiff -ur configure.in anyremote-4.11-fbsd/configure.in
X--- configure.in 2008-10-16 20:56:17.000000000 +0200
X+++ configure.in 2008-10-31 13:09:34.000000000 +0100
X@@ -53,14 +53,31 @@
X #AC_CONFIG_FILES([Makefile
X # src/Makefile])
X
X-AC_ARG_ENABLE(bluez,
X- [ --disable-bluez disable bluez support])
X+AC_CANONICAL_HOST
X
X-if test x"$enable_bluez" != xno; then
X- AC_CHECK_HEADERS([bluetooth/bluetooth.h], [], [echo "Can not find bluetooth.h ! Install it or use --disable-bluez";exit])
X- AR_EXTRAFLAGS="$AR_EXTRAFLAGS -DUSE_BT=1"
X- AR_EXTRALIBS="$AR_EXTRALIBS -lbluetooth"
X-fi
X+case "$host_os" in
X+linux*)
X+ AC_ARG_ENABLE(bluez,
X+ [ --disable-bluez disable bluez support])
X+
X+ if test x"$enable_bluez" != xno; then
X+ AC_CHECK_HEADERS([bluetooth/bluetooth.h], [], [echo "Can not find bluetooth.h ! Install it or use --disable-bluez";exit])
X+ AR_EXTRAFLAGS="$AR_EXTRAFLAGS -DUSE_BT=1"
X+ AR_EXTRALIBS="$AR_EXTRALIBS -lbluetooth"
X+ fi
X+ AR_EXTRAFLAGS="$AR_EXTRAFLAGS -DHAVE_GETLINE=1"
X+ ;;
X+freebsd*)
X+ AC_ARG_ENABLE(bluetooth,
X+ [ --disable-bluetooth disable bluetooth support])
X+
X+ if test x"$enable_bluetooth" != xno; then
X+ AC_CHECK_HEADERS([bluetooth.h], [], [echo "Can not find bluetooth.h ! Install it or use --disable-bluetooth";exit])
X+ AR_EXTRAFLAGS="$AR_EXTRAFLAGS -DUSE_BT_FBSD=1"
X+ AR_EXTRALIBS="$AR_EXTRALIBS -lbluetooth -lsdp"
X+ fi
X+ ;;
X+esac
X
X AC_ARG_ENABLE(xtext,
X [ --disable-xtest disable xtest support])
XOnly in anyremote-4.11-fbsd/: configure.in~
XOnly in anyremote-4.11-fbsd/: configure.lineno
Xdiff -ur anyremote-4.11/src/Makefile.am anyremote-4.11-fbsd/src/Makefile.am
X--- src/Makefile.am 2008-09-29 20:54:38.000000000 +0200
X+++ src/Makefile.am 2008-10-31 13:08:21.000000000 +0100
X@@ -19,7 +19,7 @@
X #
X
X bin_PROGRAMS = anyremote
X-anyremote_SOURCES = atsend.c btio.c main.c cmds.c parse.c utils.c xemulate.c conf.c atsend.h common.h btio.h common.h parse.h cmds.h utils.h xemulate.h conf.h
X+anyremote_SOURCES = atsend.c btio.c main.c cmds.c parse.c utils.c xemulate.c conf.c atsend.h common.h btio.h common.h parse.h cmds.h utils.h xemulate.h conf.h getline.h getline.c
X anyremote_LDFLAGS = @LDFLAGS@
X anyremote_LDADD = @AR_EXTRALIBS@
X AM_CFLAGS = @AR_EXTRAFLAGS@
Xdiff -ur anyremote-4.11/src/btio.c anyremote-4.11-fbsd/src/btio.c
X--- src/btio.c 2008-09-29 20:54:38.000000000 +0200
X+++ src/btio.c 2008-11-01 20:04:02.000000000 +0100
X@@ -40,12 +40,19 @@
X #include <netdb.h>
X
X //#define USE_BT
X+// #define USE_BT_FBSD
X
X #ifdef USE_BT
X #include <bluetooth/bluetooth.h>
X #include <bluetooth/rfcomm.h>
X #endif
X
X+#ifdef USE_BT_FBSD
X+#include <bluetooth.h>
X+#include <sdp.h>
X+#include <err.h>
X+#endif
X+
X #include "btio.h"
X #include "common.h"
X #include "parse.h"
X@@ -576,6 +583,39 @@
X }
X #endif
X
X+#ifdef USE_BT_FBSD
X+void *session = NULL;
X+uint32_t record;
X+
X+
X+void sdpRegister(int port)
X+{
X+ int channel,service;
X+ bdaddr_t bt_addr_any;
X+ sdp_lan_profile_t lan;
X+
X+ channel = port;
X+ service = SDP_SERVICE_CLASS_SERIAL_PORT;
X+
X+ session = sdp_open_local(NULL);
X+ if (session == NULL)
X+ errx(1, "Unable to create local SDP session");
X+ if (sdp_error(session) != 0)
X+ errx(1, "Unable to open local SDP session. %s (%d)",
X+ strerror(sdp_error(session)), sdp_error(session));
X+ memset(&lan, 0, sizeof(lan));
X+ lan.server_channel = channel;
X+
X+ memcpy(&bt_addr_any, NG_HCI_BDADDR_ANY, sizeof(bt_addr_any));
X+ if (sdp_register_service(session, service, &bt_addr_any,
X+ (void *)&lan, sizeof(lan), &record) != 0) {
X+ errx(1, "Unable to register LAN service with "
X+ "local SDP daemon. %s (%d)",
X+ strerror(sdp_error(session)), sdp_error(session));
X+ }
X+}
X+#endif
X+
X void sdpDeregister()
X {
X #ifdef USE_BT
X@@ -585,6 +625,13 @@
X //sdp_record_free(record);
X }
X #endif
X+ #ifdef USE_BT_FBSD
X+ if (session != NULL) {
X+ sdp_unregister_service(session, record);
X+ sdp_close(session);
X+ session = NULL;
X+ }
X+ #endif
X }
X
X //
X@@ -598,11 +645,15 @@
X #ifdef USE_BT
X struct sockaddr_rc bt_addr;
X #endif
X+ #ifdef USE_BT_FBSD
X+ struct sockaddr_rfcomm bt_addr;
X+ #endif
X
X struct sockaddr* socketaddr = NULL;
X
X int addFamily = 0;
X int proto = 0;
X+ int sz;
X
X if (sportfd) {
X logger("ERROR", "socket was already opened");
X@@ -619,6 +670,10 @@
X addFamily = PF_BLUETOOTH;
X proto = BTPROTO_RFCOMM;
X #endif
X+ #ifdef USE_BT_FBSD
X+ addFamily = PF_BLUETOOTH;
X+ proto = BLUETOOTH_PROTO_RFCOMM;
X+ #endif
X } else if (type == SERVER_UX) {
X addFamily = AF_UNIX;
X proto = 0;
X@@ -654,10 +709,12 @@
X tcp_addr.sin_port = htons(port);
X
X socketaddr=(struct sockaddr *)&tcp_addr;
X+ sz = sizeof(tcp_addr);
X
X } else if (type == SERVER_BT){ // SERVER_BT
X #ifdef USE_BT
X memset((void *) &bt_addr, 0, sizeof(bt_addr));
X+ sz = sizeof(bt_addr);
X
X // bind socket to the specified port of the first available local bluetooth adapter
X bt_addr.rc_family = AF_BLUETOOTH;
X@@ -673,8 +730,21 @@
X sdpRegister(port);
X sprintf(tmp, "registered SP for channel %i", port);
X logger("INFO", tmp);
X+ socketaddr=(struct sockaddr *)&bt_addr;
X+ #endif
X+
X+ #ifdef USE_BT_FBSD
X+ memset(&bt_addr, 0, sizeof(bt_addr));
X
X+ bt_addr.rfcomm_len = sizeof(bt_addr);
X+ bt_addr.rfcomm_family = AF_BLUETOOTH;
X+ bt_addr.rfcomm_channel = (uint8_t) port;;
X+ sdpRegister(port);
X+ sprintf(tmp, "registered SP for channel %i", port);
X+ logger("INFO", tmp);
X+
X socketaddr=(struct sockaddr *)&bt_addr;
X+ sz = sizeof(bt_addr);
X #endif
X } else if (type == SERVER_UX && path != NULL){
X
X@@ -683,16 +753,16 @@
X strncpy(un_addr.sun_path, path, sizeof un_addr.sun_path - 1);
X printf("ERROR: SOCKET %s\n", path);
X socketaddr=(struct sockaddr *)&un_addr;
X+ sz = sizeof(un_addr);
X
X } else {
X logger("ERROR", "incorrect input 2");
X return -1;
X }
X
X- if (bind(sportfd, (struct sockaddr *) socketaddr, sizeof(*socketaddr)) < 0) {
X+ if (bind(sportfd, (struct sockaddr *) socketaddr, sz) < 0) {
X logger("ERROR", "on binding");
X printf("ERROR: on binding %d->%s\n", errno, strerror(errno));
X-
X return -1;
X }
X
X@@ -735,11 +805,15 @@
X bdaddr_t ba;
X #endif
X
X+ #ifdef USE_BT_FBSD
X+ struct sockaddr_rfcomm bt_addr;
X+ #endif
X+
X logger("INFO", "listenAndAcceptSocketConn");
X cnt = 0;
X
X if (type == SERVER_BT) {
X- #ifdef USE_BT
X+ #if defined(USE_BT) || defined(USE_BT_FBSD)
X socketaddr=(struct sockaddr *)&bt_addr;
X sz = sizeof(bt_addr);
X #endif
X@@ -789,7 +863,6 @@
X #ifdef USE_BT
X if (type == SERVER_BT) {
X baswap(&ba, &bt_addr.rc_bdaddr);
X-
X if (btAddress) {
X free(btAddress);
X }
X@@ -799,6 +872,17 @@
X logger("INFO", tmp);
X }
X #endif
X+ #ifdef USE_BT_FBSD
X+ if (type == SERVER_BT) {
X+ if (btAddress) {
X+ free(btAddress);
X+ }
X+ btAddress = strdup(bt_ntoa(&bt_addr.rfcomm_bdaddr, NULL));
X+
X+ sprintf(tmp, "listenAndAcceptSocketConn: remote BT address is %s", btAddress);
X+ logger("INFO", tmp);
X+ }
X+ #endif
X
X break;
X }
XOnly in anyremote-4.11-fbsd/src: btio.c~
Xdiff -ur anyremote-4.11/src/cmds.c anyremote-4.11-fbsd/src/cmds.c
X--- src/cmds.c 2008-10-01 20:23:20.000000000 +0200
X+++ src/cmds.c 2008-10-31 11:29:24.000000000 +0100
X@@ -39,6 +39,9 @@
X #include "parse.h"
X #include "utils.h"
X #include "xemulate.h"
X+#ifndef HAVE_GETLINE
X+ #include "getline.h"
X+#endif
X
X extern void closePort(int final);
X extern int isConnected;
XOnly in anyremote-4.11-fbsd/src: cmds.c~
XOnly in anyremote-4.11-fbsd/src: fileManager.cfg
XOnly in anyremote-4.11-fbsd/src: getline.c
XOnly in anyremote-4.11-fbsd/src: getline.c~
XOnly in anyremote-4.11-fbsd/src: getline.h
XOnly in anyremote-4.11-fbsd/src: getline.h~
Xdiff -ur anyremote-4.11/src/main.c anyremote-4.11-fbsd/src/main.c
X--- src/main.c 2008-10-16 20:59:27.000000000 +0200
X+++ src/main.c 2008-11-01 20:33:35.000000000 +0100
X@@ -32,6 +32,9 @@
X #include <sys/wait.h>
X #include <time.h>
X #include <unistd.h>
X+#ifdef __FreeBSD__
X+ #include <signal.h>
X+#endif
X
X #include "atsend.h"
X #include "btio.h"
X@@ -46,6 +49,8 @@
X #define ALARM_CLEAN 0
X #define ALARM_CHECK 1
X
X+extern CONF conf;
X+
X static void mainRoutine (void);
X static int isBemusedCommand(char *cmd);
X static int isInpLircCommand(char *cmd);
X@@ -201,6 +206,13 @@
X }
X initialized++;
X }
X+
X+ // setgid
X+ if(conf.uid && getuid()==0){
X+ DEBUG2("setuid/setgid %d,%d",conf.uid,conf.gid);
X+ setgid(conf.gid);
X+ setuid(conf.uid);
X+ }
X return 1;
X }
X
X@@ -216,6 +228,9 @@
X closedir(d);
X } else {
X mkdir(dd, S_IRWXU);
X+ if(getuid()==0 && conf.uid) { // do not create as superuser
X+ chown(dd,conf.uid,conf.gid);
X+ }
X }
X }
X
X@@ -309,8 +324,6 @@
X }
X }
X
X- createDataDir();
X-
X if (argv[1] && (strcmp(argv[1],"-h")==0 || strcmp(argv[1],"--help")==0)) {
X //Just print help and exit
X printHelp();
X@@ -334,7 +347,8 @@
X freeCfg();
X exit(1);
X }
X-
X+
X+ createDataDir();
X initLog();
X
X // Not to core dump if connection will close
XOnly in anyremote-4.11-fbsd/src: main.c~
XOnly in anyremote-4.11-fbsd/src: make.sh
Xdiff -ur anyremote-4.11/src/parse.c anyremote-4.11-fbsd/src/parse.c
X--- src/parse.c 2008-10-06 15:19:34.000000000 +0200
X+++ src/parse.c 2008-11-01 19:58:30.000000000 +0100
X@@ -50,7 +50,7 @@
X #define REGEX_TIMER "[[:space:]]*([^[:space:]]+)[[:space:]]*,[[:space:]]*([[:digit:]]*)[[:space:]]*,[[:space:]]*([[:digit:]]*)[[:space:]]*$|[[:space:]]*([^[:space:]]+)[[:space:]]*,[[:space:]]*(cancel|pause|continue)"
X #define REGEX_MAKE "[[:space:]]*(remote|mode|var)[[:space:]]*,[[:space:]]*(.*)[[:space:]]*|[[:space:]]*(exit|flush|disconnect|none)[[:space:]]*"
X
X-#define REGEX_SET_TL "[[:space:]]*(fg|bg|font|select)[[:space:]]*,(.*)|[[:space:]]*(add|replace)[[:space:]]*,[[:space:]]*([^[:space:]]{1}[^,]*[^[:space:]]{1})[[:space:]]*,[[:space:]]*(.*)|[[:space:]]*(close)[[:space:]]*,[[:space:]]**(clear)[[:space:]]*|[[:space:]]*(clear|close|show)[[:space:]]*"
X+#define REGEX_SET_TL "[[:space:]]*(fg|bg|font|select)[[:space:]]*,(.*)|[[:space:]]*(add|replace)[[:space:]]*,[[:space:]]*([^[:space:]]{1}[^,]*[^[:space:]]{1})[[:space:]]*,[[:space:]]*(.*)|[[:space:]]*(close)[[:space:]]*,[[:space:]]*(clear)[[:space:]]*|[[:space:]]*(clear|close|show)[[:space:]]*"
X #define REGEX_SET_MN "[[:space:]]*(add|replace)[[:space:]]*,(.*)|[[:space:]]*(clear)[[:space:]]*"
X #define REGEX_SET_WM "[[:space:]]*(icon|window)[[:space:]]*,(.*)|[[:space:]]*(remove_all|show|close|cursor|nocursor|dynamic_cursor)[[:space:]]*|[[:space:]]*(set_cursor),[[:space:]]*(.*)[[:space:]]*"
X #define REGEX_SET_FM "[[:space:]]*(add|replace|select)[[:space:]]*,[[:space:]]*(left|right)[[:space:]]*,[[:space:]]*(.*)|[[:space:]]*(close|show)[[:space:]]*"
X@@ -85,7 +85,9 @@
X MODEL_DEFAULT, // Model
X NULL, // Cfg. dir
X -1, // Front-end port
X- 0}; // Work with anyremote2html
X+ 0, // Work with anyremote2html
X+ 0, // set uid
X+ 0}; // set gid
X
X type_key* findExact(mode *mode, char *key)
X {
X@@ -216,6 +218,9 @@
X conf.http = 1;
X } else if (strcmp(argv[i],"--autoconnect")==0 || strcmp(argv[i],"-a")==0) {
X conf.autoConnect = 1;
X+ } else if (strcmp(argv[i],"--user")==0 || strcmp(argv[i],"-u")==0) {
X+ if(getUidGid(argv[++i], &conf.uid, &conf.gid)!=EXIT_OK)
X+ printf("WARNING: bad username %s\n", argv[i]);
X } else if (strcmp(argv[i],"-f")==0) {
X ++i;
X continue; // already processed this parameter
XOnly in anyremote-4.11-fbsd/src: parse.c~
Xdiff -ur anyremote-4.11/src/parse.h anyremote-4.11-fbsd/src/parse.h
X--- src/parse.h 2008-09-29 20:54:38.000000000 +0200
X+++ src/parse.h 2008-11-01 19:47:18.000000000 +0100
X@@ -23,6 +23,8 @@
X #define _PARSE_H_ 1
X
X #include "common.h"
X+#include <sys/types.h>
X+#include <unistd.h>
X
X #define CFGFILE "/.anyremote.cfg"
X
X@@ -241,6 +243,8 @@
X char* cfgDir;
X int frontEnd;
X int http;
X+ uid_t uid;
X+ gid_t gid;
X } CONF;
X
X
XOnly in anyremote-4.11-fbsd/src: parse.h~
Xdiff -ur anyremote-4.11/src/utils.c anyremote-4.11-fbsd/src/utils.c
X--- src/utils.c 2008-10-20 20:13:39.000000000 +0200
X+++ src/utils.c 2008-11-01 20:42:28.000000000 +0100
X@@ -23,12 +23,16 @@
X #include <stdlib.h>
X #include <string.h>
X #include <time.h>
X+#include <sys/types.h>
X+#include <pwd.h>
X
X #include "common.h"
X #include "utils.h"
X #include "conf.h"
X
X+
X extern char tmp[MAXMAXLEN];
X+extern CONF conf;
X
X // Some globals
X
X@@ -91,7 +95,11 @@
X FILE *fplog = fopen(logfile, "w");
X if (fplog) {
X fclose(fplog);
X- }
X+ }
X+ if(getuid()==0 && conf.uid) { // do not open file as superuser
X+ chown(logfile,conf.uid,conf.gid);
X+ }
X+
X printConf();
X }
X }
X@@ -451,7 +459,9 @@
X printf(" -n do not send any AT+CKPD command to the phone\n");
X printf(" -a reconnect automatically in case of connection failure\n");
X printf(" -fe <port> work as backend for GUI frontend. Use specified port to connect to frontend.\n");
X- printf(" -http tune work with anyremote2html\n\n");
X+ printf(" -http tune work with anyremote2html\n");
X+ printf(" -u|--user <username> causes to run as a user other than root. \n\n");
X+
X }
X
X int flushData()
X@@ -486,4 +496,21 @@
X flushAliases = NULL;
X }
X
X+int getUidGid(char *username, uid_t *uid, gid_t *gid) {
X+ /* Set uid and gid to the preferred user (found in setuid.h). Can either be
X+ * numeric or a string, found in /etc/passwd. */
X+ struct passwd *pw;
X+
X+ if ((pw = getpwnam(username))) {
X+ // Name exists
X+ *uid = pw->pw_uid;
X+ *gid = pw->pw_gid;
X+ return EXIT_OK;
X+ }
X+ /* something Bad happened, so send back an error */
X+ return EXIT_NOK;
X+}
X+
X+
X+
X //////////////////////////////////////////////////////////////////////////////////
XOnly in anyremote-4.11-fbsd/src: utils.c~
Xdiff -ur anyremote-4.11/src/utils.h anyremote-4.11-fbsd/src/utils.h
X--- src/utils.h 2008-09-29 20:54:38.000000000 +0200
X+++ src/utils.h 2008-11-01 19:52:34.000000000 +0100
X@@ -23,6 +23,8 @@
X #define _UTILS_H
X
X #include "parse.h"
X+#include <sys/types.h>
X+#include <pwd.h>
X
X #define LOGFILE "/anyremote.log"
X
X@@ -78,4 +80,6 @@
X void setResFile (void);
X char* getResFile (void);
X
X+int getUidGid(char *username, uid_t *uid, gid_t *gid) ;
X+
X #endif
END-of-anyremote/files/patch-freebsd
echo x - anyremote/files/opt-nodocs-patch
sed 's/^X//' >anyremote/files/opt-nodocs-patch << 'END-of-anyremote/files/opt-nodocs-patch'
X--- Makefile.am 2008-10-16 21:00:58.000000000 +0200
X+++ Makefile.am 2008-11-05 12:23:19.000000000 +0100
X@@ -24,12 +24,8 @@
X
X install-data-local:
X test -z $(DESTDIR)$(pkgdatadir) || mkdir -p -- . $(DESTDIR)$(pkgdatadir)
X- test -z $(DESTDIR)$(datadir)/doc/anyremote || mkdir -p -- . $(DESTDIR)$(datadir)/doc/anyremote
X cp -r cfg-data $(DESTDIR)$(pkgdatadir)
X- cp -r doc-html ChangeLog README COPYING AUTHORS $(DESTDIR)$(datadir)/doc/anyremote/
X- find $(DESTDIR)$(pkgdatadir) $(DESTDIR)$(datadir)/doc/anyremote -type f -exec chmod 644 {} \;
X chmod -R a+x $(DESTDIR)$(pkgdatadir)/cfg-data/Utils
X- find $(DESTDIR)$(pkgdatadir) $(DESTDIR)$(datadir)/doc/anyremote -type d -exec chmod 755 {} \;
X test -z $(DESTDIR)$(datadir)/man/man1 || mkdir -p -- . $(DESTDIR)$(datadir)/man/man1
X cp -r anyremote.1.gz $(DESTDIR)$(datadir)/man/man1
X chmod 644 $(DESTDIR)$(datadir)/man/man1/anyremote.1.gz
END-of-anyremote/files/opt-nodocs-patch
exit
--- anyremote-4.11.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list