3ED Blog

25 września, 2007

Nowy program: "repackage"

Napisane w: Arch Linux, Skrypty (1)

Program który przebuduje każdą paczkę dostępną w abs wraz z kompilacją lub ściągnięciem za pomocą pacmana zależności. Ma możliwość podania wersji którą chcesz zainstalować lub pobrania najnowszego revision pakietów cvs/svn/itp. Standardowo pakiety kompilują się w /tmp/repack-build ale możesz to zmienić za pomocą zmiennej builddir na samym początku. Przykład instalacji przy użyciu repackage:

$ pacman -Q bar
bar 1.4-1
$ repackage -S bar=1.3.1
==> Entering fakeroot environment
==> Making package: bar 1.3.1-0 (Wt, 25 wrz 2007, 12:33:12 CEST)
..
Kod programu:
#!/bin/bash
#
builddir="/tmp/repack-build"
bin_versionpkg="/usr/bin/versionpkg"

msg() {
echo -e "\\033[1;32m*** \\033[1;37m$1\\033[0;37m"
}

build() {
unset pkgdir fpkgdir revision_number

if [ "`echo $2|grep =|wc -l`" -gt "0" ]; then
	pkgname="`echo $2|cut -d= -f1`"
	pkgver="`echo $2|cut -d= -f2`"
	if [ ! -x "$bin_versionpkg" -a "$pkgver" = "get" ]; then
		unset pkgver
		msg "Package \"versionpkg\" not installed!"
	fi
else
	pkgname="$2"
	unset pkgver 
fi

if [ ! -d "$builddir" ]; then
	mkdir "$builddir"
fi
cd "$builddir"

fpkgdir="`find /var/abs -type d -name $pkgname`"
ffind="0"
for i in $fpkgdir; do
	if [ -r "$i/PKGBUILD" ]; then
		let ffind++
	 	sel_pkgdir[$ffind]="$i"
		echo "${ffind}. $i"
	fi
done
if [ "$ffind" -gt "1" ]; then
	echo -n "Please, select your option [auto-select \"1\" - 15s]: "
	typeset -i sel_no
	read -n 1 -t 15 -r sel_no; echo
	if [ -n "$sel_no" ] && [ "$sel_no" -gt "0" ] && \
		[ "$ffind" -ge "$sel_no" ]; then
		# ?????????????? please, repair this
		[ -n "$sel_no" ] && \
		pkgdir="${sel_pkgdir[$sel_no]}" || \
		pkgdir="${sel_pkgdir[1]}"
	else
		pkgdir="${sel_pkgdir[1]}"
	fi
else
	pkgdir="${sel_pkgdir[1]}"
fi
unset fpkgdir ffind sel_pkgdir sel_no

if [ -n "$pkgdir" ]; then
	cp -a $pkgdir $builddir/$pkgname
	cd $pkgname
	if [ -n "$pkgver" ] && [ "$pkgver" = "get" ]; then 
		msg "Retrieving latest revision.."
		revision_number="$($bin_versionpkg -m 2> /dev/null)"
		if [ -n "$revision_number" ]; then
			msg "Newer revision detected: $revision_number"
			pkgver="$revision_number"
		else
			msg "Oups.. This isn't revision repo and version will not be changed.."
			unset pkgver
		fi
	fi
	if [ -n "$pkgver" ]; then 
		eval "sed -i -e's#\(pkgver=\).*#\1$pkgver#g' PKGBUILD"
		if [ -z "$revision_number" ]; then
			sed -i -e's#\(pkgrel=\).*#\10#g' PKGBUILD
			sed -i -e's#\(md5sums=\)('.*')#\1#g' PKGBUILD
		fi
	fi
	if [ "`grep arch= PKGBUILD|wc -l`" -lt "1" ]; then 
		echo "arch=('i686')" >> PKGBUILD 
	fi
	makepkg -$1 || pkgnotbuild=($pkgnotbuild $pkgname)
else
	pkgnotfound=($pkgnotfound $pkgname)
fi
}

absup() {
if [ "`sudo -l|grep "/usr/bin/abs"|wc -l`" -gt "0" ]; then
	sudo abs
else
	msg "Please, give password for root to upgrade abs PKGBUILD tree.."
	su -c abs
fi
msg "Upgrade PKGBUILD tree is finished.."
}

### BEGIN ###
if [ "${#@}" = "0" -o "$1" = "--help" -o "$1" = "-h" -o -z "$1" ]; then 
	cat <<EOF
