summaryrefslogtreecommitdiffstats
path: root/base/pkg-get-awk
diff options
context:
space:
mode:
Diffstat (limited to 'base/pkg-get-awk')
-rw-r--r--base/pkg-get-awk/.footprint10
-rw-r--r--base/pkg-get-awk/.md5sum3
-rw-r--r--base/pkg-get-awk/Pkgfile22
-rw-r--r--base/pkg-get-awk/pkg-get-awk.conf11
-rwxr-xr-xbase/pkg-get-awk/pkg-get.awk777
-rw-r--r--base/pkg-get-awk/pkg-get.po179
-rwxr-xr-xbase/pkg-get-awk/post-install19
7 files changed, 1021 insertions, 0 deletions
diff --git a/base/pkg-get-awk/.footprint b/base/pkg-get-awk/.footprint
new file mode 100644
index 000000000..0cc820c4f
--- /dev/null
+++ b/base/pkg-get-awk/.footprint
@@ -0,0 +1,10 @@
+drwxr-xr-x root/root etc/
+-rw-rw-r-- root/root etc/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-get.awk
+drwxr-xr-x root/root usr/share/
+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-awk/.md5sum b/base/pkg-get-awk/.md5sum
new file mode 100644
index 000000000..674f11792
--- /dev/null
+++ b/base/pkg-get-awk/.md5sum
@@ -0,0 +1,3 @@
+f53878688aabc4ae534c5b5b82119d84 pkg-get-awk.conf
+cb88f633485de9da542bc0f1da60bcf0 pkg-get.awk
+d3457c0e21dc92ee3b86ed3a0d5e094e pkg-get.po
diff --git a/base/pkg-get-awk/Pkgfile b/base/pkg-get-awk/Pkgfile
new file mode 100644
index 000000000..f3ede11d8
--- /dev/null
+++ b/base/pkg-get-awk/Pkgfile
@@ -0,0 +1,22 @@
+# Description: Un gestionnaire de paquets binaire pour NuTyX léger et rapide
+# URL: http://www.nutyx.org
+# Maintainer: NuTyX core team
+# Packager: guy_
+# Depends on: gawk
+
+name=pkg-get-awk
+version=0.3.1
+release=1
+source=(pkg-get.awk pkg-get-awk.conf pkg-get.po)
+
+PKGMK_KEEP_LOCALES=yes
+
+build() {
+ msgfmt pkg-get.po -o pkg-get.mo
+ mkdir -p $PKG/usr/bin
+ install -m 755 pkg-get.awk $PKG/usr/bin
+ mkdir -p $PKG/etc
+ install -m 664 pkg-get-awk.conf $PKG/etc
+ 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-awk/pkg-get-awk.conf b/base/pkg-get-awk/pkg-get-awk.conf
new file mode 100644
index 000000000..f57f1ed5a
--- /dev/null
+++ b/base/pkg-get-awk/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/attapu/uname-m/release
+# runscripts: if "yes" pre-post install scripts are
+# automatically executed. Handle with care.
+runscripts yes
diff --git a/base/pkg-get-awk/pkg-get.awk b/base/pkg-get-awk/pkg-get.awk
new file mode 100755
index 000000000..801b736a8
--- /dev/null
+++ b/base/pkg-get-awk/pkg-get.awk
@@ -0,0 +1,777 @@
+#! /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.1"
+ DATE = "20110108"
+
+ # defauts
+ CONF = "/etc/pkg-get.conf"
+ DB = "/var/lib/pkg/db"
+ LOCKER = "/var/lib/pkg/pkg-get.locker"
+ PRE = "n"
+ POST = "n"
+ PKGDIR[0] = "/srv/NuTyX/release/"
+ WEBDIR[0] = "http://nutyx.meticul.eu/attapu/i686/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]
+ }
+
+# print "* PKG:"
+# print " OPER = "OPER
+# for (i=1; i<=nPKG; i++)
+# print " PKG[" i "] = " tb_PKG[i]
+# print "* OPT:"
+# for (Opt in tb_OPT)
+# print " " Opt " " tb_OPT[Opt]
+
+ # 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
+
+# for (i=0; i<NPKGDIR; i++) {
+# print " PKGDIR[" i "] = " PKGDIR[i]
+# print " WEBDIR[" i "] = " WEBDIR[i]
+# }
+
+ # 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_DB()
+ load_DEPS()
+ load_REPO()
+ for (i=1; i<=nPKG; i++) {
+ 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(a[i], "inst")
+ }
+ }
+}
+
+
+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, cmd, j, pakw, rep, WEBREPO)
+{
+ split(pak,a,"#")
+ WEBREPO = tb_WEBDIR[a[1]]
+ cmd="if [ -f " tb_PKGDIR[a[1]] pak" ]; then echo n; else echo y; fi"
+ cmd | getline rep
+ if (rep=="y") {
+ pakw = pak
+ sub("#", "%23", pakw)
+ cmd="wget -O "tb_PKGDIR[a[1]] pak " " WEBREPO pakw
+ if ("--dry" in tb_OPT) {
+ print "\033[1;34m" cmd "\033[1;0m"
+ } else {
+ while ((cmd | getline) >0)
+ print
+ }
+ }
+}
+
+
+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()
+ for (i=1; i<=nPKG; i++) {
+ install2(tb_PKG[i], " ")
+ }
+}
+
+
+function install2(Pkg, Oper, cmd, i, pak)
+{
+ pak=Pkg"#"tb_REPO[Pkg] ".pkg.tar.xz"
+ download(pak)
+ if ("-do" in tb_OPT)
+ return
+
+ 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)
+ }
+ 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)
+{
+# if (PROCINFO["version"]) { # gawk
+ old_FS = FS; FS = "\t"
+ old_RS = RS; RS = ""
+ while (getline < DB)
+ print $1
+ close(DB)
+ FS = old_FS
+ RS = old_RS
+# } else { # awka
+# while (getline < DB) {
+# if (fl==0)
+# print $1
+# fl++
+# if (NF==0)
+# fl=0
+# }
+# close(DB)
+# }
+}
+
+
+function listlocked()
+{
+ while (getline < LOCKER)
+ print $1
+ close(LOCKER)
+}
+
+
+function load_DB( old_FS, old_RS, fl, pak)
+{
+# if (PROCINFO["version"]) { # gawk
+ old_FS=FS; FS="\n"
+ old_RS=RS; RS=""
+ while (getline < DB)
+ tb_DB[$1]=$2
+ close(DB)
+ FS=old_FS
+ RS=old_RS
+# } else { # awka
+# while (getline < DB) {
+# if (fl==1)
+# tb_DB[pak]=$1
+# if (fl==0)
+# pak=$1
+# fl++
+# if (NF==0)
+# fl=0
+# }
+# close(DB)
+# }
+}
+
+
+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_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++) {
+ tb_RDEPS[a[i]] = (a[i] in tb_RDEPS) ? tb_RDEPS[a[i]] "," $1 : $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_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)
+{
+ 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 -O "PKGDIR[j] pak[i] " " WEBDIR[j] pak[i]
+ if ("--dry" in tb_OPT) {
+ print "\033[1;34m" cmd "\033[1;0m"
+ } else {
+ while ((cmd | getline) >0)
+ print
+ close(cmd)
+ }
+ }
+ }
+ }
+}
+
+
+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)
+{
+ verif_if_root()
+ load_LOCKER()
+ load_REPO()
+ for (i=1; i<=nPKG; i++) {
+ if (!(tb_PKG[i] in tb_LOCK)) {
+ print _"paquet à mettre à jour:" " " tb_PKG[i]
+ install2(tb_PKG[i], "-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 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-awk/pkg-get.po b/base/pkg-get-awk/pkg-get.po
new file mode 100644
index 000000000..76cf12173
--- /dev/null
+++ b/base/pkg-get-awk/pkg-get.po
@@ -0,0 +1,179 @@
+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 "n'est pas install\303\251"
+msgstr "isn't installed"
+
+msgid "D\303\251sol\303\251, fonction"
+msgstr "Sorry, function"
+
+msgid "indisponible"
+msgstr "unavalable"
+
+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"
diff --git a/base/pkg-get-awk/post-install b/base/pkg-get-awk/post-install
new file mode 100755
index 000000000..63e4e41c8
--- /dev/null
+++ b/base/pkg-get-awk/post-install
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+pkf=/usr/bin/pkg-get
+if [ -L $pkf ]; then
+ rm $pkf
+else
+ file $pkf | grep perl >/dev/null
+ if [ $? -eq 0 ]; then
+ mv $pkf $pkf.pl
+ fi
+fi
+if [ -f $pkf ]; then
+ echo "pkg-get-awk_post_install: ERREUR, le fichier $pkf existe déjà !!!"
+ exit 1
+fi
+ln -s /usr/bin/pkg-get.awk $pkf
+if [ ! -f /etc/pkg-get.conf ]; then
+ cp -p /etc/pkg-get-awk.conf /etc/pkg-get.conf
+fi