summaryrefslogtreecommitdiffstats
path: root/base/pkg-get
diff options
context:
space:
mode:
authortnut <thierryn1 at hispeed dot ch>2011-03-27 15:49:30 +0200
committertnut <thierryn1 at hispeed dot ch>2011-03-27 15:49:30 +0200
commit5e5c2d317d9afe7327a75a6c35099510e1f8bb9c (patch)
tree71c67c4cf3532953851edd13a9de6d1964b22f9c /base/pkg-get
parentd460c8b6b98046aaad341547116f9a8a1051fe36 (diff)
downloadnutyx-pakxe-5e5c2d317d9afe7327a75a6c35099510e1f8bb9c.tar.gz
nutyx-pakxe-5e5c2d317d9afe7327a75a6c35099510e1f8bb9c.tar.bz2
nutyx-pakxe-5e5c2d317d9afe7327a75a6c35099510e1f8bb9c.tar.xz
nutyx-pakxe-5e5c2d317d9afe7327a75a6c35099510e1f8bb9c.zip
pkg-get, remplacé par pkg-get-awk
Diffstat (limited to 'base/pkg-get')
-rw-r--r--base/pkg-get/.footprint.i68614
-rw-r--r--base/pkg-get/.footprint.x86_6414
-rw-r--r--base/pkg-get/.md5sum.i6865
-rw-r--r--base/pkg-get/.md5sum.x86_645
-rw-r--r--base/pkg-get/Pkgfile38
-rw-r--r--base/pkg-get/pkg-get-awk.conf11
-rwxr-xr-xbase/pkg-get/pkg-get.awk829
-rw-r--r--base/pkg-get/pkg-get.po204
-rw-r--r--base/pkg-get/syn29
9 files changed, 1101 insertions, 48 deletions
diff --git a/base/pkg-get/.footprint.i686 b/base/pkg-get/.footprint.i686
index 60666b99f..9dd0582f4 100644
--- a/base/pkg-get/.footprint.i686
+++ b/base/pkg-get/.footprint.i686
@@ -1,9 +1,13 @@
drwxr-xr-x root/root etc/
+-rw-rw-r-- root/root etc/pkg-get-awk.conf
+lrwxrwxrwx root/root etc/pkg-get.conf -> pkg-get-awk.conf
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/bin/
--rwxr-xr-x root/root usr/bin/pkg-repgen
+lrwxrwxrwx root/root usr/bin/pkg-get -> pkg-get.awk
+-rwxr-xr-x root/root usr/bin/pkg-get.awk
+-rwxr-xr-x root/root usr/bin/syn.awk
drwxr-xr-x root/root usr/share/
-drwxr-xr-x root/root usr/share/man/
-drwxr-xr-x root/root usr/share/man/man8/
--rw-r--r-- root/root usr/share/man/man8/pkg-get.8.gz
--rw-r--r-- root/root usr/share/man/man8/pkg-repgen.8.gz
+drwxr-xr-x root/root usr/share/locale/
+drwxr-xr-x root/root usr/share/locale/en/
+drwxr-xr-x root/root usr/share/locale/en/LC_MESSAGES/
+-rw-r--r-- root/root usr/share/locale/en/LC_MESSAGES/pkg-get.mo
diff --git a/base/pkg-get/.footprint.x86_64 b/base/pkg-get/.footprint.x86_64
index 60666b99f..9dd0582f4 100644
--- a/base/pkg-get/.footprint.x86_64
+++ b/base/pkg-get/.footprint.x86_64
@@ -1,9 +1,13 @@
drwxr-xr-x root/root etc/
+-rw-rw-r-- root/root etc/pkg-get-awk.conf
+lrwxrwxrwx root/root etc/pkg-get.conf -> pkg-get-awk.conf
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/bin/
--rwxr-xr-x root/root usr/bin/pkg-repgen
+lrwxrwxrwx root/root usr/bin/pkg-get -> pkg-get.awk
+-rwxr-xr-x root/root usr/bin/pkg-get.awk
+-rwxr-xr-x root/root usr/bin/syn.awk
drwxr-xr-x root/root usr/share/
-drwxr-xr-x root/root usr/share/man/
-drwxr-xr-x root/root usr/share/man/man8/
--rw-r--r-- root/root usr/share/man/man8/pkg-get.8.gz
--rw-r--r-- root/root usr/share/man/man8/pkg-repgen.8.gz
+drwxr-xr-x root/root usr/share/locale/
+drwxr-xr-x root/root usr/share/locale/en/
+drwxr-xr-x root/root usr/share/locale/en/LC_MESSAGES/
+-rw-r--r-- root/root usr/share/locale/en/LC_MESSAGES/pkg-get.mo
diff --git a/base/pkg-get/.md5sum.i686 b/base/pkg-get/.md5sum.i686
index 94160a452..b86a7301c 100644
--- a/base/pkg-get/.md5sum.i686
+++ b/base/pkg-get/.md5sum.i686
@@ -1 +1,4 @@
-4255529e512555b8759dc939305b708c pkg-get-0.5.2.tar.gz
+3e833be041e5cb66c747c1d6b9a6258b pkg-get-awk.conf
+342244762702ba95327867a4aba29a93 pkg-get.awk
+bf4713f8f6976dd4d2d860fe6b4b03d0 pkg-get.po
+4d89f89107b269e1579a7e4a440eddb1 syn
diff --git a/base/pkg-get/.md5sum.x86_64 b/base/pkg-get/.md5sum.x86_64
index 94160a452..b86a7301c 100644
--- a/base/pkg-get/.md5sum.x86_64
+++ b/base/pkg-get/.md5sum.x86_64
@@ -1 +1,4 @@
-4255529e512555b8759dc939305b708c pkg-get-0.5.2.tar.gz
+3e833be041e5cb66c747c1d6b9a6258b pkg-get-awk.conf
+342244762702ba95327867a4aba29a93 pkg-get.awk
+bf4713f8f6976dd4d2d860fe6b4b03d0 pkg-get.po
+4d89f89107b269e1579a7e4a440eddb1 syn
diff --git a/base/pkg-get/Pkgfile b/base/pkg-get/Pkgfile
index 204985eb1..35be7e055 100644
--- a/base/pkg-get/Pkgfile
+++ b/base/pkg-get/Pkgfile
@@ -1,23 +1,25 @@
-# Description: Outil de gestion de paquets binaires pour NuTyX
-# URL: http://www.varlock.com et nutyx.org
-# Maintainer: thierryn1 at hispeed dot ch
-# Packager: thierryn1 at hispeed dot ch
+# Description: Un gestionnaire de paquets binaires pour NuTyX léger et rapide
+# URL: http://www.nutyx.org
+# Maintainer: NuTyX core team
+# Packager: guy_
name=pkg-get
-version=0.5.2
-release=2
-source=(http://nutyx.meticul.eu/files/$name-$version.tar.gz)
+version=0.3.2
+release=3
+source=(syn pkg-get.awk pkg-get-awk.conf pkg-get.po)
+
+PKGMK_KEEP_LOCALES=yes
build() {
-ARCH_=`uname -m`
- cd $name-$version
- make PREFIX=$PKG/usr CFGDIR=$PKG/etc install
- mkdir -p $PKG/usr/share
- mv $PKG/usr/{man,share/man}
- rm $PKG/etc/pkg-get.conf
- rm $PKG/usr/bin/pkg-get
- if [ "$ARCH_" == "x86_64" ]; then
- sed -i "s/i686/x86_64/" $PKG/usr/bin/pkg-repgen
- fi
+ msgfmt pkg-get.po -o pkg-get.mo
+ mkdir -p $PKG/usr/bin
+ install -m 755 pkg-get.awk $PKG/usr/bin
+ install -m 755 syn $PKG/usr/bin/syn
+ ln -s pkg-get.awk $PKG/usr/bin/pkg-get
+ mkdir -p $PKG/etc
+ install -m 664 pkg-get-awk.conf $PKG/etc
+ sed -i "s/uname-m/`uname -m`/g" $PKG/etc/pkg-get-awk.conf
+ ln -s pkg-get-awk.conf $PKG/etc/pkg-get.conf
+ mkdir -p $PKG/usr/share/locale/en/LC_MESSAGES
+ install -m 644 pkg-get.mo $PKG/usr/share/locale/en/LC_MESSAGES
}
-
diff --git a/base/pkg-get/pkg-get-awk.conf b/base/pkg-get/pkg-get-awk.conf
new file mode 100644
index 000000000..82e53979b
--- /dev/null
+++ b/base/pkg-get/pkg-get-awk.conf
@@ -0,0 +1,11 @@
+###
+# /etc/pkg-get.conf
+#
+# pkg-get configuration file
+# Dépot des paquets NuTyX
+# Activez le dépot test pour profiter des mise à jour test
+# pkgdir /srv/NuTyX/test|http://nutyx.meticul.eu/attapu/uname-m/test
+pkgdir /srv/NuTyX/release|http://nutyx.meticul.eu/pakxe/uname-m/release
+# runscripts: if "yes" pre-post install scripts are
+# automatically executed. Handle with care.
+runscripts yes
diff --git a/base/pkg-get/pkg-get.awk b/base/pkg-get/pkg-get.awk
new file mode 100755
index 000000000..d8e526a80
--- /dev/null
+++ b/base/pkg-get/pkg-get.awk
@@ -0,0 +1,829 @@
+#! /usr/bin/awk -f
+# _ _ _
+# _ __ | | ____ _ __ _ ___| |_ __ ___ _| | __
+# | '_ \| |/ / _` |___ / _` |/ _ \ __| / _` \ \ /\ / / |/ /
+# | |_) | < (_| |___| (_| | __/ |_ _ | (_| |\ V V /| <
+# | .__/|_|\_\__, | \__, |\___|\__| (_) \__,_| \_/\_/ |_|\_\
+# |_| |___/ |___/
+#
+# A binary package management utility
+
+
+function configs( a, i, k, n, old_FS)
+{
+ n=split(ENVIRON["_"],a,"/")
+ NPKG = a[n]
+ VERSION = "0.3.2"
+ DATE = "2011-03-11"
+
+ # defauts
+ CONF = "/etc/pkg-get.conf"
+ VERSFILE = "/var/lib/pkg/nutyx-version"
+ DB = "/var/lib/pkg/db"
+ LOCKER = "/var/lib/pkg/pkg-get.locker"
+ PRE = "n"
+ POST = "n"
+ PKGDIR[0] = "/srv/NuTyX/release/"
+ load_NUTYX_VERSION()
+ "uname -p " | getline ENV; close("uname -p")
+ WEBDIR[0] = "http://nutyx.meticul.eu/" NUTYX_VERSION "/" ENV "/release/"
+
+ # arguments
+ OPER=(ARGC>1) ? ARGV[1] : ""
+ PKG =(ARGC>2) ? ARGV[2] : ""
+ for (i=2; i<ARGC; i++) {
+ if (ARGV[i]=="-r") {
+ tb_OPT[ARGV[i]]=ARGV[i+1]
+ i++
+ } else if (substr(ARGV[i],1,1)=="-") {
+ split(ARGV[i],a,"=")
+ tb_OPT[a[1]]=a[2]
+ } else
+ tb_PKG[++nPKG]=ARGV[i]
+ }
+
+ # divers
+ cmd="uname -m"
+ cmd | getline ARCH
+ close(cmd)
+
+ # fichier pkg-get.conf
+ if ("--config" in tb_OPT)
+ CONF = tb_OPT["--config"]
+ old_FS=FS
+ FS="|"
+ NPKGDIR=0
+ while (getline < CONF) {
+ n=split($1,a," ")
+ if (a[1]=="pkgdir") {
+ PKGDIR[NPKGDIR]=a[2]"/"
+ if (NF<2) {
+ WEBDIR[NPKGDIR]=""
+ } else {
+ sub(" ","",$2)
+ sub("/uname-m/", "/"ARCH"/", $2)
+ WEBDIR[NPKGDIR]=$2"/"
+ }
+ NPKGDIR++
+ }
+ if (a[1]=="runscripts") {
+ PRE = (a[2]=="yes") ? "y" : "n"
+ POST = (a[2]=="yes") ? "y" : "n"
+ }
+ }
+ FS=old_FS
+
+ # options
+ if ("-r" in tb_OPT)
+ AARGS = AARGS " -r " tb_OPT["-r"]
+ if ("-do" in tb_OPT)
+ {}
+ if ("-f" in tb_OPT)
+ AARGS = AARGS " -f"
+ if ("-im" in tb_OPT)
+ AARGS = AARGS " -im"
+ if ("--aargs" in tb_OPT)
+ AARGS = AARGS " " tb_OPT["--aargs"]
+ if (("--install-scripts" in tb_OPT) || ("--pre-install" in tb_OPT))
+ PRE = "y"
+ if (("--install-scripts" in tb_OPT) || ("--post-install" in tb_OPT))
+ POST = "y"
+ DEPS = "PKGDEPS"
+ READ = "PKGREAD"
+ REPO = "PKGREPO"
+ GRP = "PKGGRP"
+
+ # i18n
+ TEXTDOMAIN = "pkg-get"
+ bindtextdomain("/usr/share/locale")
+}
+
+
+function current()
+{
+ load_DB()
+ if (PKG in tb_DB)
+ print tb_DB[PKG]
+ else
+ print _"Paquet" " " PKG " " _"non installé"
+}
+
+
+function dependent( a, i, n)
+{
+ load_RDEPS()
+ load_DB()
+ n=split(tb_RDEPS[PKG],a,",")
+ for (i=1; i<=n; i++)
+ if ((a[i] in tb_DB) || ("--all" in tb_OPT))
+ print a[i]
+}
+
+
+function depends( c)
+{
+ load_DB()
+ load_DEPS()
+ load_REPO()
+ print _"- dépendences ([i] = installé, [u] = mise à jour possible)"
+ depends2(PKG,ARGV[3])
+ if (PKG in tb_DB)
+ c= (tb_REPO[PKG]==tb_DB[PKG]) ? "i" : "u"
+ else
+ c=" "
+ printf("[%c] %s\n", c, PKG)
+}
+
+
+function depends2(Pkg, Fl, a, i, n, c)
+{
+ S = (Fl=="--d") ? S "-- " : ""
+ n=split(tb_DEPS[Pkg],a,",")
+ for (i=1; i<=n; i++) {
+ if (tb_DEP_TRT[a[i]]==0) {
+ tb_DEP_TRT[a[i]]++
+ if (a[i] in tb_DEPS)
+ depends2(a[i],Fl)
+ if (a[i] in tb_DB)
+ c= (tb_DB[a[i]]==tb_REPO[a[i]]) ? "i" : "u"
+ else
+ c=" "
+ printf("[%c] %s%s\n", c, S, a[i])
+ }
+ }
+ S = (Fl=="--d") ? substr(S,4) : ""
+}
+
+
+function depinst( i)
+{
+ verif_if_root()
+ load_REPO()
+ if (!(PKG in tb_REPO)) {
+ print _"Paquet" " " _"indisponible" ": "PKG
+ exit 1
+ }
+ load_DB()
+ load_DEPS()
+ for (i=1; i<=nPKG; i++) {
+ if (tb_PKG[i] in tb_DB)
+ print _"Le paquet" " " tb_PKG[i] " " _"est déjà installé"
+ else
+ depinst2(tb_PKG[i])
+ }
+ return rc
+}
+
+
+function depinst2(Pkg, a, i, n)
+{
+ n=split(tb_DEPS[Pkg],a,",")
+ for (i=1; i<=n; i++) {
+ if (tb_DEP_TRT[a[i]]==0) {
+ tb_DEP_TRT[a[i]]++
+ if (a[i] in tb_DEPS)
+ depinst2(a[i])
+ if (!(a[i] in tb_DB)) {
+ install2_update2(a[i], "")
+ }
+ }
+ }
+ if (!(Pkg in tb_DB)) {
+ install2_update2(Pkg, "")
+ }
+}
+
+
+function diff( a, i, n, pak)
+{
+ load_DB()
+ load_LOCKER()
+ load_REPO()
+ print _"Différences entre paquets installés et paquets disponibles dans le dépôts:\n"
+ printf("%-30s %-20s %-20s\n", _"Paquet", _"Installé", _"Disponible dans les dépôts\n")
+ for (pak in tb_DB)
+ a[pak]=pak
+ n=asort(a)
+ for (i=1;i<=n;i++) {
+ pak=a[i]
+ if ((pak in tb_REPO) && ((!(pak in tb_LOCK)) || ("--all" in tb_OPT)) && (tb_DB[pak]!=tb_REPO[pak])) {
+ printf("%-30s %-20s %-20s\n", pak, tb_DB[pak], tb_REPO[pak])
+ }
+ }
+}
+
+
+function download(pak, a, WEBREPO, fnPak, cmd, rc, pakw)
+{
+ split(pak,a,"#")
+ WEBREPO = tb_WEBDIR[a[1]]
+ fnPak = tb_PKGDIR[a[1]] pak
+ if ((getline < fnPak) <=0) {
+ pakw = pak
+ sub("#", "%23", pakw)
+ cmd="wget --no-directories --tries=3 --waitretry=3 -nv --directory-prefix="tb_PKGDIR[a[1]] " " WEBREPO pakw
+ if ("--dry" in tb_OPT) {
+ print "\033[1;34m" cmd "\033[1;0m"
+ } else {
+ rc=system(cmd)
+ if (rc>0) {
+ print "ERREUR", rc
+ exit 1
+ }
+ if (!("-im" in tb_OPT))
+ verif_md5sum(tb_PKGDIR[a[1]], pak)
+ }
+ }
+}
+
+
+function dsearch( old_FS, j, FILE)
+{
+ old_FS = FS
+ FS="[:#]"
+ for (j=0; j<NPKGDIR; j++) {
+ FILE=PKGDIR[j] REPO
+ while ((getline < FILE) >0) {
+ if (index($1,ARGV[2]) || index($5,ARGV[2]))
+ print $1
+ }
+ }
+ close(FILE)
+ FS = old_FS
+}
+
+
+function help()
+{
+ version()
+ print "\033[1;33m" _"Usage:" "\033[1;0m"
+ print " " NPKG " current <paquet> - " _"affiche la version installée de <paquet>"
+ print " " NPKG " dependent <paquet> - " _"affiche la liste des paquets dépendants de <paquet>"
+ print " " NPKG " depends <paquet> - " _"affiche la liste des dépendances de <paquet>"
+ print " " NPKG " depinst <paquet(s)> - " _"installe <paquet(s)> et ses(leurs) dépendances"
+ print " " NPKG " diff - " _"affiche la liste des paquets obsolètes"
+ print " " NPKG " dsearch <chaine> - " _"cherche les paquets dont le nom/la description contient <chaine>"
+ print " " NPKG " help - " _"affiche cette aide"
+ print " " NPKG " info <paquet> - " _"affiche les informations concernant <paquet>"
+ print " " NPKG " isinst <paquet> - " _"affiche si <paquet> est installé"
+ print " " NPKG " install <paquet(s)> - " _"installe <paquet(s)>"
+ print " " NPKG " list - " _"affiche la liste des paquets disponibles dans les dépôts"
+ print " " NPKG " listinst - " _"affiche la liste des paquets installés"
+ print " " NPKG " listlocked - " _"affiche la liste des paquets verrouillés"
+ print " " NPKG " lock <paquet(s)> - " _"verrouille <paquet(s)> (empêche la mise à jour)"
+ print " " NPKG " path <paquet> - " _"affiche le répertoire d'installtion de <paquet>"
+ print " " NPKG " quickdep <paquet> - " _"affiche la liste abrégée des dépendances de <paquet>"
+ print " " NPKG " quickdiff - " _"affiche la liste abrégée des paquets obsolètes"
+ print " " NPKG " readme <paquet> - " _"affiche les informations README de <paquet> si existantes"
+ print " " NPKG " search <chaine> - " _"cherche les paquets dont le nom contient <chaine>"
+ print " " NPKG " sync - " _"synchronise avec le dépôt"
+ print " " NPKG " sysup - " _"met à jour les paquets obsolètes, télécharge si nécessaire"
+ print " " NPKG " unlock <paquet(s)> - " _"déverrouille <paquet(s)> (permet la mise à jour)"
+ print " " NPKG " update <paquet(s)> - " _"met à jour <paquet(s)>, télécharge si nécessaire"
+ print " " NPKG " version - " _"affiche la version de ce script"
+ print "\033[1;33m" _"Exemple:" "\033[1;0m"
+ print " " NPKG " depends k3b"
+}
+
+
+function info( a, b, c, cmd, g, gline, n, rline, out)
+{
+ load_REPO()
+ cmd = "grep ^" PKG " " tb_PKGDIR[PKG] REPO
+ cmd | getline rline
+ if (rline) {
+ close(cmd)
+ split (rline, a, ":")
+ split (a[1], b, "#")
+ print _"Nom " " : " PKG
+ cmd = "grep " PKG " " tb_PKGDIR[PKG] GRP " 2>&1"
+ cmd | getline gline
+ close(cmd)
+ split (gline, g, ":")
+ if (g[1]=="grep")
+ print _"Groupe" " : "
+ else
+ print _"Groupe" " : " g[1]
+ split(b[2], c, "-")
+ print "Version" " : " c[1]
+ sub(".pkg.tar.xz","",c[2])
+ print "Release" " : " c[2]
+ print "Description" " : " a[4]
+ print "URL" " : " tb_WEBDIR[PKG] a[1]
+ print "Md5sum" " : " a[3]
+ print _"Taille" " : " a[2]
+ load_DEPS()
+ print _"Dépend de " " : " tb_DEPS[PKG]
+ out=""
+ if (tb_PRE[PKG]=="yes")
+ out = out "pre-install "
+ if (tb_POST[PKG]=="yes")
+ out = out "post-install "
+ if (tb_READ[PKG]=="yes")
+ out = out "readme"
+ print _"Fichiers" " : " out
+ } else
+ print _"Paquet" " '" PKG "' " _"non trouvé"
+}
+
+
+function install( i)
+{
+ verif_if_root()
+ load_REPO()
+ if (!(PKG in tb_REPO)) {
+ print _"Paquet" " " _"indisponible" ": "PKG
+ exit 1
+ }
+ load_DB()
+ for (i=1; i<=nPKG; i++) {
+ if (tb_PKG[i] in tb_DB)
+ print _"Le paquet" " " tb_PKG[i] " " _"est déjà installé"
+ else
+ install2_update2(tb_PKG[i], " ")
+ }
+}
+
+
+function install2_update2(Pkg, Oper, cmd, i, pak)
+{
+ if (!(Pkg in tb_REPO)) {
+ print "\033[1;31m" _"Paquet" " " Pkg " " _"indisponible" "\033[1;0m"
+ return
+ }
+ if (tb_REPO[Pkg] != "" ) {
+ pak=Pkg"#"tb_REPO[Pkg] ".pkg.tar.xz"
+ download(pak)
+ }
+ if ("-do" in tb_OPT)
+ return
+ print _"Installation de" " " Pkg
+ if (PRE=="y" && tb_PRE[Pkg]=="yes") { # pre-install
+ cmd = "/bin/bash " tb_PKGDIR[Pkg] "/PKGINST " Pkg "_pre_install"
+ if ("--dry" in tb_OPT) {
+ print "\033[1;33m" cmd "\033[1;0m"
+ } else {
+ while ((cmd | getline) >0)
+ print
+ close(cmd)
+ }
+ }
+ cmd = "pkgadd " AARGS " " Oper " " tb_PKGDIR[Pkg] pak # Oper==" " : insert ; Oper=="-u" : update
+ if ("--dry" in tb_OPT) {
+ print "\033[1;37m" cmd "\033[1;0m"
+ } else {
+ while ((cmd | getline) >0)
+ print
+ close(cmd)
+ }
+
+ tb_DB[Pkg]=tb_REPO[Pkg]
+
+ if (POST=="y" && tb_POST[Pkg]=="yes") { # post-install
+ cmd = "/bin/bash " tb_PKGDIR[Pkg] "/PKGINST " Pkg "_post_install"
+ if ("--dry" in tb_OPT) {
+ print "\033[1;33m" cmd "\033[1;0m"
+ } else {
+ while ((cmd | getline) >0)
+ print
+ close(cmd)
+ }
+ }
+}
+
+
+function isinst()
+{
+ load_DB()
+ if (PKG in tb_DB)
+ print _"Le paquet" " " PKG " " _"est installé"
+ else
+ print _"Le paquet" " " PKG " " _"n'est pas installé"
+}
+
+
+function list( old_FS, FILE, j, prev)
+{
+ old_FS = FS
+ FS="#"
+ for (j=0; j<NPKGDIR; j++) {
+ FILE = PKGDIR[j] REPO
+ while ((getline < FILE) >0) {
+ if ($1 != prev) {
+ print $1
+ prev = $1
+ }
+ }
+ close(FILE)
+ }
+ FS = old_FS
+}
+
+
+function listinst( old_FS, old_RS, fl)
+{
+ old_FS = FS; FS = "\t"
+ old_RS = RS; RS = ""
+ while (getline < DB)
+ print $1
+ close(DB)
+ FS = old_FS
+ RS = old_RS
+}
+
+
+function listlocked()
+{
+ while (getline < LOCKER)
+ print $1
+ close(LOCKER)
+}
+
+
+function load_DB( old_FS, old_RS, fl, pak)
+{
+ old_FS=FS; FS="\n"
+ old_RS=RS; RS=""
+ while (getline < DB)
+ tb_DB[$1]=$2
+ close(DB)
+ FS=old_FS
+ RS=old_RS
+}
+
+
+function load_DEPS( j, FILE)
+{
+ for (j=0; j<NPKGDIR; j++) {
+ FILE=PKGDIR[j] DEPS
+ while ((getline < FILE) >0) {
+ if (!($1 in tb_DEPS)) {
+ tb_DEPS[$1] = $3
+ tb_DEP_TRT[$1] = 0
+ tb_DEP_DIR[$1] = PKGDIR[j]
+ }
+ }
+ close(FILE)
+ }
+}
+
+
+function load_LOCKER()
+{
+ while (getline < LOCKER)
+ tb_LOCK[$1] = 1
+ close(LOCKER)
+}
+
+
+function load_NUTYX_VERSION( old_FS)
+{
+ old_FS = FS
+ FS = "-"
+ getline < VERSFILE
+ if ($1=="2010") NUTYX_VERSION = "attapu"
+ else if ($1=="2011") NUTYX_VERSION = "pakxe"
+ close(VERSFILE)
+ FS = old_FS
+}
+
+
+function load_RDEPS( a, FILE, i, j, n)
+{
+ for (j=0; j<NPKGDIR; j++) {
+ FILE=PKGDIR[j] DEPS
+ while ((getline < FILE) >0) {
+ n=split($3, a, ",")
+ for (i=1; i<=n; i++) {
+ if (a[i] in tb_RDEPS) {
+ if (!index(tb_RDEPS[a[i]],$1))
+ tb_RDEPS[a[i]] = tb_RDEPS[a[i]] "," $1
+ } else {
+ tb_RDEPS[a[i]] = $1
+ }
+ }
+ }
+ close(FILE)
+ }
+}
+
+
+function load_REPO( FILE, j, old_FS)
+{
+ old_FS = FS
+ FS="[:#]"
+ for (j=0; j<NPKGDIR; j++) {
+ FILE = PKGDIR[j] REPO
+ while (getline < FILE) {
+ if (!($1 in tb_REPO)) {
+ sub(".pkg.tar.xz","",$2)
+ tb_REPO[$1] = $2
+ tb_MD5[$1] = $4
+ tb_PRE[$1] = $6
+ tb_POST[$1] = $7
+ tb_READ[$1] = $8
+ tb_PKGDIR[$1] = PKGDIR[j]
+ tb_WEBDIR[$1] = WEBDIR[j]
+ }
+ }
+ close(FILE)
+ }
+ FS = old_FS
+}
+
+
+function lock( i)
+{
+ verif_if_root()
+ for (i=1; i<=nPKG; i++) {
+ print tb_PKG[i] >>LOCKER
+ }
+ close(LOCKER)
+}
+
+
+function path( a, cmd, j)
+{
+ load_REPO()
+ if (!PKG)
+ print NPKG ": 'path' " _"demande un argument"
+ else
+ print tb_PKGDIR[PKG]
+}
+
+
+function printff()
+{
+ print _"Désolé, fonction" " " OPER " " _"indisponible" "..."
+ exit 1
+}
+
+
+function quickdep()
+{
+ load_DB()
+ load_DEPS()
+ load_REPO()
+ quickdep2(PKG)
+ printf ("%s\n",PKG)
+}
+
+
+function quickdep2(Pkg, a, i, n)
+{
+ n=split(tb_DEPS[Pkg],a,",")
+ for (i=1; i<=n; i++) {
+ if (tb_DEP_TRT[a[i]]==0) {
+ tb_DEP_TRT[a[i]]++
+ if (a[i] in tb_DEPS)
+ quickdep2(a[i])
+ printf("%s ", a[i])
+ }
+ }
+}
+
+
+function quickdiff(Dest, a, i, n, pak)
+{
+ load_DB()
+ load_LOCKER()
+ load_REPO()
+ for (pak in tb_DB)
+ a[pak]=pak
+ n=asort(a)
+ delete tb_PKG
+ nPKG=0
+ for (i=1;i<=n;i++) {
+ pak=a[i]
+ if ((pak in tb_REPO) && (!(pak in tb_LOCK)) && (tb_DB[pak]!=tb_REPO[pak])) {
+ if (Dest=="tb")
+ tb_PKG[++nPKG] = pak
+ else
+ printf("%s ", pak)
+ }
+ }
+ printf("\n")
+}
+
+
+function quickhelp() {
+ print "\033[1;33m" _"Usage" "\033[1;0m: " NPKG " command <package1> [package2 ... packageN] [options]"
+ print "\033[1;33m" _"Quelques commandes" "\033[1;0m:"
+ print " sync " _"synchronise avec le dépôt"
+ print " depinst " _"installe package(s) et ses(leurs) dépendances"
+ print " info " _"informations concernant le package"
+ print " sysup " _"met à jour les paquets obsolètes"
+ print " diff " _"affiche la liste des paquets obsolètes"
+ print "\033[1;33m" _"Quelques options:" "\033[1;0m"
+ print " -do " _"télécharge seulement"
+ print " --install-scripts " _"utilise les scripts install"
+ print " -r <root> " _"utilise" " <root> " _"pour" " pkgadd"
+ print "\033[1;33m" _"Examples" "\033[1;0m:"
+ print " " NPKG " install sqlite pysqlite"
+ print " " NPKG " help"
+ print _"Pour d'autres commandes et examples, voir la page de manuel"
+}
+
+
+function readme( fl, j, FILE)
+{
+ for (j=0; j<NPKGDIR; j++) {
+ FILE=PKGDIR[j] READ
+ while ((getline < FILE) >0) {
+ if (fl==1) {
+ if (index($0,"##### PKGREADME: "))
+ exit
+ print $0
+ }
+ if (index($0,"##### PKGREADME: "PKG))
+ fl=1
+ }
+ close(FILE)
+ }
+}
+
+
+function search( j, FILE, old_FS)
+{
+ old_FS = FS
+ FS="[:#]"
+ for (j=0; j<NPKGDIR; j++) {
+ FILE=PKGDIR[j] REPO
+ while ((getline < FILE) >0) {
+ if (index($1,ARGV[2]))
+ print $1
+ }
+ close(FILE)
+ }
+ FS = old_FS
+}
+
+
+function sync( cmd, i, j, pak, rc)
+{
+ verif_if_root()
+ pak[1]="PKGREPO"
+ pak[2]="PKGDEPS"
+ pak[3]="PKGREAD"
+ pak[4]="PKGINST"
+ pak[5]="PKGGRP"
+ for (j=0; j<NPKGDIR; j++) {
+ if (WEBDIR[j] > "") {
+ for (i=1; i<=4; i++) {
+ cmd="wget -q -O "PKGDIR[j] pak[i] " " WEBDIR[j] pak[i]
+ if ("--dry" in tb_OPT) {
+ print "\033[1;34m" cmd "\033[1;0m"
+ } else {
+ rc=system(cmd)
+ if (rc>0) {
+ print "ERREUR", rc
+ exit 1
+ }
+ }
+ }
+ }
+ }
+}
+
+
+function sysup( i)
+{
+ quickdiff("tb")
+ update()
+}
+
+
+function unlock( i, n, fl, tb_LCK)
+{
+ verif_if_root()
+ while (getline < LOCKER) {
+ fl="y"
+ for (i=1; i<=nPKG; i++)
+ if ($1==tb_PKG[i])
+ fl = "n"
+ if (fl=="y")
+ tb_LCK[++n] = $1
+ }
+ close(LOCKER)
+ printf("") > LOCKER
+ for (i=1; i<=n; i++)
+ print tb_LCK[i] >> LOCKER
+ close(LOCKER)
+}
+
+
+function update( i, pak)
+{
+ verif_if_root()
+ load_LOCKER()
+ load_REPO()
+ load_DB()
+ for (i=1; i<=nPKG; i++) {
+ pak = tb_PKG[i]
+ if (pak in tb_LOCK)
+ print pak ": " _"paquet verouillé !"
+ else
+ if (!(pak in tb_DB))
+ print pak ": " _"pas de mise à jour d'un paquet non installé !"
+ else
+ if (tb_DB[pak]==tb_REPO[pak])
+ print pak ": " _"paquet déjà à la dernière version"
+ else {
+ print _"paquet à mettre à jour:" " " pak
+ install2_update2(pak, "-u")
+ }
+ }
+}
+
+
+function verif_if_root( cmd)
+{
+ if (!("--dry" in tb_OPT)) {
+ cmd="whoami"
+ cmd | getline
+ if ($1 !="root") {
+ print "\033[1;31m" _"Veuillez exécuter ce programme en tant que root !" "\033[1;0m"
+ exit 1
+ }
+ close(cmd)
+ }
+}
+
+
+function verif_md5sum(dir, pk, cmd, md5, a, rep)
+{
+ cmd="md5sum " dir pk
+ cmd | getline
+ split($0,md5," ")
+ close(cmd)
+ split(pk,a,"#")
+ if (md5[1]!=tb_MD5[a[1]]) {
+ print "-------> " _"ERREUR" ": " _"md5sum erroné pour " a[1]
+ print _"requis" ": " tb_MD5[a[1]]
+ print _"trouvé" ": " md5[1]
+ print "Supprimer " dir pk " <y/n> ?"
+ getline rep
+ if (rep=="y") {
+ cmd = "rm " dir pk
+ while ((cmd | getline) > 0)
+ print
+ close(cmd)
+ }
+ exit 1
+ }
+}
+
+
+function version()
+{
+ print NPKG " " VERSION " (" DATE ")"
+}
+
+
+function wrongparm()
+{
+ version()
+ print _"Paramètre" " '" OPER "' " _"erroné"
+ exit 1
+}
+
+
+#------------------------------------------------
+#
+# M A I N
+#
+#------------------------------------------------
+
+BEGIN {
+ configs()
+
+ if (OPER=="") quickhelp()
+ else if (OPER=="current") current()
+ else if (OPER=="dependent") dependent()
+ else if (OPER=="depends") depends()
+ else if (OPER=="depinst") rc=depinst()
+ else if (OPER=="diff") diff()
+ else if (OPER=="dsearch") dsearch()
+ else if (OPER=="help") help()
+ else if (OPER=="info") info()
+ else if (OPER=="install") install()
+ else if (OPER=="isinst") isinst()
+ else if (OPER=="list") list()
+ else if (OPER=="listinst") listinst()
+ else if (OPER=="listlocked") listlocked()
+ else if (OPER=="lock") lock()
+ else if (OPER=="path") path()
+ else if (OPER=="printf") printff()
+ else if (OPER=="quickdep") quickdep()
+ else if (OPER=="quickdiff") quickdiff()
+ else if (OPER=="readme") readme()
+ else if (OPER=="search") search()
+ else if (OPER=="sync") sync()
+ else if (OPER=="sysup") sysup()
+ else if (OPER=="unlock") unlock()
+ else if (OPER=="update") update()
+ else if (OPER=="version") version()
+ else wrongparm()
+
+ exit
+}
diff --git a/base/pkg-get/pkg-get.po b/base/pkg-get/pkg-get.po
new file mode 100644
index 000000000..d0d83732c
--- /dev/null
+++ b/base/pkg-get/pkg-get.po
@@ -0,0 +1,204 @@
+msgid "Paquet"
+msgstr "Package"
+
+msgid "non install\303\251"
+msgstr "not installed"
+
+msgid "- d\303\251pendences ([i] = install\303\251, [u] = mise \303\240 jour possible)"
+msgstr "- dependencies ([i] = installed, [u] = upgradable)"
+
+msgid "Diff\303\251rences entre paquets install\303\251s et paquets disponibles dans le d\303\251p\303\264ts:\n"
+msgstr "Differences between installed packages and packages availables in the repository\n"
+
+msgid "Install\303\251"
+msgstr "Installed"
+
+msgid "Disponible dans les d\303\251p\303\264ts\n"
+msgstr "Available in the repositories\n"
+
+msgid "Usage:"
+msgstr "Usage:"
+
+msgid "affiche la version install\303\251e de <paquet>"
+msgstr "show installed version of <paquet>"
+
+msgid "affiche la liste des paquets d\303\251pendants de <paquet>"
+msgstr "list packages dependents of <paquet>"
+
+msgid "affiche la liste des d\303\251pendances de <paquet>"
+msgstr "list dependencies of <paquet>"
+
+msgid "installe <paquet(s)> et ses(leurs) d\303\251pendances"
+msgstr "install <paquet(s)> and their dependencies"
+
+msgid "affiche la liste des paquets obsol\303\250tes"
+msgstr "list outdated packages"
+
+msgid "cherche les paquets dont le nom/la description contient <chaine>"
+msgstr "search for packages which name or description contain <chaine>"
+
+msgid "affiche cette aide"
+msgstr "display help screen"
+
+msgid "affiche les informations concernant <paquet>"
+msgstr "show information about <paquet>"
+
+msgid "affiche si <paquet> est install\303\251"
+msgstr "display whether a package is installed"
+
+msgid "installe <paquet(s)>"
+msgstr "install <paquet(s)>"
+
+msgid "affiche la liste des paquets disponibles dans les d\303\251p\303\264ts"
+msgstr "list packages available in repositories"
+
+msgid "affiche la liste des paquets install\303\251s"
+msgstr "list installed packages"
+
+msgid "affiche la liste des paquets verrouill\303\251s"
+msgstr "list locked packages"
+
+msgid "verrouille <paquet(s)> (emp\303\252che la mise \303\240 jour)"
+msgstr "lock <paquet(s)"
+
+msgid "affiche le r\303\251pertoire d'installtion de <paquet>"
+msgstr "show local path of <paquet>"
+
+msgid "affiche la liste abr\303\251g\303\251e des d\303\251pendances de <paquet>"
+msgstr "show a brief list of dependencies for <paquet>"
+
+msgid "affiche la liste abr\303\251g\303\251e des paquets obsol\303\250tes"
+msgstr "show a brief list of outdated packages"
+
+msgid "affiche les informations README de <paquet> si existantes"
+msgstr "print README information (if available) for the package"
+
+msgid "cherche les paquets dont le nom contient <chaine>"
+msgstr "search for packages which name contains <chaine>"
+
+msgid "met \303\240 jour les paquets obsol\303\250tes, t\303\251l\303\251charge si n\303\251cessaire"
+msgstr "update outdated packages, download if necessary"
+
+msgid "d\303\251verrouille <paquet(s)> (permet la mise \303\240 jour)"
+msgstr "unlock <paquet(s)"
+
+msgid "met \303\240 jour <paquet(s)>, t\303\251l\303\251charge si n\303\251cessaire"
+msgstr "update <paquet(s)>, download if necessary"
+
+msgid "affiche la version de ce script"
+msgstr "show this script version"
+
+msgid "Exemple:"
+msgstr "Exemple:"
+
+msgid "Nom "
+msgstr "Name"
+
+msgid "Groupe"
+msgstr "Group "
+
+msgid "Taille"
+msgstr "Size "
+
+msgid "D\303\251pend de "
+msgstr "Depends on"
+
+msgid "non trouv\303\251"
+msgstr "not found"
+
+msgid "Le paquet"
+msgstr "The package"
+
+msgid "est install\303\251"
+msgstr "is installed"
+
+msgid "est déjà install\303\251"
+msgstr "is already installed"
+
+msgid "n'est pas install\303\251"
+msgstr "isn't installed"
+
+msgid "D\303\251sol\303\251, fonction"
+msgstr "Sorry, function"
+
+msgid "indisponible"
+msgstr "unavailable"
+
+msgid "Usage"
+msgstr "Usage"
+
+msgid "Quelques commandes"
+msgstr "Some comands"
+
+msgid "synchronise avec le d\303\251p\303\264t"
+msgstr "syncronize local packages with the ones from the remote repository"
+
+msgid "installe package(s) et ses(leurs) d\303\251pendances"
+msgstr "install given packages and relative dependencies"
+
+msgid "informations concernant le package"
+msgstr "show information about package"
+
+msgid "met \303\240 jour les paquets obsol\303\250tes"
+msgstr "update all outdated packages"
+
+msgid "Quelques options:"
+msgstr "Some options:"
+
+msgid "utilise les scripts install"
+msgstr "use install scripts"
+
+msgid "Examples"
+msgstr "Examples"
+
+msgid "Pour d'autres commandes et examples, voir la page de manuel"
+msgstr "For other commands and samples, see the pkg-get(8) man page"
+
+msgid "paquet \303\240 mettre \303\240 jour:"
+msgstr "updatable package"
+
+msgid "Veuillez ex\303\251cuter ce programme en tant que root !"
+msgstr "Please run this script as root !"
+
+msgid "Param\303\250tre"
+msgstr "Parameter"
+
+msgid "erron\303\251"
+msgstr "wrong"
+
+msgid "Fichiers"
+msgstr "Files "
+
+msgid "demande un argument"
+msgstr "requires an argument"
+
+msgid "t\303\251l\303\251charge seulement"
+msgstr "download only"
+
+msgid "utilise"
+msgstr "use"
+
+msgid "pour"
+msgstr "for"
+
+msgid "ERREUR"
+msgstr "ERROR"
+
+msgid "md5sum erron\303\251 pour "
+msgstr "md5sum mismatching for "
+
+msgid "requis"
+msgstr "required"
+
+msgid "trouv\303\251"
+msgstr "found"
+
+msgid "paquet verrouill\303\251"
+msgstr "locked package"
+
+msgid "pas de mise \303\240 jour d'un paquet non install\303\251"
+msgstr "no update for a not installed package"
+
+msgid "paquet d\303\251j\303\240 install\303\251"
+msgstr "already installed package"
+
diff --git a/base/pkg-get/syn b/base/pkg-get/syn
index d29fcd6f7..95284d529 100644
--- a/base/pkg-get/syn
+++ b/base/pkg-get/syn
@@ -25,23 +25,22 @@ 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
+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
+ mkdir -p $Depot/$i
+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"
@@ -49,10 +48,4 @@ if [ ! -L /depot ]; then
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
+done