No, ho deciso di gestirla perchè le anomalie cominciano a diventare troppe, quindi ammetterò doppioni di package name sparsi nel repository, ammetterò più slackbuild in una directory e in sue sottodirectory, e la chiave univoca diventerà ./path/pacchetto
E ancora non ho testato l'anomalia di questo tipo:
gconf.SlackBuild:
PRGNAM="GConf"
(anche perchè non sono ancora arrivato - o meglio c'ero arrivato ieri quando non avevo ancora gestito l'eccezione di cui sopra - al parsing dei file, né dello slackbuild né del .info, né dello SLACKBUILDS.TXT)
In teoria potrei/vorrei fregarmene (sinceramente non ho ancora verificato se si presenta o meno nell'elenco dei repository scaricati), ma il problema non è concettuale quanto piuttosto tecnico.
Infatti se lo slackbuild è per esepio gconf.SlackBuild ma PRGNAM=GConf e c'è makepkg $PRGNAM-$VERSION...., allora lo slack-desc deve essere contenere necessariamente GConf: xxxxxxx. Ma se io - come sto facendo per ora - indicizzo con il nome file dello slackbuild allora la mia grep sarebbe "grep ^gconf: slack-desc" e non funzionerebbe un tubo. Per lo stesso motivo, non posso dare per scontato che il gconf.info o lo SLACKBUILDS.TXT contenga GConf o gconf.
Allora DEVO gestirlo, ed ho due soluzioni per farlo:
1) metto un indice che ne tiene conto (ma non sempre è semplice determinare PRGNAM, specialmente là dove lo slackbuild non è troppo standard)
2) se trovo una discordanza rifiuto il pacchetto segnalando la cosa allo sviluppatore, il quale vedrà se è un errore o cosa voluta e deciderà se fregarsene o meno della segnalazione
In entrambi i casi devo decidere le priorità e stabilire il modo più sicuro e universale per calcolare l'output di makepkg.
Ma prima di tutto devo vedere se nei repository scaricati il problema si presenta o meno e la relativa frequenza.
Io ho messo lo SLACKBUILD.TXT solo per te

quindi se vedi delle cose che posso e/o devo correggere dimmelo pure.
Grazie

Le correzioni vedremo.
Le informazioni più ce ne sono meglio è.
Non ho avuto ancora modo di analizzarlo in fondo il tuo.
Per quello mio risultante globale devo fare delle scelte sul formato tentando di non romperne la compatibilità.
Infatti alle informazioni standard dovrò aggiungere le informazioni sul mirror (che nel PACKAGES.TXT mi sembra si concesso). Ma soprattutto quello che rischia di rompere lo standard e dare fastidio ad eventuali altri tool che lo utilizzano è che stavo pensando di aggiungere, come si fa nel PACKAGES.TXT, il contenuto dello slack-desc!
Il che significherebbe (per il tuo repo su http)
Codice: Seleziona tutto
SLACKBUILD NAME: apachetop
SLACKBUILD LOCATION: ./apachetop/src
SLACKBUILD MIRROR: http://www.slackers.it/repository
SLACKBUILD FILES: 01-conglomeration.patch 02-maxpathlen.patch README apachetop.SlackBuild apachetop.url slack-desc
SLACKBUILD DOWNLOAD: http://www.webta.org/apachetop/apachetop-0.12.6.tar.gz
SLACKBUILD MD5SUM: 604283ac4bbbddd98fc9b1f11381657e
SLACKBUILD SHORT DESCRIPTION: Apachetop (top-like display of Apache logs)
apachetop: Apachetop (top-like display of Apache logs)
apachetop:
apachetop: Apachetop is a curses-based top-like display for Apache information,
apachetop: including requests per second, bytes per second, most popular URLs,
apachetop: etc...
apachetop: Apachetop watches a logfile generated by Apache (in standard common
apachetop: or combined logformat, although it doesn't (yet) make use of any of
apachetop: the extra fields in combined) and generates human-parsable output in realtime.
apachetop:
apachetop: Home: http://www.webta.org/projects/apachetop/
apachetop:
come nel PACKAGES.TXT
oppure, per rischiare minore incompatibilità (anche se più brutto):
Codice: Seleziona tutto
SLACKBUILD NAME: apachetop
SLACKBUILD LOCATION: ./apachetop/src
SLACKBUILD MIRROR: http://www.slackers.it/repository
SLACKBUILD FILES: 01-conglomeration.patch 02-maxpathlen.patch README apachetop.SlackBuild apachetop.url slack-desc
SLACKBUILD DOWNLOAD: http://www.webta.org/apachetop/apachetop-0.12.6.tar.gz
SLACKBUILD MD5SUM: 604283ac4bbbddd98fc9b1f11381657e
SLACKBUILD SHORT DESCRIPTION: Apachetop (top-like display of Apache logs)
SLACKBUILD DESC01: Apachetop (top-like display of Apache logs)
SLACKBUILD DESC02:
SLACKBUILD DESC03: Apachetop is a curses-based top-like display for Apache information,
SLACKBUILD DESC04: including requests per second, bytes per second, most popular URLs,
SLACKBUILD DESC05: etc...
SLACKBUILD DESC06: Apachetop watches a logfile generated by Apache (in standard common
SLACKBUILD DESC07: or combined logformat, although it doesn't (yet) make use of any of
SLACKBUILD DESC08: the extra fields in combined) and generates human-parsable output in realtime.
SLACKBUILD DESC09:
SLACKBUILD DESC10: Home: http://www.webta.org/projects/apachetop/
SLACKBUILD DESC11:
In entrambi i casi potrei avere problemi con gli slackbuild parametrici (e su slacky ce nesono diversi), quelli per capirci che contengono cose tipo:
slack-desc:
apache: Apache VERSION
...
apache.SlackBuild:
...
cat $(CWD)/slack-desc|sed "s/VERSION/$VERSION/g"
Insomma, per riassumere, devo decidere di quante e quali cose fregarmene o meno (vista la eterogeneità della comunità slackware e l'assenza di uno standard)