repackage version 0.1.99.1 2007 | GPL2 | 3ED <kas1987@o2.pl>

Usage:
 repackage [-S|-Sd|-So|-Sdo|-Sod] <package-name[=<ver>|=get]> ..
 repackage [-B|-Bd|-Bo|-Bdo|-Bod] <package-name[=<ver>|=get]> ..
 repackage [-c|-cc|-y|-h]

Options:
 -S   Depends install with pacman
   d  not clean cache 
   o  package build only

 -B   Depends build from source
   d  not clean cache
   o  package build only

 -c   clean cache
 -cc  delete all files in tmp
 -y   refresh abs tree
 -h   show help options

    <ver>  - put your version of this program
     get   - versionpkg method for cvs/svn/ltd

EOF
	exit 0
elif [ "$1" = "-S" ]; then
	buildopts="iSscf"
elif [ "$1" = "-Sd" ]; then
	buildopts="iSsf"
elif [ "$1" = "-So" ]; then
	buildopts="scf"
elif [ "$1" = "-Sdo" -o "$1" = "-Sod" ]; then
	buildopts="sf"
elif [ "$1" = "-B" ]; then
	buildopts="iSbcf"
elif [ "$1" = "-Bd" ]; then
	buildopts="iSbf"
elif [ "$1" = "-Bo" ]; then
	buildopts="bcf"
elif [ "$1" = "-Bdo" -o "$1" = "-Bod" ]; then
	buildopts="bf"
elif [ "$1" = "-c" ]; then
	if [ -d "$builddir" ]; then
		cd $builddir
		for i in *; do
			if [ -d "$i" ]; then
				cd $i
				rm -rf src/ pkg/
				cd ..
			fi
		done
	fi
	msg "Complite.."
	exit 0
elif [ "$1" = "-cc" ]; then
	if [ -d "$builddir" ]; then
		rm -rf $builddir
	fi
	msg "Complite.."
	exit 0
elif [ "$1" = "-y" ]; then
	absup
	exit 0
fi

for i in $@; do
	if [ "`echo $i|cut -c1`" != "-" ]; then
		build "$buildopts" "$i" 
	fi
done

[ -n "$pkgnotbuild" ] && msg "This package is not build: ${pkgnotbuild[*]}"
[ -n "$pkgnotfound" ] && msg "This package is not found: ${pkgnotfound[*]}"
Ostatnia aktualizacja: 14 listopad 2007

21 września, 2007

GDM i numlock dla wszystkich..

Napisane w: Arch Linux, Linux, Skrypty (1)

Włącza lub wyłącza numlock.
Opcja "1", "true" lub "True" aktywuje.

It enables or disables the numlock.
Options "1", "true" or "True" for enable.

Plik (File): "/etc/gdm/Init/Default" - na samym dole (on bottom):

