From 6d9f7b97fc39863f41f12b8693e6355574d5e564 Mon Sep 17 00:00:00 2001 From: Robby Workman Date: Tue, 11 May 2010 22:25:59 +0200 Subject: network/wicd: Updated for version 1.5.4 --- network/wicd/README | 28 +++++++------ network/wicd/dhcpcd_daemon.py.diff | 11 ------ network/wicd/dhcpcd_networking.py.diff | 67 -------------------------------- network/wicd/doinst.sh | 29 ++++++++++++-- network/wicd/gpl-2.0.txt.gz | Bin 6843 -> 0 bytes network/wicd/migration_14-15.sh | 24 ++++++++++++ network/wicd/wicd.SlackBuild | 69 ++++++++++++++++++--------------- network/wicd/wicd.info | 10 ++--- 8 files changed, 105 insertions(+), 133 deletions(-) delete mode 100644 network/wicd/dhcpcd_daemon.py.diff delete mode 100644 network/wicd/dhcpcd_networking.py.diff delete mode 100644 network/wicd/gpl-2.0.txt.gz create mode 100644 network/wicd/migration_14-15.sh (limited to 'network') diff --git a/network/wicd/README b/network/wicd/README index 6e7b434550..a8ee5d3e88 100644 --- a/network/wicd/README +++ b/network/wicd/README @@ -6,20 +6,18 @@ Some features include: - Many encryption schemes, some of which include WEP/WPA/WPA2 - Compatible with wireless-tools -You will need to start the wicd service at boot by adding the -following to your /etc/rc.d/rc.local: - if [ -x /etc/rc.d/rc.wicd ]; then - /etc/rc.d/rc.wicd start - fi +You will need to start the wicd service at boot by adding the following +to your /etc/rc.d/rc.local: + if [ -x /etc/rc.d/rc.wicd ]; then + /etc/rc.d/rc.wicd start + fi -You'll also need to prevent the standard Slackware networking scripts from -starting the network. The easiest way to do this is to remove any interface -definitions from /etc/rc.d/rc.inet1.conf -Alternatively, there are two optional patches (not applied by default) -included in the script tarball and commented out in the build script. -With those patches applied, wicd should work "out of the box" with -unmodified Slackware networking scripts, but the only promise I can make is -"WFM - YMMV" (Works For Me - Your Mileage May Vary). :) +This should default to using dhcpcd after installation unless you have a +previous installation that uses dhclient; in that case, you will have a +.new file lying around in /etc/wicd/ to remove. -This requires dbus-python and pygtk; also, you will need to restart or -reload the messagebus service after installing wicd. +You need to stop wicd before upgrading the package if you have a previous +version installed, and be sure to restart it after the upgrade. + +If you are upgrading from wicd-1.4.x, the migration script might be useful. +However, it is untested and comes with no guarantees - back up first. diff --git a/network/wicd/dhcpcd_daemon.py.diff b/network/wicd/dhcpcd_daemon.py.diff deleted file mode 100644 index f804956c7f..0000000000 --- a/network/wicd/dhcpcd_daemon.py.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- orig/opt/wicd/daemon.py 2008-01-03 11:48:40.000000000 -0600 -+++ new/opt/wicd/daemon.py 2008-03-02 01:50:59.406343101 -0600 -@@ -624,7 +624,7 @@ - print 'canceling connection attempt' - if not self.wifi.ConnectingThread == None: - self.wifi.ConnectingThread.ShouldDie = True -- misc.Run("killall dhclient dhclient3 wpa_supplicant") -+ misc.Run("killall dhcpcd dhclient3 wpa_supplicant") - #end function CancelConnect - - ########## WIRED FUNCTIONS diff --git a/network/wicd/dhcpcd_networking.py.diff b/network/wicd/dhcpcd_networking.py.diff deleted file mode 100644 index 7447a84278..0000000000 --- a/network/wicd/dhcpcd_networking.py.diff +++ /dev/null @@ -1,67 +0,0 @@ ---- orig/opt/wicd/networking.py 2008-02-11 19:18:48.000000000 -0600 -+++ new/opt/wicd/networking.py 2008-03-13 22:05:58.562747876 -0500 -@@ -379,7 +379,7 @@ - self.ConnectingMessage = 'removing_old_connection' - self.lock.release() - -- misc.Run("killall dhclient dhclient3 wpa_supplicant") -+ misc.Run("killall dhcpcd dhclient3 wpa_supplicant") - - # Check to see if we need to generate a PSK - if self.wpa_driver != "ralink legacy": -@@ -407,8 +407,8 @@ - self.ConnectingMessage = 'flushing_routing_table' - self.lock.release() - -- misc.Run("ip route flush dev " + self.wireless_interface) -- misc.Run("ip route flush dev " + self.wired_interface) -+ misc.Run("route del dev " + self.wireless_interface) -+ misc.Run("route del dev " + self.wired_interface) - - print "configuring the wireless interface..." - self.lock.acquire() -@@ -517,7 +517,7 @@ - - print "running dhcp..." - if not self.ShouldDie: -- misc.Run("dhclient " + self.wireless_interface) -+ misc.Run("dhcpcd " + self.wireless_interface) - - # Code repetition --- bad. - # However, I think this is the best way. -@@ -618,7 +618,7 @@ - def CreateAdHocNetwork(self,essid,channel,ip,enctype,key,encused,ics): - # Remove wpa_supplicant, as it can cause the connection to revert to - # previous networks... -- misc.Run("killall dhclient dhclient3 wpa_supplicant") -+ misc.Run("killall dhcpcd dhclient3 wpa_supplicant") - misc.Run('ifconfig ' + self.wireless_interface + ' down') - misc.Run('iwconfig ' + self.wireless_interface + ' mode ad-hoc') - misc.Run('iwconfig ' + self.wireless_interface + ' channel ' + channel) -@@ -776,14 +776,14 @@ - self.lock.acquire() - self.ConnectingMessage = 'removing_old_connection' - self.lock.release() -- misc.Run("killall dhclient dhclient3 wpa_supplicant") -+ misc.Run("killall dhcpcd dhclient3 wpa_supplicant") - - print "flushing the routing table..." - self.lock.acquire() - self.ConnectingMessage = 'flushing_routing_table' - self.lock.release() -- misc.Run("ip route flush dev " + self.wireless_interface) -- misc.Run("ip route flush dev " + self.wired_interface) -+ misc.Run("route del dev " + self.wireless_interface) -+ misc.Run("route del dev " + self.wired_interface) - - if not network.get("broadcast") is None: - self.lock.acquire() -@@ -810,7 +810,7 @@ - - print "running dhcp..." - if not self.ShouldDie: -- misc.Run("dhclient " + self.wired_interface) -+ misc.Run("dhcpcd " + self.wired_interface) - - # Code repetition --- bad. - # However, I think this is the best way. diff --git a/network/wicd/doinst.sh b/network/wicd/doinst.sh index a818fc605d..cfbe4dc80a 100644 --- a/network/wicd/doinst.sh +++ b/network/wicd/doinst.sh @@ -16,12 +16,35 @@ if [ -e etc/rc.d/rc.wicd ]; then cp -a etc/rc.d/rc.wicd etc/rc.d/rc.wicd.new.incoming cat etc/rc.d/rc.wicd.new > etc/rc.d/rc.wicd.new.incoming mv etc/rc.d/rc.wicd.new.incoming etc/rc.d/rc.wicd.new + else + chmod 0755 etc/rc.d/rc.wicd.new fi -if [ -x usr/bin/update-desktop-database ]; then - usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1 +# Reload messagebus service +if [ -x etc/rc.d/rc.messagebus ]; then + chroot . /etc/rc.d/rc.messagebus reload +fi + +# Update desktop menu +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +# Update icon cache if one exists +if [ -r usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -t -f usr/share/icons/hicolor >/dev/null 2>&1 + fi fi config etc/rc.d/rc.wicd.new -config etc/dbus-1/system.d/wicd.conf.new +config etc/wicd/manager-settings.conf.new + +rm -f usr/lib/python2.5/site-packages/wicd/*.pyc 2>/dev/null + +echo +echo "You need to kill the wicd client (tray icon)," +echo "then restart the wicd daemon (run '/etc/rc.d/rc.wicd restart')," +echo "then restart the tray icon (run 'wicd-client &' as normal user)." +echo diff --git a/network/wicd/gpl-2.0.txt.gz b/network/wicd/gpl-2.0.txt.gz deleted file mode 100644 index 7b599bad0d..0000000000 Binary files a/network/wicd/gpl-2.0.txt.gz and /dev/null differ diff --git a/network/wicd/migration_14-15.sh b/network/wicd/migration_14-15.sh new file mode 100644 index 0000000000..28931d6341 --- /dev/null +++ b/network/wicd/migration_14-15.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +WICD14=${WICD14:-/opt/wicd} +WICD15_etc=${WICD15:-/etc/wicd} +WICD15_var=${WICD15:-/var/lib/wicd} + +for config in \ + manager-settings.conf \ + wired-settings.conf \ + wireless-settings.conf ; + do \ + if [ -e ${WICD14}/data/$config ]; then + cp -a ${WICD14}/data/$config ${WICD15_etc}/$config + fi ; +done + +if [ "$(ls ${WICD14}/encryption/configurations/ | wc -l)" -gt 0 ]; then + for config in \ + ${WICD14}/encryption/configurations/* ; + do \ + cp -a $config ${WICD15_var}/configurations ; + done +fi + diff --git a/network/wicd/wicd.SlackBuild b/network/wicd/wicd.SlackBuild index e1aa892b28..6ea66821f8 100644 --- a/network/wicd/wicd.SlackBuild +++ b/network/wicd/wicd.SlackBuild @@ -20,12 +20,18 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# I should give a big thanks to Adam Blackburn and Dan O'Reilly (wicd devs) +# for their outstanding work on this, not the least of which was their +# cooperation in making it very Slackware-friendly. Thanks, guys! + PRGNAM=wicd -VERSION=${VERSION:-1.4.2} +VERSION=${VERSION:-1.5.4} ARCH=noarch BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +PMUTILS=${PMUTILS:-NO} + CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM @@ -35,43 +41,42 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT -cd $PKG # Yes, we'll do this all inside $PKG :) +cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/${PRGNAM}_${VERSION}-src.tar.bz2 +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION chown -R root:root . -find . -type f -exec chmod 0644 {} \; -find . -type f -name "*.py" -exec chmod 0755 {} \; - -# Unapplied patches - use them at your own risk. -# Thanks to nawcom for the ideas on this -#patch -p1 < $CWD/dhcpcd_daemon.py.diff -#patch -p1 < $CWD/dhcpcd_networking.py.diff -# Move the init script to Slackware's place and name it accordingly -# Also, let's not clobber it on upgrades -mkdir -p etc/rc.d -mv etc/init.d/wicd etc/rc.d/rc.wicd.new -chmod 0755 etc/rc.d/rc.wicd.new -rmdir etc/init.d +python setup.py configure +python setup.py install --root=$PKG -# Don't clobber the config file either -mv etc/dbus-1/system.d/wicd.conf etc/dbus-1/system.d/wicd.conf.new +# This sets dhcpcd as the default dhcp client in the Preferences dialog +cat << EOF > $PKG/etc/wicd/manager-settings.conf.new +[Settings] +dhcp_client = 2 +EOF -# Give the menu entry desktop file a sane name (really doesn't matter though) -mv usr/share/applications/hammer-00186ddbac.desktop \ - usr/share/applications/wicd.desktop +# Don't clobber init script on upgrade +mv $PKG/etc/rc.d/rc.wicd $PKG/etc/rc.d/rc.wicd.new -# We don't have pm-utils on Slackware, so this can go -rm -rf etc/acpi +# Compress the man pages and add a couple of things to the package docs +find $PKG/usr/man -type f -exec gzip -9 {} \; +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE -mkdir -p usr/doc/$PRGNAM-$VERSION -cat $CWD/README > usr/doc/$PRGNAM-$VERSION/README -# The source code does not include a copy of the the gpl-2.0 -# license so lets add it for them. -zcat $CWD/gpl-2.0.txt.gz > usr/doc/$PRGNAM-$VERSION/LICENSE +# If pm-utils is installed, or the user wants support for it later, then +# we'll install the hook; otherwise, this defaults to NO +if ls /var/log/packages/pm-utils-* 1>/dev/null 2>/dev/null ; then + PMUTILS=YES +fi +if [ "$PMUTILS" = "YES" ]; then + mkdir -p $PKG/usr/lib/pm-utils/sleep.d + cp -a other/55-wicd $PKG/usr/lib/pm-utils/sleep.d +fi -mkdir -p install -cat $CWD/slack-desc > install/slack-desc -cat $CWD/doinst.sh > install/doinst.sh +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz +cd $PKG +/sbin/makepkg -c n -l y $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/network/wicd/wicd.info b/network/wicd/wicd.info index f4eaafeb7e..004caafa03 100644 --- a/network/wicd/wicd.info +++ b/network/wicd/wicd.info @@ -1,8 +1,8 @@ PRGNAM="wicd" -VERSION="1.4.2" -HOMEPAGE="http://wicd.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/wicd/wicd_1.4.2-src.tar.bz2" -MD5SUM="86c15015df1b994202073bf467e79591" +VERSION="1.5.4" +HOMEPAGE="http://wicd.net/" +DOWNLOAD="http://downloads.sourceforge.net/wicd/wicd-1.5.4.tar.gz" +MD5SUM="2a2d120aecded75d4c07fcc4426098f6" MAINTAINER="Robby Workman" EMAIL="rw@rlworkman.net" -APPROVED="David Somero" +APPROVED="Michiel dsomero" -- cgit v1.2.3