404

[ Avaa Bypassed ]




Upload:

Command:

botdev@18.220.140.173: ~ $
#!/bin/sh -e
#
#    updates_available: calculate and cache the number of updates available
#
#    Copyright (C) 2008 Canonical Ltd.
#    Copyright (C) 2011-2014 Dustin Kirkland
#
#    Authors: Dustin Kirkland <kirkland@byobu.org>
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, version 3 of the License.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.

___print_updates() {
	local u= s=
	read u s < "$1"
	if [ -n "$u" ]; then
		if [ "$u" -gt 0 ]; then
			color b r W; printf "%d" "$u"; color -; color r W
			if [ -n "$s" ] && [ "$s" -gt 0 ]; then
				printf "$ICON_SECURITY"
			else
				printf "$ICON_UPDATES"
			fi
			color --
		elif [ "$u" = "0" ] && [ -e "$BYOBU_RUN_DIR/status.$BYOBU_BACKEND/updates_available" ]; then
			# Clear out byobu's status cache
			rm -f "$BYOBU_RUN_DIR/status.$BYOBU_BACKEND/updates_available"*
		fi
	fi
}

___update_cache() {
	local mycache=$1 flock="$1.lock"
	# Now we actually have to do hard computational work to calculate updates.
	# Let's try to be "nice" about it:
	renice 10 $$ >/dev/null 2>&1 || true
	ionice -c3 -p $$ >/dev/null 2>&1 || true
	# These are very computationally intensive processes.
	# Background this work, have it write to the cache files,
	# and let the next cache check pick up the results.
	# Ensure that no more than one of these run at a given time
	if [ -x /usr/lib/update-notifier/apt-check ]; then
		# If apt-check binary exists, use it
		flock -xn "$flock" /usr/lib/update-notifier/apt-check 2>&1 | awk '-F;' 'END { print $1, $2 }' >"$mycache" 2>/dev/null &
	elif eval $BYOBU_TEST apt-get >/dev/null; then
		# If apt-get exists, use it
		flock -xn "$flock" apt-get -s -o Debug::NoLocking=true upgrade | grep -c ^Inst >$mycache 2>/dev/null &
	elif eval $BYOBU_TEST pkcon >/dev/null; then
		# use packagekit to show list of packages
		LC_ALL=C flock -xn "$flock" pkcon get-updates -p | awk '/^Results:$/ { start=NR }; /^Security/ { security++ }; END { if (!/There are no updates available at this time./) { print NR-start, security }}' > "$mycache" 2>/dev/null &
	elif eval $BYOBU_TEST zypper >/dev/null; then
		# If zypper exists, use it
		flock -xn "$flock" zypper --no-refresh lu --best-effort | grep -c 'v |' >$mycache 2>/dev/null &
	elif eval $BYOBU_TEST yum >/dev/null; then
		# If yum exists, use it
		# TODO: We need a better way of counting updates available from a RH expert
		flock -xn "$flock" yum list updates -q | grep -vc "Updated Packages" >$mycache 2>/dev/null &
	elif eval $BYOBU_TEST pacman >/dev/null; then
		# If pacman (Archlinux) exists, use it
		LC_ALL=C flock -xn "$flock" pacman -Sup | grep -vc "^\(::\| \)" >$mycache 2>/dev/null &
	elif eval $BYOBU_TEST brew >/dev/null; then
		# If homebrew (Mac OSX) exists, use it, also background if flock exists
		if eval $BYOBU_TEST flock; then
			flock -xn "$flock" brew outdated | wc -l >$mycache 2>/dev/null &
		else
			brew outdated | wc -l >$mycache &
		fi
	fi
}

___update_needed() {
	# Checks if we need to update the cache.
	# TODO: add more distro
	local mycache=$1
	# The cache doesn't exist: create it
	[ ! -e "$mycache" ] && return 0
	if eval $BYOBU_TEST apt-get >/dev/null; then
		# Debian/ubuntu
		[ "/var/lib/apt" -nt "$mycache" ] || [ "/var/lib/apt/lists" -nt "$mycache" ]
		return $?
	elif [ -e "/var/lib/PackageKit/transactions.db" ]; then
		[ "/var/lib/PackageKit/transactions.db" -nt "$mycache" ]
		return $?
	elif eval $BYOBU_TEST pacman >/dev/null; then
		# Archlinux
		local db
		for db in /var/lib/pacman/sync/*.db; do
			[ "$db" -nt "$mycache" ] && return 0
		done
		return 1
	elif eval $BYOBU_TEST brew >/dev/null; then
		# Mac OSX
		# check if any new versions have been installed since
		# we last cached. this may not recognize formulae
		# installed with HEAD
		for f in $(brew --prefix)/Cellar/*; do
			[ "$f" -nt "$mycache" ] && return 0
		done
		# nothing new has been installed, so check wether the
		# formulae database was updated
		[ "$(brew --prefix)/Library/Formula" -nt "$mycache" ]
		return $?
	fi
	return 1
}

__updates_available_detail() {
	if eval $BYOBU_TEST apt-get >/dev/null; then
		local detail=`apt-get -s -o Debug::NoLocking=true upgrade`
		if [ "$1" = "--detail" ]; then
			printf "$detail"
		else
			local short=`printf "%s" "$detail" | grep -c ^Inst`
			printf "$short"
		fi
	fi
}

__updates_available() {
	local mycache="$BYOBU_RUN_DIR/cache.$BYOBU_BACKEND/updates-available"
	# If mycache is present, use it
	[ -r $mycache ] && ___print_updates "$mycache"
	# If we really need to do so (mycache doesn't exist, or the package database has changed),
	# background an update now
	___update_needed "$mycache" && ___update_cache "$mycache"
}

# vi: syntax=sh ts=4 noexpandtab

Filemanager

Name Type Size Permission Actions
include Folder 0755
apport File 1.51 KB 0755
arch File 916 B 0755
battery File 4.1 KB 0755
color File 1.04 KB 0755
cpu_count File 1.03 KB 0755
cpu_freq File 1.84 KB 0755
cpu_temp File 1.79 KB 0755
custom File 1.88 KB 0755
date File 990 B 0755
disk File 1.8 KB 0755
disk_io File 2.92 KB 0755
distro File 1.04 KB 0755
ec2_cost File 4.21 KB 0755
entropy File 1.06 KB 0755
fan_speed File 1.85 KB 0755
hostname File 1.3 KB 0755
ip_address File 3.02 KB 0755
load_average File 1.1 KB 0755
logo File 3.92 KB 0755
mail File 1.31 KB 0755
memory File 2.61 KB 0755
menu File 1.61 KB 0755
network File 3.1 KB 0755
processes File 1.13 KB 0755
raid File 1.4 KB 0755
rcs_cost File 3.55 KB 0755
reboot_required File 2.15 KB 0755
release File 1.83 KB 0755
services File 2.08 KB 0755
session File 1.28 KB 0755
swap File 1.75 KB 0755
time File 1.06 KB 0755
time_binary File 4.18 KB 0755
time_utc File 960 B 0755
trash File 1.13 KB 0755
updates_available File 5.03 KB 0755
uptime File 1.64 KB 0755
users File 1.51 KB 0755
whoami File 959 B 0755
wifi_quality File 1.85 KB 0755