NUMLOCK="true"
NUMLOCK_BIN="/usr/bin/numlockx"
if [ -f "$NUMLOCK_BIN" -a -n "$NUMLOCK" ] && \
   [ "$NUMLOCK" = "1" -o "$NUMLOCK" = "true" -o  $NUMLOCK" = "True" ]
   then
	$NUMLOCK_BIN on
fi
unset NUMLOCK NUMLOCK_BIN

Aktualizacja: 06 listopad 2007

Google od jakiegoś czasu robi przekierowanie z "http://fusion.google.com/add?feedurl=URL" do "http://www.google.com/ig/adde?moduleurl=URL" co według mnie jest popsuciem tej funkcji.. Denerwuje mnie to że nie mogę dodać sobie do readera kanału RSS. Nie wiem czy tak jest tylko w moim przypadku czy może u was też? Postanowiłem to naprawić.. Nie wiem jak u was ale u mnie klucz: "browser.contentHandlers.types.3.uri", zawiera wpis "http://fusion.google.com/add?feedurl=%s", który wystarczy zmienić na: "http://www.google.com/reader/view/feed/%s" i po restarcie możemy cieszyć się z powrotem tą fajną funkcją..

08 września, 2007

Wakacje

Napisane w: Z życia wzięte (1)

Otóż miałem dużo pracy na wakacjach, a ostatnio nie jestem pewien czy nie jestem przestępcą bo mój blog nie jest zarejestrowany jako czasopismo/dziennik. Wakacje niestety spędziłem niedaleko domu, zaliczyłem pogrzeb i trzeba było też pomóc. Tak poza tym to git i mam nadzieję że już niedługo zacznę więcej tu pisać.

08 września, 2007

Xfce, Firefox i autofocus

Napisane w: Arch Linux, Oprogramowanie (1)

Tak ku pamięci, wrzucam tu link: http://hadret.com/2007/07/26/firefox-i-autofocus/.

  • Zapowiedź świata post-nielegalnej kopii

    "Do napisania tego tekstu zainspirowała mnie duża liczba dyskusji przeprowadzonych na forach internetowych z różnymi ludźmi na temat oblicza piractwa komputerowego nielegalnego kopiowania oraz natury własności intelektualnej. Przy okazji tych dyskusji wypłynęła masa nieścisłości i dziur w obrazie rzeczywistości prezentowanym ludzkości przez organizacje takie jak ZAIKS, RIAA, MPAA, MAFIAA i różnorakich korporacyjnych lobbystów. Ponieważ nie znoszę kłamstw i niesprawiedliwości, postanowiłem, że nie będę dłużej tolerował panoszenia się fałszywej propagandy i napiszę ten artykuł, będący zwieńczeniem kilku lat przemyśleń, wspomnianych już dyskusji i argumentów użytych przez obie strony barykady."

    (Więcej..) osnews.pl [LINK]

  • Czy w projektach publicznych można kierować się zasadami ekonomii?

    "W dyskusjach nad racjonalnością ekonomiczną projektów informatycznych w administracji publicznej jest często pada argument, że "administracja publiczna nie kieruje się zasadą maksymalizacji zysku". Często to jest to tylko wygodna wymówka by odrzucić wszelkie próby obiektywizacji lub racjonalizacji wydatków publicznych."

    ipsec.pl[LINK]

  • Oszczędne państwo rozwijające swój rynek.. NIE!

    "Jesteśmy bogatym krajem. Nie musimy szukać tańszych, stabilniejszych i bezpieczniejszych rozwiązań w administracji publicznej, która wychodzi z założenia, że nie warto wspierać "małych i średnich przedsiębiorstw innowacyjnych" w Polsce."

    "Oto fakty!" na pppit.org.pl [LINK]

  • Android 1.0 działa na Qualcomm

    "Wszystko wskazuje na to, iż otwarty system Android przeznaczony na urządzenia mobilne działa na urządzeniu firmy Qualcomm."

    Filmiki z działającym androidem, trzeba to zobaczyć.

    OSNews.pl [LINK]

  • Rzeczpospolita windowsowa

    "Co by się działo, gdyby rząd zadekretował, że jedynym autem dopuszczonym na polskie drogi jest fiat albo citroën? A jednak pozwalamy, by państwo zmuszało nas do używania systemu operacyjnego Microsoftu"

    Gazeta wyborcza [LINK]

  • Wolność komputerów

    Czy programy pisane przez hobbistów mogą być równie dobre jak te tworzone przez wielkie koncerny? Ile rzeczywiście płacą za oprogramowanie zwykli użytkownicy i firmy? I czy w ogóle muszą za nie płacić?

    Rzeczpospolita [LINK]

  • Chiński UMPC z Linuksem

    Kto mi kupi takie cacko? :)

    Linux.pl [LINK]

  • Kto to jest własnowierca?

    "Propagujemy ideę zniesienia religijnego poddaństwa, zakazania poddawania dzieci religijnemu praniu mózgu i zapisywania ich do sekt i kościołów bez ich świadomej zgody. Informujemy o szkodliwych skutkach niewolnictwa religijnego. Służymy radami, jak wystąpić formalnie i duchowo z Kościoła. A przede wszystkim zmuszamy do myślenia! Jesteśmy religijnymi wyzwoleńcami niezależnymi od osób czerpiących zyski z kontroli nad ludzkimi umysłami i wierzeniami. Nowego, lepszego świata nie można zbudować na gruncie dyktatorskich tworów religijnych. Chcesz się od nich uniezależnić? Przyłącz się do nas! Zostań własnowiercą!"

    A ja pytam osochozi? Co oznacza słowo własnowierca? W co wiara? Z niektórych tekstów na tej stronie wynikać może że od tego przybywa nam sekt (w przeciwieństwie do ateizmu, który je potępia)..

    wlasnowierca.go.pl [LINK]

Foto

O blogu

3ED Blog - na różne tematy ale głównie w okół Linuksa.. Internetowy notatnik pisany w wolnych chwilach. Nie oczekuje zysku, dużej widowni - po prostu zapisuje tu to co mi przyjdzie do głowy.. Oczywiście komentarzem możesz dać mi temat do czego zachęcam.