summaryrefslogtreecommitdiffstats
path: root/pkg-repgen/syn
blob: d29fcd6f78ad139ddbf47b48fc862711b83f2a52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash
MediaDepot=/media/cdrom/depot
Depot=/srv/NuTyX
find_cd() {
EXPECT_LABEL="nutyxcd"
let PKGNB=0
for SYS in /sys/block/sd* /sys/block/sr* ; do
        if [ ! -d "$SYS" ]; then  continue; fi
        DEV=/dev/${SYS##*/}
        LABEL=`dd if=$DEV bs=1 skip=32808 count=32 2>/dev/null`
        if [ $LABEL == $EXPECT_LABEL ]  2>/dev/null ; then
                mkdir -p /media/cdrom 2>/dev/null
		mount $DEV /media/cdrom
		if [ ! -d /media/cdrom/depot ]; then
			umount -n /media/cdrom
		fi
                break
        fi
done
}
if [ ! "$EUID" -eq 0 ]; then
	echo "Seul le compte root peut synchroniser les ports NuTyX"
	exit 1
fi
if ! mountpoint /media/cdrom > /dev/null; then
	find_cd
fi
if [ ! -L /depot ]; then
	for i in `cat /etc/pkg-get.conf |grep -v ^#|grep http|cut -d "|" -f 1|cut -d" " -f2|cut -d"/" -f4`
	do
		if [ -a $Depot/$i ]; then
			rm -r $Depot/$i
		fi
	done
	pkg-get sync
	for i in `cat /etc/pkg-get.conf |grep -v ^#|grep http|cut -d "|" -f 1|cut -d" " -f2|cut -d"/" -f4`
	do
	if [ -d $MediaDepot/$i ]; then
		rm -r $Depot/$i > /dev/null 2>&1
		mkdir -p $Depot/$i
		for j in $MediaDepot/$i/*.xz 
		do
			let PKGNB=$PKGNB+1
			
			fj=`basename $j`
			ln -sf $MediaDepot/$i/$fj $Depot/$i/$fj
			echo -n -e "$PKGNB Paquets trouvés sur le média\r"
		done
		echo "$PKGNB Paquets trouvés sur le média"
		cp $MediaDepot/$i/PKG* $Depot/$i/
	fi
	done
else
	for i in `cat /etc/pkg-get.conf |grep -v ^#|grep http|cut -d "|" -f 1|cut -d" " -f2|cut -d"/" -f4`
	do
		rsync -avuz --delete-before rsync://nutyx.meticul.eu/nutyx/attapu/i686/$i/ $Depot/$i/
	done
fi