summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--INSTALL6
-rw-r--r--build-aux/Makefile.each.tail/20-libretools.mk2
-rw-r--r--build-aux/Makefile.once.head/00-libretools.mk2
-rw-r--r--po/HACKING1
-rw-r--r--po/es/gitget.po2
-rw-r--r--po/es/librelib.po49
-rw-r--r--po/es/libretools.po208
-rw-r--r--po/es/xbs.po227
-rw-r--r--src/Makefile3
-rwxr-xr-xsrc/abslibre-tools/createworkdir4
-rwxr-xr-xsrc/abslibre-tools/librerelease6
-rwxr-xr-xsrc/abslibre-tools/librestage6
-rwxr-xr-xsrc/chroot-tools/librechroot9
-rwxr-xr-xsrc/chroot-tools/libremakepkg6
-rw-r--r--src/lib/conf.sh.3.ronn4
-rw-r--r--src/lib/conf.sh.in7
-rwxr-xr-xsrc/librefetch/librefetch7
-rw-r--r--src/librefetch/librefetch.8.ronn3
-rwxr-xr-xsrc/librefetch/librefetchdir/libmakepkg/source.sh.gen4
-rwxr-xr-xsrc/librefetch/librefetchdir/libmakepkg/tidy/purge.sh36
-rwxr-xr-xsrc/librefetch/librefetchdir/makepkg.gen17
-rw-r--r--src/libretools.conf5
-rw-r--r--src/xbs-abs/.gitignore3
l---------src/xbs-abs/GNUmakefile1
-rw-r--r--src/xbs-abs/Makefile33
-rwxr-xr-xsrc/xbs-abs/helper-abs203
-rw-r--r--src/xbs-abs/xbs-abs.conf16
l---------src/xbs-abslibre/GNUmakefile1
-rw-r--r--src/xbs-abslibre/Makefile10
-rwxr-xr-xsrc/xbs-abslibre/helper-abslibre203
l---------src/xbs/GNUmakefile1
-rw-r--r--src/xbs/Makefile7
-rwxr-xr-xsrc/xbs/xbs182
-rw-r--r--src/xbs/xbs.conf4
-rw-r--r--test/librechroot-test.sh13
-rw-r--r--test/librefetch-test.sh6
-rw-r--r--test/librefetch.d/PKGBUILD-mksource1
-rw-r--r--test/libremakepkg-test.sh36
-rw-r--r--test/libremakepkg.d/PKGBUILD-signed17
-rw-r--r--test/libremakepkg.d/hello.sh2
-rwxr-xr-xtest/testenv138
41 files changed, 328 insertions, 1163 deletions
diff --git a/INSTALL b/INSTALL
index e91f1ea..a74a376 100644
--- a/INSTALL
+++ b/INSTALL
@@ -64,13 +64,8 @@ librelib subpackage:
gitget subpackage:
- librelib (provided)
- git
-xbs subpackage:
- - gitget (provided)
- - librelib (provided)
- - subversion (only for the 'abs' module)
main libretools subpackage:
- librelib (provided)
- - xbs (provided)
- pacman 5.0
- arch-install-scripts
- GNU Make (only needed for `librefetch`)
@@ -114,4 +109,3 @@ The subpackages you can run these on are:
- libretools -- The main libretools package
- librelib -- Generic libraries included
- gitget -- A git downloader
- - xbs -- Tools for dealing with differences between ABS/ABSLibre/PBS
diff --git a/build-aux/Makefile.each.tail/20-libretools.mk b/build-aux/Makefile.each.tail/20-libretools.mk
index 9b1a6e3..3e54614 100644
--- a/build-aux/Makefile.each.tail/20-libretools.mk
+++ b/build-aux/Makefile.each.tail/20-libretools.mk
@@ -62,7 +62,9 @@ $(srcdir)/%.pot: $(srcdir)/% $(topsrcdir)/src/lib/librexgettext
cd $(<D) && $(abspath $(topsrcdir)/src/lib/librexgettext) $(LIBREXGETTEXT_FLAGS) $(<F) > $(@F)
$(srcdir)/dir.pot: $(addprefix $(outdir)/,$(addsuffix .pot,$(libretools.pots)))
cat $^ | $(libretools.pofmt) > '$@'
+ifneq ($(strip $(libretools.pots)),)
$(call at.path,$(topsrcdir)/po/$(libretools.pkg).pot): $(srcdir)/dir.pot
+endif
# Install rules ######################################################
$(DESTDIR)$(pkgconfdir)/% : $(outdir)/% ; install -T -Dm644 '$<' '$@'
diff --git a/build-aux/Makefile.once.head/00-libretools.mk b/build-aux/Makefile.once.head/00-libretools.mk
index eb73476..b4d7848 100644
--- a/build-aux/Makefile.once.head/00-libretools.mk
+++ b/build-aux/Makefile.once.head/00-libretools.mk
@@ -80,7 +80,7 @@ mod.quote.doc := $(value mod.quote.doc)
# Configure how Autothing modules work ###############################
gitfiles.file = .srcfiles.mk
-files.groups = all libretools librelib gitget xbs
+files.groups = all libretools librelib gitget
# Boilerplate ########################################################
.PHONY: FORCE
diff --git a/po/HACKING b/po/HACKING
index 5dd207c..074e8bb 100644
--- a/po/HACKING
+++ b/po/HACKING
@@ -27,7 +27,6 @@ them in.
gitget.pot
librelib.pot
libretools.pot
- xbs.pot
...
# 2. Create `.po` files from them
diff --git a/po/es/gitget.po b/po/es/gitget.po
index 258598b..804153e 100644
--- a/po/es/gitget.po
+++ b/po/es/gitget.po
@@ -119,7 +119,7 @@ msgid ""
"In addition to setting or checking `remotes.origin.url`, also set or "
"check `remotes.origin.pushUrl`"
msgstr ""
-"Además de configurar o verificar `remotes.origin.url`, también establecer o"
+"Además de configurar o verificar `remotes.origin.url`, también establecer o "
"comprobar `remotes.origin.pushUrl`"
#: src/gitget/gitget:180
diff --git a/po/es/librelib.po b/po/es/librelib.po
index 971fad0..12d25be 100644
--- a/po/es/librelib.po
+++ b/po/es/librelib.po
@@ -70,44 +70,44 @@ msgstr "Descargando la lista negra de paquetes de software privativo"
msgid "Using old local cache of blacklist"
msgstr "Usando copia local de la lista negra"
-#: src/lib/blacklist.sh:71
+#: src/lib/blacklist.sh:74
msgid "Download failed, exiting"
msgstr "Descarga fallida, saliendo"
#. embedded usage text
-#: src/lib/blacklist.sh:78
+#: src/lib/blacklist.sh:80
msgid "Usage: blacklist-cat | blacklist-lookup $pkgname"
msgstr "Uso: blacklist-cat | blacklist-lookup $pkgname"
#. embedded usage text
-#: src/lib/blacklist.sh:79
+#: src/lib/blacklist.sh:81
msgid "Filters to obtain the line for $pkgname from the blacklist on stdin."
msgstr "Filtra para obtener la línea de $pkgname desde la lista negra en stdin."
#. embedded usage text
-#: src/lib/blacklist.sh:80
+#: src/lib/blacklist.sh:82
msgid "Exits successfully whether a line is found or not."
msgstr "Sale con éxito si una línea se encuentra o no."
#. embedded usage text
-#: src/lib/blacklist.sh:87
+#: src/lib/blacklist.sh:89
msgid "Usage: blacklist-cat | blacklist-get-pkg"
msgstr "Uso: blacklist-cat | blacklist-get-pkg"
#. embedded usage text
-#: src/lib/blacklist.sh:88
+#: src/lib/blacklist.sh:90
msgid "Prints only the package name field of the blacklist line(s) on stdin."
msgstr ""
"Imprime sólo el campo del nombre del paquete de la(s) línea(s) de la lista"
" negra en stdin."
#. embedded usage text
-#: src/lib/blacklist.sh:93
+#: src/lib/blacklist.sh:95
msgid "Usage: blacklist-cat | blacklist-get-rep"
msgstr "Uso: blacklist-cat | blacklist-get-rep"
#. embedded usage text
-#: src/lib/blacklist.sh:94
+#: src/lib/blacklist.sh:96
msgid ""
"Prints only the replacement package field of the blacklist line(s) "
"on stdin."
@@ -117,12 +117,12 @@ msgstr ""
"en stdin."
#. embedded usage text
-#: src/lib/blacklist.sh:116
+#: src/lib/blacklist.sh:118
msgid "Usage: blacklist-cat | blacklist-get-url"
msgstr "Uso: blacklist-cat | blacklist-get-url"
#. embedded usage text
-#: src/lib/blacklist.sh:117
+#: src/lib/blacklist.sh:119
msgid ""
"Prints URLs formed from the reference-id fields of the blacklist "
"line(s) on stdin."
@@ -131,17 +131,17 @@ msgstr ""
"línea(s) de la lista negra en stdin."
#. embedded usage text
-#: src/lib/blacklist.sh:118
+#: src/lib/blacklist.sh:120
msgid "Prints an empty line in the absence of reference."
msgstr "Imprime una línea vacía en ausencia de referencia."
#. embedded usage text
-#: src/lib/blacklist.sh:131
+#: src/lib/blacklist.sh:133
msgid "Usage: blacklist-cat | blacklist-get-reason"
msgstr "Uso: blacklist-cat | blacklist-get-reason"
#. embedded usage text
-#: src/lib/blacklist.sh:132
+#: src/lib/blacklist.sh:134
msgid "Prints only the reason field of the blacklist line(s) on stdin."
msgstr ""
"Imprime sólo el campo de razón de la(s) línea(s) de la lista negra en stdin."
@@ -158,11 +158,11 @@ msgstr "Abortando..."
msgid "Multiple packages found:"
msgstr "Múltiples paquetes encontrados:"
-#: src/lib/conf.sh:143
+#: src/lib/conf.sh:151
msgid "Configure '%s' in one of:"
msgstr "Configura '%s' en uno de:"
-#: src/lib/conf.sh:146
+#: src/lib/conf.sh:154
msgid "Configure '%s' in '%s'"
msgstr "Configura '%s' en '%s'"
@@ -178,19 +178,19 @@ msgstr "Herramienta para trabajar con la lista negra de software no libre"
msgid "Commands:"
msgstr "Comandos:"
-#: src/lib/librelib:50
+#: src/lib/librelib:39
msgid "Usage: . $(%s LIBRARY)"
msgstr "Uso: . $(%s LIBRERÍA)"
-#: src/lib/librelib:51
+#: src/lib/librelib:40
msgid "Usage: %s -h"
msgstr "Uso: %s -h"
-#: src/lib/librelib:52
+#: src/lib/librelib:41
msgid "Finds a Bash library file"
msgstr "Encuentra una archivo librería de Bash"
-#: src/lib/librelib:54
+#: src/lib/librelib:43
msgid ""
"While some libraries can be sourced just by their name because they "
"are installed in PATH (like libremessages), some are not installed "
@@ -203,7 +203,7 @@ msgstr ""
" ruta "
"es el camino del lado oscuro."
-#: src/lib/librelib:59
+#: src/lib/librelib:48
msgid ""
"By default, it looks for the files in `%s`, but this can be changed "
"with the environmental variable LIBRETOOLS_LIBDIR."
@@ -212,19 +212,19 @@ msgstr ""
" cambiarse "
"con la variable ambiental LIBRETOOLS_LIBDIR."
-#: src/lib/librelib:62
+#: src/lib/librelib:51
msgid "Example usage:"
msgstr "Ejemplo de uso:"
-#: src/lib/librelib:65 src/lib/librexgettext:66
+#: src/lib/librelib:54 src/lib/librexgettext:66
msgid "Options:"
msgstr "Opciones:"
-#: src/lib/librelib:66
+#: src/lib/librelib:55
msgid "Show this message"
msgstr "Mostrar este mensaje"
-#: src/lib/librelib:93
+#: src/lib/librelib:82
msgid "%s: could not find library: %s"
msgstr "%s: no se pudo encontrar la librería: %s"
@@ -305,4 +305,3 @@ msgstr "no se ha dado ningún archivo"
#: src/lib/messages.sh:60
msgid "panic: malformed call to internal function"
msgstr "pánico: llamada malformada a la función interna"
-
diff --git a/po/es/libretools.po b/po/es/libretools.po
index 10312ba..ac7530a 100644
--- a/po/es/libretools.po
+++ b/po/es/libretools.po
@@ -161,7 +161,7 @@ msgstr ""
"repositorio, y no se imprimirá la línea `[REPO]`."
#: src/abslibre-tools/libredbdiff:157 src/abslibre-tools/librerelease:130
-#: src/chroot-tools/librechroot:258 src/chroot-tools/libremakepkg:162
+#: src/chroot-tools/librechroot:259 src/chroot-tools/libremakepkg:162
#: src/devtools/find-libdeps:36 src/librefetch/librefetch:80
#: src/pkgbuild-check-nonfree:51 src/pkgbuild-summarize-nonfree:39
#: src/toru/toru-path:46
@@ -173,7 +173,7 @@ msgid "Don't update anything, just compare already downloaded files."
msgstr "No actualice nada, simplemente compare archivos ya descargados."
#: src/abslibre-tools/libredbdiff:159 src/abslibre-tools/librerelease:136
-#: src/chroot-tools/librechroot:287 src/chroot-tools/libremakepkg:174
+#: src/chroot-tools/librechroot:288 src/chroot-tools/libremakepkg:174
#: src/devtools/find-libdeps:39 src/librefetch/librefetch:92
#: src/pkgbuild-check-nonfree:58 src/pkgbuild-summarize-nonfree:41
#: src/toru/toru-path:51
@@ -581,7 +581,7 @@ msgstr "Uso: %s COMANDO [ARGUMENTOS]"
msgid "Tool for using distcc within a networkless chroot"
msgstr "Herramienta para usar distcc dentro de un chroot sin red"
-#: src/chroot-tools/distcc-tool:59 src/chroot-tools/librechroot:269
+#: src/chroot-tools/distcc-tool:59 src/chroot-tools/librechroot:270
msgid "Commands:"
msgstr "Comandos:"
@@ -634,11 +634,11 @@ msgstr "No se pudo analizar HOSTSPEC: %s"
msgid "Auto-generated file already exists, remove it: %s"
msgstr "El archivo generado automáticamente ya existe, quítelo: %s"
-#: src/chroot-tools/librechroot:86
+#: src/chroot-tools/librechroot:87
msgid "Cannot cross-compile for %s on %s"
msgstr "No se puede compilar para %s en %s"
-#: src/chroot-tools/librechroot:88
+#: src/chroot-tools/librechroot:89
msgid ""
"Such a binfmt_misc entry is provided by the %s package. If you have "
"it installed, but still see this message, you may need to restart %s."
@@ -646,15 +646,15 @@ msgstr ""
"Esta entrada binfmt_misc es proporcionada por el paquete %s. Si lo tiene "
"instalado, pero todavía ve este mensaje, puede que tenga que reiniciar %s."
-#: src/chroot-tools/librechroot:199
+#: src/chroot-tools/librechroot:200
msgid "Usage: %s [OPTIONS] COMMAND [ARGS...]"
msgstr "Uso: %s [OPCIONES] COMANDO [ARGS...]"
-#: src/chroot-tools/librechroot:200
+#: src/chroot-tools/librechroot:201
msgid "Interacts with an archroot (arch chroot)."
msgstr "Interactúa con un archroot (arch chroot)."
-#: src/chroot-tools/librechroot:202
+#: src/chroot-tools/librechroot:203
msgid ""
"This is configured with `chroot.conf`, either in `/etc/libretools.d/"
"`, or `$XDG_CONFIG_HOME/libretools/`. The variables you may set are "
@@ -664,16 +664,16 @@ msgstr ""
"`, o `$XDG_CONFIG_HOME/libretools/`. Las variables que puede establecer son "
"$CHROOTDIR, $CHROOT, y $CHROOTEXTRAPKG."
-#: src/chroot-tools/librechroot:207
+#: src/chroot-tools/librechroot:208
msgid "There may be multiple chroots; they are stored in $CHROOTDIR."
msgstr "Hay múltiples chroots; ellos están guardados en $CHROOTDIR."
-#: src/chroot-tools/librechroot:209
+#: src/chroot-tools/librechroot:210
msgid "Each chroot is named; the default is configured with $CHROOT."
msgstr ""
"Cada chroot es nombrado; el predeterminado está configurado con $CHROOT."
-#: src/chroot-tools/librechroot:211
+#: src/chroot-tools/librechroot:212
msgid ""
"Each named chroot has a master clean copy (named `root`), and any "
"number of other named copies; the copy used by default is the "
@@ -684,7 +684,7 @@ msgstr ""
"número de otras copias con nombre; la copia utilizada por defecto es el "
"nombre de usuario actual (o $SUDO_USER, o `copy` si es root). "
-#: src/chroot-tools/librechroot:215
+#: src/chroot-tools/librechroot:216
msgid ""
"The full path to the chroot copy is \"$CHROOTDIR/$CHROOT/$COPY\", "
"unless the copy name is manually specified as an absolute path, in "
@@ -695,19 +695,19 @@ msgstr ""
" absoluta, en "
"cuyo caso, esa ruta se utiliza."
-#: src/chroot-tools/librechroot:219
+#: src/chroot-tools/librechroot:220
msgid "The current settings for the above variables are:"
msgstr "Los ajustes actuales para las variables anteriores son:"
-#: src/chroot-tools/librechroot:220 src/chroot-tools/librechroot:221
+#: src/chroot-tools/librechroot:221 src/chroot-tools/librechroot:222
msgid "ERROR: NO SETTING"
msgstr "ERROR: SIN AJUSTES"
-#: src/chroot-tools/librechroot:223 src/chroot-tools/librechroot:224
+#: src/chroot-tools/librechroot:224 src/chroot-tools/librechroot:225
msgid "ERROR"
msgstr "ERROR "
-#: src/chroot-tools/librechroot:226
+#: src/chroot-tools/librechroot:227
msgid ""
"If the chroot or copy does not exist, it will be created "
"automatically. A chroot by default contains the packages in the "
@@ -726,27 +726,27 @@ msgstr ""
"paquetes, no las versiones de su sistema. Otras herramientas (tales como "
"como libremakepkg) pueden alterar la configuración."
-#: src/chroot-tools/librechroot:234
+#: src/chroot-tools/librechroot:235
msgid ""
"This command will make the following configuration changes in the "
"chroot:"
msgstr ""
-"Este comando realizará los siguientes cambios de configuración en el"
+"Este comando realizará los siguientes cambios de configuración en el "
"chroot:"
-#: src/chroot-tools/librechroot:236
+#: src/chroot-tools/librechroot:237
msgid "overwrite `/etc/libretools.d/chroot.conf`"
msgstr "sobreescribir `/etc/libretools.d/chroot.conf`"
-#: src/chroot-tools/librechroot:237
+#: src/chroot-tools/librechroot:238
msgid "overwrite `/etc/pacman.d/mirrorlist`"
msgstr "sobreescribir `/etc/pacman.d/mirrorlist`"
-#: src/chroot-tools/librechroot:238
+#: src/chroot-tools/librechroot:239
msgid "set `CacheDir` in `/etc/pacman.conf`"
msgstr "establezca `CacheDir` en `/etc/pacman.conf`"
-#: src/chroot-tools/librechroot:239
+#: src/chroot-tools/librechroot:240
msgid ""
"If a new `pacman.conf` is inserted with the `-C` flag, the change is "
"made after the file is copied in; the `-C` flag doesn't stop the "
@@ -756,7 +756,7 @@ msgstr ""
"hecho después de que el archivo se copia; el parámetro `-C` no detiene el "
"el cambio de ser eficaz."
-#: src/chroot-tools/librechroot:243
+#: src/chroot-tools/librechroot:244
msgid ""
"The processor architecture of the chroot is determined by the by "
"`CARCH` variable in the `/etc/makepkg.conf` file inside of the "
@@ -765,11 +765,11 @@ msgstr ""
"La arquitectura del procesador del chroot es determinada por la variable "
"`CATCH` en el archivo `/etc/makepkg.conf` dentro del chroot."
-#: src/chroot-tools/librechroot:247
+#: src/chroot-tools/librechroot:248
msgid "The `-A CARCH` flag is *almost* simply an alias for"
msgstr "El indicador `-A CATCH` es *casi* simplemente un alias para"
-#: src/chroot-tools/librechroot:251
+#: src/chroot-tools/librechroot:252
msgid ""
"However, before doing that, it actually makes a temporary copy of "
"`pacman.conf`, and sets the `Architecture` line to match the `CARCH` "
@@ -780,7 +780,7 @@ msgstr ""
" línea `CARCH` "
"en `makepkg.conf`. "
-#: src/chroot-tools/librechroot:255
+#: src/chroot-tools/librechroot:256
msgid ""
"Creating a copy, deleting a copy, or syncing a copy can be fairly "
"slow; but are very fast if $CHROOTDIR is on a btrfs partition."
@@ -789,44 +789,44 @@ msgstr ""
" bastante "
"lento; pero son muy rápidos si $CHROOTDIR está en una partición btrfs."
-#: src/chroot-tools/librechroot:259 src/chroot-tools/libremakepkg:164
+#: src/chroot-tools/librechroot:260 src/chroot-tools/libremakepkg:164
msgid "CHROOT"
msgstr "CHROOT"
-#: src/chroot-tools/librechroot:259 src/chroot-tools/libremakepkg:164
+#: src/chroot-tools/librechroot:260 src/chroot-tools/libremakepkg:164
msgid "Name of the chroot to use"
msgstr "Nombre del chroot a usar"
-#: src/chroot-tools/librechroot:260 src/chroot-tools/libremakepkg:165
+#: src/chroot-tools/librechroot:261 src/chroot-tools/libremakepkg:165
msgid "COPY"
msgstr "COPIA"
-#: src/chroot-tools/librechroot:260
+#: src/chroot-tools/librechroot:261
msgid "Name of, or absolute path to, the copy to use"
msgstr "Nombre, o ruta absoluta, de la copia a utilizar"
-#: src/chroot-tools/librechroot:261
+#: src/chroot-tools/librechroot:262
msgid "Disable networking in the chroot"
msgstr "Deshabilitar la conexión de redes en el chroot"
-#: src/chroot-tools/librechroot:262
+#: src/chroot-tools/librechroot:263
msgid "Copy this file to `$copydir/etc/pacman.conf`"
msgstr "Copiar este archivo a `$copydir/etc/pacman.conf`"
-#: src/chroot-tools/librechroot:262 src/chroot-tools/librechroot:263
+#: src/chroot-tools/librechroot:263 src/chroot-tools/librechroot:264
#: src/librefetch/librefetch:84
msgid "FILE"
msgstr "ARCHIVO"
-#: src/chroot-tools/librechroot:263
+#: src/chroot-tools/librechroot:264
msgid "Copy this file to `$copydir/etc/makepkg.conf`"
msgstr "Copia este archivo a `$copydir/etc/makepkg.conf`"
-#: src/chroot-tools/librechroot:264
+#: src/chroot-tools/librechroot:265
msgid "CARCH"
msgstr "CARCH"
-#: src/chroot-tools/librechroot:264
+#: src/chroot-tools/librechroot:265
msgid ""
"Set the architecture of the copy; simply an alias for the `-C` and `-"
"M` flags, see above."
@@ -835,24 +835,24 @@ msgstr ""
" opciones `-C` y` -"
"M`, vea arriba."
-#: src/chroot-tools/librechroot:266 src/chroot-tools/libremakepkg:166
+#: src/chroot-tools/librechroot:267 src/chroot-tools/libremakepkg:166
msgid "Bind mount a file or directory, read/write"
msgstr "Enlazar un archivo o directorio, lectura/escritura"
-#: src/chroot-tools/librechroot:266 src/chroot-tools/librechroot:267
+#: src/chroot-tools/librechroot:267 src/chroot-tools/librechroot:268
#: src/chroot-tools/libremakepkg:166 src/chroot-tools/libremakepkg:167
msgid "PATH[:PATH]"
msgstr "RUTA[:RUTA]"
-#: src/chroot-tools/librechroot:267 src/chroot-tools/libremakepkg:167
+#: src/chroot-tools/librechroot:268 src/chroot-tools/libremakepkg:167
msgid "Bind mount a file or directory, read-only"
msgstr "Enlazar-montar un archivo o directorio, de solo lectura"
-#: src/chroot-tools/librechroot:270
+#: src/chroot-tools/librechroot:271
msgid " Create/copy/delete:"
msgstr " Crear/copiar/eliminar"
-#: src/chroot-tools/librechroot:271
+#: src/chroot-tools/librechroot:272
msgid ""
"Do not do anything, but still creates the chroot copy if it does not "
"exist"
@@ -860,39 +860,39 @@ msgstr ""
"No hacer nada, pero todavía crea la copia del chroot si no "
"existe"
-#: src/chroot-tools/librechroot:273
+#: src/chroot-tools/librechroot:274
msgid "Sync the copy with the clean (`root`) copy"
msgstr "Sincroniza la copia con la copia limpia (`root`)"
-#: src/chroot-tools/librechroot:274
+#: src/chroot-tools/librechroot:275
msgid "Delete the chroot copy"
msgstr "Elimina la copia del chroot"
-#: src/chroot-tools/librechroot:275
+#: src/chroot-tools/librechroot:276
msgid " Dealing with packages:"
msgstr " Lidiando con paquetes:"
-#: src/chroot-tools/librechroot:276
+#: src/chroot-tools/librechroot:277
msgid "FILES..."
msgstr "ARCHIVOS..."
-#: src/chroot-tools/librechroot:276
+#: src/chroot-tools/librechroot:277
msgid "Like `pacman -U FILES...`"
msgstr "Como `pacman -U FILES...`"
-#: src/chroot-tools/librechroot:277
+#: src/chroot-tools/librechroot:278
msgid "Like `pacman -S NAMES...`"
msgstr "Como `pacman -S NOMBRES...`"
-#: src/chroot-tools/librechroot:277
+#: src/chroot-tools/librechroot:278
msgid "NAMES..."
msgstr "NOMBRES..."
-#: src/chroot-tools/librechroot:278
+#: src/chroot-tools/librechroot:279
msgid "Like `pacman -Syu`"
msgstr "Como `pacman -Syu`"
-#: src/chroot-tools/librechroot:279
+#: src/chroot-tools/librechroot:280
msgid ""
"Remove all packages from the chroot copy that are not in base-devel, "
"$CHROOTEXTRAPKG, or named as a dependency in the file `/startdir/"
@@ -902,92 +902,92 @@ msgstr ""
"$CHROOTEXTRAPKG, o nombrado como una dependencia en el archivo`/startdir/"
"PKGBUILD` en la copia chroot"
-#: src/chroot-tools/librechroot:283
+#: src/chroot-tools/librechroot:284
msgid " Other:"
msgstr " Otro:"
-#: src/chroot-tools/librechroot:284
+#: src/chroot-tools/librechroot:285
msgid "CMD..."
msgstr "CMD..."
-#: src/chroot-tools/librechroot:284
+#: src/chroot-tools/librechroot:285
msgid "Run CMD in the chroot copy"
msgstr "Ejecuta CMD en la copia de chroot"
-#: src/chroot-tools/librechroot:285
+#: src/chroot-tools/librechroot:286
msgid "Enter an interactive shell in the chroot copy"
msgstr "Entrar a un shell interactivo en la copia de chroot"
-#: src/chroot-tools/librechroot:286
+#: src/chroot-tools/librechroot:287
msgid "Clean /repo in the chroot copy"
msgstr "Limpiar /repo en la copia del chroot"
-#: src/chroot-tools/librechroot:312
+#: src/chroot-tools/librechroot:313
msgid "Unsupported architecture: %s"
msgstr "Arquitectura no admitida: %s"
-#: src/chroot-tools/librechroot:330
+#: src/chroot-tools/librechroot:331
msgid "Must specify a command"
msgstr "Debe especificar un comando"
-#: src/chroot-tools/librechroot:336
+#: src/chroot-tools/librechroot:337
msgid "Unrecognized command: %s"
msgstr "Comando no reconocido: %s"
-#: src/chroot-tools/librechroot:344
+#: src/chroot-tools/librechroot:345
msgid "Command `%s` does not take any arguments: %s"
msgstr "El comando `%s` no toma ningún argumento: %s"
-#: src/chroot-tools/librechroot:351
+#: src/chroot-tools/librechroot:352
msgid "Command `%s` requires at least one file"
msgstr "El comando `%s` requiere al menos un archivo"
-#: src/chroot-tools/librechroot:363
+#: src/chroot-tools/librechroot:364
msgid "%s: file(s) not found: %s"
msgstr "%s: archivo(s) no encontrado(s): %s"
-#: src/chroot-tools/librechroot:370
+#: src/chroot-tools/librechroot:371
msgid "Command `%s` requires at least one package name"
msgstr "El comando `%s` requiere al menos un nombre de un paquete"
-#: src/chroot-tools/librechroot:377
+#: src/chroot-tools/librechroot:378
msgid "Command `%s` requires at least one argument"
msgstr "El comando `%s` requiere al menos un argumento"
-#: src/chroot-tools/librechroot:400
+#: src/chroot-tools/librechroot:401
msgid "This program must be run as root."
msgstr "Este programa debe ser ejecutado como root."
-#: src/chroot-tools/librechroot:408
+#: src/chroot-tools/librechroot:409
msgid "Input is not a TTY"
msgstr "La entrada no es un TTY"
-#: src/chroot-tools/librechroot:411
+#: src/chroot-tools/librechroot:412
msgid "Due to a bug in systemd-nspawn, redirecting stdin is not supported."
msgstr ""
"Debido a un error en systemd-nspawn, el redireccionamiento de stdin no está"
" soportado."
-#: src/chroot-tools/librechroot:419 src/chroot-tools/libremakepkg:268
+#: src/chroot-tools/librechroot:420 src/chroot-tools/libremakepkg:268
msgid "Waiting for existing lock on chroot copy to be released: [%s]"
msgstr ""
"Esperando que el bloqueo existente en la copia de chroot sea liberado: [%s]"
-#: src/chroot-tools/librechroot:423
+#: src/chroot-tools/librechroot:424
msgid "Chroot copy is mounted with nosuid or noexec options: [%s]"
msgstr "La copia del chroot se monta con opciones nosuid o noexec: [%s]"
-#: src/chroot-tools/librechroot:428
+#: src/chroot-tools/librechroot:429
msgid "Creating 'root' copy for chroot [%s]"
msgstr "Creando copia 'root' para el chroot [%s]"
-#: src/chroot-tools/librechroot:434
+#: src/chroot-tools/librechroot:435
msgid "Syncing copy [%s] with root copy"
msgstr "Sincronizando copia [%s] con la copia root"
#: src/chroot-tools/libremakepkg:66
msgid "Copying log and package files out of the chroot..."
-msgstr "Copiando de archivos de registro y de paquete fuera del chroot..."
+msgstr "Copiando archivos de registro y del paquete fuera del chroot..."
#: src/chroot-tools/libremakepkg:85
msgid "Failure(s) in %s: %s"
@@ -1022,7 +1022,7 @@ msgid ""
"set `MAKEFLAGS` and `PACKAGER` in `/etc/makepkg.conf` to reflect the "
"value outside of the chroot."
msgstr ""
-"establece `MAKEFLAGS` y `PACKAGER` en `/etc/makepkg.conf` para reflejar"
+"establece `MAKEFLAGS` y `PACKAGER` en `/etc/makepkg.conf` para reflejar "
"el valor fuera del chroot."
#: src/chroot-tools/libremakepkg:146
@@ -1058,11 +1058,11 @@ msgid ""
"variables for {SRC,SRCPKG,PKG,LOG}DEST, MAKEFLAGS and PACKAGER "
"override the settings in makepkg.conf(5)."
msgstr ""
-"Este comando está configurado con `chroot.conf` (ya sea en`/etc/"
+"Este comando está configurado con `chroot.conf` (ya sea en `/etc/"
"libretools.d/` o `$XDG_CONFIG_HOME/libretools/`), y con makepkg."
"conf (5). Sin embargo, de forma similar a makepkg(8), permite que las"
-" variables"
-"de entorno para {SRC,SRCPKG,PKG,LOG}DEST, MAKEFLAGS y PACKAGER"
+" variables "
+"de entorno para {SRC,SRCPKG,PKG,LOG}DEST, MAKEFLAGS y PACKAGER "
"sobreescriban la configuración en makepkg.conf(5)."
#: src/chroot-tools/libremakepkg:159
@@ -1124,7 +1124,7 @@ msgstr "Iniciando el chroot..."
#: src/chroot-tools/libremakepkg:280
msgid "Starting pre-build activities..."
-msgstr "Comenzando actividades previas a la compilación..."
+msgstr "Iniciando actividades previas a la compilación..."
#: src/chroot-tools/libremakepkg:282
msgid "Downloading sources..."
@@ -1136,7 +1136,7 @@ msgstr "Comenzando a compilar el paquete..."
#: src/chroot-tools/libremakepkg:291
msgid "Starting post-build activities..."
-msgstr "Comenzando actividades posteriores a la compilación..."
+msgstr "Iniciando actividades posteriores a la compilación..."
#: src/chroot-tools/makechrootpkg.sh:85
msgid "Cannot sync copy with itself: %s"
@@ -1166,23 +1166,23 @@ msgstr "No se puede crear el subvolumen %s"
msgid "Removing chroot copy [%s]"
msgstr "Eliminando copia del chroot [%s]"
-#: src/chroot-tools/makechrootpkg.sh:306
+#: src/chroot-tools/makechrootpkg.sh:307
msgid "Could not download sources."
msgstr "No se pudo descargar las fuentes."
-#: src/chroot-tools/makechrootpkg.sh:389
+#: src/chroot-tools/makechrootpkg.sh:390
msgid "This must be run in a directory containing a PKGBUILD."
msgstr "Esto debe ser ejecutado en un directorio con un PKGBUILD."
-#: src/chroot-tools/makechrootpkg.sh:390
+#: src/chroot-tools/makechrootpkg.sh:391
msgid "Invalid makepkg user."
msgstr "Usuario makepkg inválido."
-#: src/chroot-tools/makechrootpkg.sh:397
+#: src/chroot-tools/makechrootpkg.sh:398
msgid "No chroot dir defined, or invalid path '%s'"
msgstr "Directorio del chroot no definido, o ruta inválida '%s'"
-#: src/chroot-tools/makechrootpkg.sh:398
+#: src/chroot-tools/makechrootpkg.sh:399
msgid ""
"Missing chroot dir root directory. Try using: mkarchroot %s/root "
"base-devel"
@@ -1191,19 +1191,19 @@ msgstr ""
"%s/root "
"base-devel"
-#: src/chroot-tools/makechrootpkg.sh:437
+#: src/chroot-tools/makechrootpkg.sh:438
msgid "Locking chroot copy [%s]"
msgstr "Bloqueando copia del chroot [%s]"
-#: src/chroot-tools/makechrootpkg.sh:455
+#: src/chroot-tools/makechrootpkg.sh:456
msgid "Running makepkg as root is not allowed."
msgstr "Ejecutar makepkg como root no está permitido."
-#: src/chroot-tools/makechrootpkg.sh:483
+#: src/chroot-tools/makechrootpkg.sh:484
msgid "Build failed"
msgstr "Compilación fallida"
-#: src/chroot-tools/makechrootpkg.sh:485
+#: src/chroot-tools/makechrootpkg.sh:486
msgid "Build failed, check %s/build"
msgstr "Compilación fallida, revise %s/build"
@@ -1296,7 +1296,7 @@ msgstr ""
"Busca un paquete compilado localmente correspondiente al PKGBUILD, "
"y descarga la última versión de ese paquete desde los repositorios de "
"pacman. Luego compara la lista de archivos .so proveídos por cada "
-"versión del paquete. Lo hace para cada parte de un paquete dividido "
+"versión del paquete. Lo hace para cada parte de un paquete separado "
"(split package)."
#: src/devtools/checkpkg:34
@@ -1359,8 +1359,8 @@ msgid ""
"architecture of the library (either `32` or `64`, based on the ELF "
"Class)."
msgstr ""
-"Donde <soversion> es la versión de la librería compartida, o <soname>"
-"repetido si no hay una versión adjunta; y <soarch> es la"
+"Donde <soversion> es la versión de la librería compartida, o <soname> "
+"repetido si no hay una versión adjunta; y <soarch> es la "
"arquitectura de la librería (ya sea `32` o`64`, basada en la Clase "
"ELF)"
@@ -1390,7 +1390,7 @@ msgid ""
"Scans $PATH and library directories for ELF files with references to "
"missing shared libraries."
msgstr ""
-"Escanea $PATH y directorios de librería para archivos ELF con referencias a"
+"Escanea $PATH y directorios de librería para archivos ELF con referencias a "
"librerías compartidas faltantes"
#: src/devtools/lddd:33
@@ -1406,7 +1406,7 @@ msgid "Usage: %s [-h] PKGNAME [PKGVER]"
msgstr "Uso: %s [-h] PKGNAME [PKGVER]"
#: src/is_built:27
-msgid "Detect iv a given package (version) is already in the repos"
+msgid "Detect if a given package (version) is already in the repos"
msgstr "Detectar si un paquete dado (versión) ya está en los repositorios"
#: src/is_built:29
@@ -1471,7 +1471,7 @@ msgid ""
"Unless '-C' is specified, if SOURCE_URL does not begin with a "
"configured mirror, create mode is inhibited."
msgstr ""
-"A menos que se especifique '-C', si URL_FUENTE no comienza con un"
+"A menos que se especifique '-C', si URL_FUENTE no comienza con un "
"espejo (mirror) configurado, el modo de creación está inhibido."
#: src/librefetch/librefetch:58
@@ -1480,7 +1480,7 @@ msgid ""
"beginning of a URL, 'libre://' expands to the first configured "
"mirror."
msgstr ""
-"En el modo de descarga, simplemente intenta descargar URL_FUENTE. En el"
+"En el modo de descarga, simplemente intenta descargar URL_FUENTE. En el "
"principio de una URL, 'libre://' se expande al primer espejo configurado."
#: src/librefetch/librefetch:62
@@ -1493,14 +1493,14 @@ msgid ""
"SOURCE_URL is ignored, except that it is used to set the default "
"value of OUTPUT_FILE, and that it may be used when recursing."
msgstr ""
-"En el modo de creación, mira un script de compilación y lo usa para"
-"crea el tarball fuente, o usa GPG para crear una firma (si"
+"En el modo de creación, mira un script de compilación y lo usa para "
+"crea el tarball fuente, o usa GPG para crear una firma (si "
"ARCHIVO_RESULTANTE termina con `.sig` o`.sig.part`). Si está usando "
-"GPG para crea una firma, pero el archivo que está intentando firmar no"
-"existe aún, se recuenta en sí mismo para crear primero ese archivo."
+"GPG para crea una firma, pero el archivo que está intentando firmar no "
+"existe aún, se recuenta en sí mismo para crear primero ese archivo. "
"SOURCE_URL se ignora, excepto que se usa para establecer el valor "
"predeterminado de ARCHIVO_RESULTANTE, y que puede usarse cuando "
-" se repiten."
+"se repiten."
#: src/librefetch/librefetch:71
msgid "The default build script is 'PKGBUILD', or 'SRCBUILD' if it exists."
@@ -1698,7 +1698,7 @@ msgstr "Inspeccionando paquete pkgname=%q (%s)"
#: src/pkgbuild-check-nonfree:250
msgid "Inspecting split package pkgbase=%q (%s)"
-msgstr "Inspeccionando paquete dividido pkgbase=%q (%s)"
+msgstr "Inspeccionando el paquete separado pkgbase=%q (%s)"
#: src/pkgbuild-check-nonfree:272 src/pkgbuild-check-nonfree:301
msgid "The license array is empty"
@@ -1724,7 +1724,7 @@ msgid ""
msgstr ""
"Limita los problemas que encuentra, solo fallando con poblemas de nivel "
"de error, e ignorando las advertencias. A menos que se especifique `-q`,"
-" también"
+" también "
"imprime un resumen de los problemas que encontraron."
#: src/pkgbuild-summarize-nonfree:59
@@ -1816,8 +1816,8 @@ msgid ""
"scanned for in `$ABSROOT` in each of `$REPOS`."
msgstr ""
"El archivo `%s` es una base de datos del Gabinete de Tokio asignando entre"
-" las rutas a"
-"archivos PKGBUILD y `pkgname`s y `pkgbase`s. Los archivos PKGBUILD son"
+" las rutas a "
+"archivos PKGBUILD y `pkgname`s y `pkgbase`s. Los archivos PKGBUILD son "
"escaneados en `$ ABSROOT` en cada uno de los `$REPOS`."
#: src/toru/toru-path:35
@@ -1825,7 +1825,7 @@ msgid ""
"Additionally, it creates a timestamp file at `%s`, so that skip "
"PKGBUILD files that have not changed since the previous invocation."
msgstr ""
-"Además, crea un archivo de marca de tiempo en `%s`, por lo que omite"
+"Además, crea un archivo de marca de tiempo en `%s`, por lo que omite "
"archivos PKGBUILD que no han cambiado desde la invocación anterior."
#: src/toru/toru-path:40
@@ -1876,5 +1876,3 @@ msgstr "%q contiene errores, omitiendo"
#: src/toru/toru-path:128
msgid "%s -> %s"
msgstr "%s -> %s"
-
-
diff --git a/po/es/xbs.po b/po/es/xbs.po
deleted file mode 100644
index 8596ad0..0000000
--- a/po/es/xbs.po
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright (C) 2017 David P <megver83@parabola.nu>
-# This file is distributed under the same license as the libretools package.
-#
-# Megver83 <megver83@parabola.nu>, 2018.
-msgid ""
-msgstr ""
-"Project-Id-Version: libretools 20170705\n"
-"Report-Msgid-Bugs-To: Parabola Hackers <dev@lists.parabola.nu>\n"
-"PO-Revision-Date: 2018-03-29 14:38-0400\n"
-"Last-Translator: Megver83 <megver83@parabola.nu>\n"
-"Language-Team: Spanish <megver83@parabola.nu>\n"
-"Language: es\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 2.0\n"
-
-#: src/xbs-abs/archrelease:12
-msgid "Option requires an argument -- '%s'"
-msgstr "Las opciones requieren un argumento -- '%s'"
-
-#: src/xbs-abs/archrelease:13
-msgid "Invalid option -- '%s'"
-msgstr "Opción inválida -- '%s'"
-
-#: src/xbs-abs/archrelease:27
-msgid "archrelease: Invalid tag: '%s' (use -f to force release)"
-msgstr "archrelease: Tag inválido: '%s' (use -f para forzar la publicación)"
-
-#: src/xbs-abs/archrelease:33
-msgid "archrelease: PKGBUILD not found"
-msgstr "archrelease: PKGBUILD no encontrado"
-
-#: src/xbs-abs/archrelease:42
-msgid "archrelease: Should not be in repos dir (try from trunk/)"
-msgstr ""
-"archrelease: No debiera estar en el directorio de los repos (intente desde"
-" trunk/)"
-
-#: src/xbs-abs/archrelease:47
-msgid "archrelease: You have not committed your changes yet!"
-msgstr "archrelease: ¡No has hecho un commit de tus cambios aún!"
-
-#: src/xbs-abs/archrelease:54
-msgid "archrelease: subdirectories are not supported in package directories!"
-msgstr ""
-"archrelease: los subdirectorios no están soportados en los direcorios de los"
-" paquetes"
-
-#: src/xbs-abs/archrelease:65
-msgid "Copying %s to %s"
-msgstr "Copiando %s a %s"
-
-#: src/xbs-abs/archrelease:85
-msgid "Releasing package"
-msgstr "Publicando paquete"
-
-#: src/xbs-abs/commitpkg:8 src/xbs-abs/commitpkg:17
-msgid "Removing %s"
-msgstr "Eliminando %s"
-
-#: src/xbs-abslibre/helper-abslibre:27
-msgid "Waiting for a lock on the ABSLibre release directory for %s"
-msgstr ""
-"Esperando un bloqueo en el directorio de publicación de ABSLibre para %s"
-
-#: src/xbs-abslibre/helper-abslibre:36
-msgid "Not a git repository: %s"
-msgstr "No es un repositorio git: %s"
-
-#: src/xbs/xbs:34
-msgid "Usage: %s [-b BUILDSYSTEM|-h] COMMAND [ARGUMENTS]"
-msgstr "Uso: %s [-b BUILDSYSTEM|-h] COMANDO [ARGUMENTOS]"
-
-#: src/xbs/xbs:35
-msgid "Tool for working with arbitrary ABS-like build systems"
-msgstr ""
-"Herramienta para trabajar con sistemas arbitrarios de construcción tipo ABS"
-
-#: src/xbs/xbs:37
-msgid "This is a pluggable tool. The BUILDSYSTEM it uses is configured in:"
-msgstr ""
-"Esta es una herramienta conectable. El BUILDSYSTEM que utiliza está"
-" configurado en:"
-
-#: src/xbs/xbs:39 src/xbs/xbs:40
-msgid "%s"
-msgstr "%s"
-
-#: src/xbs/xbs:41
-msgid "with the `-b` flag"
-msgstr "con la opción `-b`"
-
-#: src/xbs/xbs:42
-msgid "Later items take precedence over earlier ones."
-msgstr "Los ítemes posteriores tienen precedencia sobre los anteriores."
-
-#: src/xbs/xbs:44
-msgid ""
-"It looks for a helper programs named helper-${BUILDSYSTEM}, in the "
-"directory `%q` by default, but this directory can be changed with "
-"the environmental variable XBS_LIBDIR."
-msgstr ""
-"Busca programas auxiliares llamados helper-${BUILDSYSTEM}, en el "
-"directorio `%q` de forma predeterminada, pero este directorio puede cambiarse"
-" con "
-"la variable ambiental XBS_LIBDIR."
-
-#: src/xbs/xbs:48
-msgid "Options:"
-msgstr "Opciones:"
-
-#: src/xbs/xbs:49
-msgid "BUILDSYSTEM"
-msgstr "BUILDSYSTEM"
-
-#: src/xbs/xbs:49
-msgid "Use BUILDSYSTEM instead of the one configured in xbs.conf"
-msgstr "Use BUILDSYSTEM en vez del que está configurado en xbs.conf"
-
-#: src/xbs/xbs:51 src/xbs/xbs:76
-msgid "Show this message"
-msgstr "Muestra este mensaje"
-
-#: src/xbs/xbs:53
-msgid ""
-"Whether a command is intended for use on a developer's box or on the "
-"server is indicated by (dev), (srv), or (any) before the command"
-msgstr ""
-"Si un comando está destinado para su uso en la caja de un desarrollador o en"
-" el "
-"servidor está indicado por (dev), (srv), o (any) antes de la orden"
-
-#: src/xbs/xbs:57
-msgid "Commands:"
-msgstr "Órdenes:"
-
-#: src/xbs/xbs:58
-msgid "(dev) status"
-msgstr "(dev) estado"
-
-#: src/xbs/xbs:59
-msgid "Are there uncommitted changes in `.`?"
-msgstr "¿Hay cambios sin commit en `.`?"
-
-#: src/xbs/xbs:60
-msgid "(dev) download"
-msgstr "(dev) descarga"
-
-#: src/xbs/xbs:61
-msgid "Download or update the tree"
-msgstr "Descarga o actualiza el árbol"
-
-#: src/xbs/xbs:62
-msgid "(dev) release-client REPO ARCH"
-msgstr "(dev) release-client REPO ARCQUITECTURA"
-
-#: src/xbs/xbs:63
-msgid "Release `.` (for developer boxes)"
-msgstr "Publica `.` (para las cajas de los desarrolladores)"
-
-#: src/xbs/xbs:64
-msgid "(srv) release-server REPO ARCH"
-msgstr "(srv) release-client REPO ARCQUITECTURA"
-
-#: src/xbs/xbs:65
-msgid "Release `.` (for server boxes)"
-msgstr "Publica `.` (para las cajas del servidor)"
-
-#: src/xbs/xbs:66
-msgid "(srv) unrelease PKGBASE REPO ARCH"
-msgstr "(srv) unrelease PKGBASE REPO ARCQUITECTURA"
-
-#: src/xbs/xbs:67
-msgid "Unrelease a pkgbase"
-msgstr "Libera un pkgbase"
-
-#: src/xbs/xbs:68
-msgid "(srv) move FROMREPO TOREPO PKGBASE"
-msgstr "(srv) mover DESDEREPO AREPO PKGBASE"
-
-#: src/xbs/xbs:69
-msgid "Move a pkgbase from one repo to another"
-msgstr "Mueve un pkgbase desde un repo a otro"
-
-#: src/xbs/xbs:70
-msgid "(srv) releasepath PKGBASE REPO ARCH"
-msgstr "(srv) rutadepublicación PKGBASE REPO ARQUITECTURA"
-
-#: src/xbs/xbs:71
-msgid ""
-"Print the path to the staged version of pkgbase, or exit with non-"
-"zero if not released"
-msgstr ""
-"Imprima la ruta de la versión por publicarse de pkgbase, o salga con no-"
-"cero si no se publicó"
-
-#: src/xbs/xbs:73
-msgid "(any) name"
-msgstr "(any) nombre"
-
-#: src/xbs/xbs:74
-msgid "Print a human-friendly version of the BUILDSYSTEM name"
-msgstr ""
-"Imprima una versión entendible para los humanos del nombre del BUILDSYSTEM"
-
-#: src/xbs/xbs:75
-msgid "(any) help"
-msgstr "(any) ayuda"
-
-#: src/xbs/xbs:81 src/xbs/xbs:105
-msgid "PKGBUILD not found"
-msgstr "PKGBUILD no encontrado"
-
-#: src/xbs/xbs:97
-msgid "You have not committed your changes yet!"
-msgstr "¡No has hecho un commit de tus cambios aún!"
-
-#: src/xbs/xbs:152
-msgid "No helper for build system found: %s"
-msgstr "Ningún auxiliar para el sistema de compilación encontrado: %s"
-
-#: src/xbs/xbs:161
-msgid "Run as a normal user"
-msgstr "Ejecutar como usuario normal"
-
diff --git a/src/Makefile b/src/Makefile
index e148732..397a9bb 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -10,8 +10,5 @@ nested.subdirs += gitget
nested.subdirs += lib
nested.subdirs += librefetch
nested.subdirs += toru
-nested.subdirs += xbs
-nested.subdirs += xbs-abs
-nested.subdirs += xbs-abslibre
include $(topsrcdir)/build-aux/Makefile.tail.mk
diff --git a/src/abslibre-tools/createworkdir b/src/abslibre-tools/createworkdir
index a3fae88..0cf4a7a 100755
--- a/src/abslibre-tools/createworkdir
+++ b/src/abslibre-tools/createworkdir
@@ -29,7 +29,7 @@ set -euE
. "$(librelib conf)"
main() {
- load_conf libretools.conf WORKDIR ABSLIBRERECV ABSLIBRESEND || exit # these are asked for by `xbs download`
+ load_conf libretools.conf WORKDIR ABSLIBRERECV ABSLIBRESEND
trap 'error "Aborting..."' EXIT
@@ -39,7 +39,7 @@ main() {
msg "Creating staging directory in WORKDIR..."
mkdir -p "$WORKDIR/staging"
- cmd=(xbs -b abslibre download)
+ cmd=(gitget -f -p "$ABSLIBRESEND" checkout "$ABSLIBRERECV" "$WORKDIR/abslibre")
if ! "${cmd[@]}"; then
error "Could not clone ABSLibre"
plain "Try running this command:"
diff --git a/src/abslibre-tools/librerelease b/src/abslibre-tools/librerelease
index d7dbbe4..705efc5 100755
--- a/src/abslibre-tools/librerelease
+++ b/src/abslibre-tools/librerelease
@@ -84,9 +84,7 @@ create_signature() {
sign_packages() {
IFS=$'\n'
- local files=($(find "${WORKDIR}/staging/" \
- \( -type d -name "${ABSLIBREDEST##*/}" \) -prune \
- -o \( -type f -not -iname '*.sig' \) -print))
+ local files=($(find "${WORKDIR}/staging/" -type f -not -iname '*.sig' -print))
local file
for file in "${files[@]}"; do
if [[ -f "${file}.sig" ]]; then
@@ -167,7 +165,7 @@ main() {
declare -i ret=0
load_conf makepkg.conf GPGKEY || ret=$?
- load_conf libretools.conf WORKDIR REPODEST ABSLIBREDEST || ret=$? # and HOOK{PRE,POST}RELEASE, which are optional
+ load_conf libretools.conf WORKDIR REPODEST || ret=$? # and HOOK{PRE,POST}RELEASE, which are optional
[[ $ret = 0 ]] || exit $ret
local re_url='^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$'
diff --git a/src/abslibre-tools/librestage b/src/abslibre-tools/librestage
index 17d8d5f..bec536c 100755
--- a/src/abslibre-tools/librestage
+++ b/src/abslibre-tools/librestage
@@ -4,7 +4,7 @@
# Copyright (C) 2010-2012 Nicolás Reynolds <fauno@parabola.nu>
# Copyright (C) 2011 Joshua Ismael Haase Hernández (xihh) <hahj87@gmail.com>
-# Copyright (C) 2013-2014, 2017 Luke Shumaker <lukeshu@parabola.nu>
+# Copyright (C) 2013-2014, 2017-2018 Luke Shumaker <lukeshu@parabola.nu>
#
# License: GNU GPLv3+
#
@@ -79,8 +79,8 @@ main() {
# Look for (libre)makepkg output
local CARCH _pkgname pkgnames pkgfile
for CARCH in "${arch[@]}"; do
- # This supports both pacman <= 5.0.1 pkgname-debug
- # packages and pacman-git pkgbase-debug packages.
+ # This supports both pacman < 5.1 pkgname-debug
+ # packages and pacman >= 5.1 pkgbase-debug packages.
pkgnames=("${pkgname[@]}" "${pkgname[@]/%/-debug}")
in_array "$pkgbase" "${pkgname[@]}" || pkgnames+=("${pkgbase}-debug")
for _pkgname in "${pkgnames[@]}"; do
diff --git a/src/chroot-tools/librechroot b/src/chroot-tools/librechroot
index 868741f..d763830 100755
--- a/src/chroot-tools/librechroot
+++ b/src/chroot-tools/librechroot
@@ -95,12 +95,6 @@ hack_arch_nspawn_flags() {
# Let qemu/binfmt_misc do its thing
arch_nspawn_flags+=(-f "$interpreter" -s)
-
- # The -any packages are built separately for ARM from
- # x86, so if we use the same CacheDir as the x86 host,
- # then there will be PGP errors.
- mkdir -p "/var/cache/pacman/pkg-$CARCH"
- arch_nspawn_flags+=(-c "/var/cache/pacman/pkg-$CARCH")
fi
}
@@ -455,6 +449,9 @@ main() {
# - set 'CacheDir' in \`/etc/pacman.conf'"
# - apply -C or -M flags
arch-nspawn "$copydir" true
+ if [[ -n ${tmppacmanconf:-} ]]; then
+ rm -f -- "$tmppacmanconf"
+ fi
trap EXIT # clear the trap to remove the tmp pacman.conf from -A
arch_nspawn_flags=() # XXX dirty hack, don't apply -C or -M again
fi
diff --git a/src/chroot-tools/libremakepkg b/src/chroot-tools/libremakepkg
index d8d935c..e1b9362 100755
--- a/src/chroot-tools/libremakepkg
+++ b/src/chroot-tools/libremakepkg
@@ -102,8 +102,8 @@ add_to_local_repo() {
done
}
-hook_post_build+=('cleanup')
-cleanup() {
+hook_post_build+=('chroot_cleanup')
+chroot_cleanup() {
local copydir=$1
rm -f -- "$copydir"/chroot{prepare,build}
}
@@ -184,7 +184,7 @@ err_chflag() {
main() {
# Initial variable values ##############################################
local copy=$([[ $LIBREUSER == root ]] && echo copy || echo "$LIBREUSER")
- local makepkg_args=(-s --noconfirm -L)
+ local makepkg_args=(--syncdeps --noconfirm --log --holdver --skipinteg)
local repack=false
local chroot=''
diff --git a/src/lib/conf.sh.3.ronn b/src/lib/conf.sh.3.ronn
index 92267fb..ad146da 100644
--- a/src/lib/conf.sh.3.ronn
+++ b/src/lib/conf.sh.3.ronn
@@ -105,8 +105,8 @@ These two routines deal with loading `PKGBUILD`(5) files.
The differences in behavior for anything that takes a slug comes down
to the differences in the output for `list_files` and `list_envvars`.
-The "known" slugs are "abs", "makepkg", "libretools", and anything
-beginning with "xbs". If anything else is given, then:
+The "known" slugs are "abs", "makepkg", and "libretools". If anything
+else is given, then:
* `list_files` will give back "/etc/libretools.d/<SLUG>.conf" and
"$<XDG_CONFIG_HOME>/libretools/<SLUG>.conf"
diff --git a/src/lib/conf.sh.in b/src/lib/conf.sh.in
index 36efe21..0cd0a03 100644
--- a/src/lib/conf.sh.in
+++ b/src/lib/conf.sh.in
@@ -66,10 +66,6 @@ list_files() {
fi
fi
;;
- xbs*)
- echo "${sysconfdir}/xbs/$slug.conf"
- echo "$XDG_CONFIG_HOME/xbs/$slug.conf"
- ;;
libretools)
echo "${sysconfdir}/$slug.conf"
echo "$XDG_CONFIG_HOME/libretools/$slug.conf"
@@ -98,9 +94,6 @@ list_envvars() {
libretools)
printf '%s\n' DIFFPROG
;;
- xbs)
- printf '%s\n' BUILDSYSTEM
- ;;
*) :;;
esac
}
diff --git a/src/librefetch/librefetch b/src/librefetch/librefetch
index 04dcfd2..93537cd 100755
--- a/src/librefetch/librefetch
+++ b/src/librefetch/librefetch
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# librefetch
#
-# Copyright (C) 2013-2017 Luke Shumaker <lukeshu@parabola.nu>
+# Copyright (C) 2013-2018 Luke Shumaker <lukeshu@parabola.nu>
#
# For just the create_signature() function:
# Copyright (C) 2006-2013 Pacman Development Team <pacman-dev@archlinux.org>
@@ -345,8 +345,11 @@ depends=() ; unset "depends_${CARCH}"
checkdepends=() ; unset "checkdepends_${CARCH}"
makedepends=("${mkdepends[@]}") ; unset "makedepends_${CARCH}"
+backup=()
+
####
-options=(!strip docs libtool staticlibs emptydirs !zipman purge !upx !optipng !debug)
+# See packaging_options in the makepkg source
+options=(!strip docs libtool staticlibs emptydirs !zipman !debug purge)
PURGE_TARGETS=(.bzr/ .cvs/ .git/ .hg/ .svn/ .makepkg/)
####
diff --git a/src/librefetch/librefetch.8.ronn b/src/librefetch/librefetch.8.ronn
index 808c0fc..27dfac0 100644
--- a/src/librefetch/librefetch.8.ronn
+++ b/src/librefetch/librefetch.8.ronn
@@ -142,6 +142,7 @@ Following is a table of the translations.
checkdepends = <empty>
makedepends = mkdepends
*_$CARCH = <unset>
+ backup = <empty>
Functions
prepare() { :; }
build() { mksource; }
@@ -167,7 +168,7 @@ Other changes:
* <options=()> is set have `makepkg` avoid making changes to
<$pkgdir>. The exact change is:
- options=(!strip docs libtool staticlibs emptydirs !zipman purge !upx)
+ options=(!strip docs libtool staticlibs emptydirs !zipman !debug purge)
* <PURGE_TARGETS=()> has VCS directories added to it:
diff --git a/src/librefetch/librefetchdir/libmakepkg/source.sh.gen b/src/librefetch/librefetchdir/libmakepkg/source.sh.gen
index 2cdc8d9..02dbb6f 100755
--- a/src/librefetch/librefetchdir/libmakepkg/source.sh.gen
+++ b/src/librefetch/librefetchdir/libmakepkg/source.sh.gen
@@ -1,7 +1,7 @@
#!/usr/bin/sed -rf
-# librefetchdir/makepkg.gen
+# librefetchdir/source.sh.gen
#
-# Copyright (C) 2013, 2016 Luke Shumaker <lukeshu@parabola.nu>
+# Copyright (C) 2013, 2016, 2018 Luke Shumaker <lukeshu@parabola.nu>
#
# License: GNU GPLv3+
#
diff --git a/src/librefetch/librefetchdir/libmakepkg/tidy/purge.sh b/src/librefetch/librefetchdir/libmakepkg/tidy/purge.sh
index 95cc751..a37ff2f 100755
--- a/src/librefetch/librefetchdir/libmakepkg/tidy/purge.sh
+++ b/src/librefetch/librefetchdir/libmakepkg/tidy/purge.sh
@@ -2,8 +2,8 @@
#
# purge.sh - Remove unwanted files from the package
#
-# Copyright (c) 2008-2016 Pacman Development Team <pacman-dev@archlinux.org>
-# Copyright (c) 2013-2016 Luke Shumaker <lukeshu@parabola.nu>
+# Copyright (c) 2008-2018 Pacman Development Team <pacman-dev@archlinux.org>
+# Copyright (c) 2013-2016, 2018 Luke Shumaker <lukeshu@parabola.nu>
#
# License: GNU GPLv2+
#
@@ -38,21 +38,21 @@ tidy_remove+=('tidy_purge')
tidy_purge() {
if check_option "purge" "y" && [[ -n ${PURGE_TARGETS[*]} ]]; then
msg2 "$(gettext "Purging unwanted files...")"
- local pt
- for pt in "${PURGE_TARGETS[@]}"; do
- if [[ ${pt} = "${pt%/}" ]]; then
- if [[ ${pt} = "${pt//\/}" ]]; then
- find . ! -type d -name "${pt}" -exec rm -f -- '{}' +
- else
- rm -f "${pt}"
- fi
- else
- if [[ ${pt%/} = "${pt//\/}" ]]; then
- find . -type d -name "${pt%/}" -exec rm -rf -- '{}' +
- else
- rm -rf "${pt}"
- fi
- fi
- done
+ local pt
+ for pt in "${PURGE_TARGETS[@]}"; do
+ if [[ ${pt} = "${pt%/}" ]]; then
+ if [[ ${pt} = "${pt//\/}" ]]; then
+ find . ! -type d -name "${pt}" -exec rm -f -- '{}' +
+ else
+ rm -f -- "${pt}"
+ fi
+ else
+ if [[ ${pt%/} = "${pt//\/}" ]]; then
+ find . -type d -name "${pt%/}" -exec rm -rf -- '{}' +
+ else
+ rm -rf -- "${pt}"
+ fi
+ fi
+ done
fi
}
diff --git a/src/librefetch/librefetchdir/makepkg.gen b/src/librefetch/librefetchdir/makepkg.gen
index 59052c6..dfe68f5 100755
--- a/src/librefetch/librefetchdir/makepkg.gen
+++ b/src/librefetch/librefetchdir/makepkg.gen
@@ -1,7 +1,7 @@
#!/usr/bin/sed -rf
# librefetchdir/makepkg.gen
#
-# Copyright (C) 2013-2017 Luke Shumaker <lukeshu@parabola.nu>
+# Copyright (C) 2013-2018 Luke Shumaker <lukeshu@parabola.nu>
#
# License: GNU GPLv3+
#
@@ -22,15 +22,14 @@
/LIBRARY=/iexport LIBRARY="${0%/*}/libmakepkg"
+/list_package_files\(\) \{/,/^\}$/ {
+ # Don't include dotfiles
+ s,\(.*; (.* \| LC_ALL=C sort)\),\1,
+}
+
/create_package\(\) \{/,/^\}$/ {
- /pkg_file=/d # allow us to set pkg_file
- s/"?\$\{comp_files\[@\]\}"?// # do not include .{PKGINFO,BUILDINGO,CHANGELOG,INSTALL,MTREE}
- # This is long/gross. What it does:
- # - pass --format=ustar to bsdtar, to inhibit it using the pax format
- # - take the files that would be included in the tarball, and use
- # find/sort/--files-from to order them for bsdtar
- s/bsdtar(.*) - ([^|]*) \|/find \2 -print0 | LC_ALL=C sort --zero-terminated | bsdtar --null --files-from - --format=ustar --no-recursion \1 - |/
- s/create_signature .*/&; return/ # do not procede to create symlinks
+ # allow us to set pkg_file
+ /pkg_file=/d
}
s|Making package:|Making source:|
diff --git a/src/libretools.conf b/src/libretools.conf
index 3ba13bf..e0789bb 100644
--- a/src/libretools.conf
+++ b/src/libretools.conf
@@ -17,12 +17,9 @@ BLACKLIST=https://git.parabola.nu/blacklist.git/plain/blacklist.txt
DIFFPROG=$(which $([ -z "${DISPLAY:-}" ]||echo kdiff3 meld gvimdiff) vimdiff colordiff diff 2>/dev/null|sed 's/\s.*//;1q')
## ABSLibre
-## Used by xbs-abslibre
+## Used by: `createworkdir`
ABSLIBRERECV=git://git.parabola.nu/abslibre/abslibre.git
ABSLIBRESEND=ssh://git@git.parabola.nu:1863/~git/abslibre/abslibre.git
-ABSLIBREDEST="$WORKDIR/staging/abslibre"
-## ARCHES is the list of ARCHES to look for under ABSLIBREDEST
-ARCHES=($(printf '%s\n' /usr/share/pacman/defaults/pacman.conf.*|sed 's|.*\.||'))
################################################################################
# librerelease #
diff --git a/src/xbs-abs/.gitignore b/src/xbs-abs/.gitignore
deleted file mode 100644
index 86e1bff..0000000
--- a/src/xbs-abs/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-commitpkg*
-archrelease*
-valid-tags.sh*
diff --git a/src/xbs-abs/GNUmakefile b/src/xbs-abs/GNUmakefile
deleted file mode 120000
index 54fdd42..0000000
--- a/src/xbs-abs/GNUmakefile
+++ /dev/null
@@ -1 +0,0 @@
-../../GNUmakefile \ No newline at end of file
diff --git a/src/xbs-abs/Makefile b/src/xbs-abs/Makefile
deleted file mode 100644
index 907b3d0..0000000
--- a/src/xbs-abs/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-include $(dir $(lastword $(MAKEFILE_LIST)))/../../config.mk
-include $(topsrcdir)/build-aux/Makefile.head.mk
-
-libretools.pkg = xbs
-pkgconfdir = $(sysconfdir)/xbs
-pkglibexecdir = $(libexecdir)/xbs
-
-_helpers = archrelease commitpkg
-
-libretools.pots += $(_helpers)
-libretools.src.devtools += $(addsuffix .in,$(_helpers)) valid-tags.sh
-
-libretools.out.bins =
-libretools.out.libexecs = helper-abs
-libretools.out.libs = valid-tags.sh
-
-files.out.xbs += $(_helpers)
-files.sys.xbs += $(addprefix $(pkglibexecdir)/helper-abs.d/,$(_helpers))
-
-$(outdir)/commitpkg: $(srcdir)/commitpkg.in
- @echo "OUT $@"
- @{ \
- echo '#!/usr/bin/env bash'; \
- echo '. "$$(librelib common)"'; \
- echo '. ./PKGBUILD'; \
- echo 'repo=$$1; arch=$$2;'; \
- sed -n "/== 'any'/,\$$p" $<; \
- } | install -Dm755 /dev/stdin $@
-
-$(DESTDIR)$(pkglibexecdir)/helper-abs.d/%: $(srcdir)/%
- install -Dm755 '$<' '$@'
-
-include $(topsrcdir)/build-aux/Makefile.tail.mk
diff --git a/src/xbs-abs/helper-abs b/src/xbs-abs/helper-abs
deleted file mode 100755
index b410559..0000000
--- a/src/xbs-abs/helper-abs
+++ /dev/null
@@ -1,203 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright (C) 2013-2014, 2017-2018 Luke Shumaker <lukeshu@parabola.nu>
-#
-# For code from db-functions (arch_svn):
-# Copyright (C) 2012 Pierre Schmitz <pierre@archlinux.de>
-# For code from db-move+db-remove (move+unrelease):
-# Copyright (C) 2008-2009 Aaron Griffin <aaronmgriffin@gmail.com>
-# Copyright (C) 2009 Abhishek Dasgupta <abhidg@gmail.com>
-# Copyright (C) 2009, 2011 Dan McGee <dan@archlinux.org>
-# Copyright (C) 2009-2012 Pierre Schmitz <pierre@archlinux.de>
-# For code just from db-move (move):
-# Copyright (C) 2011 Rémy Oudompheng <remyoudompheng@gmail.com>
-# Copyright (C) 2012 Florian Pritz <bluewind@xinu.at>
-# For code just from db-remove (unrelease):
-# Copyright (C) 2009 Eric Bélanger <snowmaniscool@gmail.com>
-# Copyright (C) 2011 Florian Pritz <bluewind@xinu.at>
-#
-# License: GNU GPLv2+
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-. "$(librelib common)"
-
-load_config() {
- . "$(librelib conf)"
- # SVNUSER is optional
- load_conf xbs-abs.conf SVNDIR SVNREPOS ARCHES || exit
-}
-
-# This is taken from dbscripts:db-fuctions
-arch_svn() {
- if [[ -z "${SVNUSER}" ]]; then
- /usr/bin/svn "${@}"
- else
- sudo -u "${SVNUSER}" -- /usr/bin/svn --username "${USER}" "${@}"
- fi
-}
-
-pac2svn() {
- local pacrepo=$1
-
- # Figure out which svn repo we need
- local repo_spec repo_name repo_svnurl repo_pacrepos
- for repo_spec in "${SVNREPOS[@]}"; do
- read -r repo_name repo_svnurl repo_pacrepos <<<"$repo_spec"
- read -ra repo_pacrepos <<<"$repo_pacrepos"
-
- if in_array "$pacrepo" "${repo_pacrepos[@]}"; then
- echo "$repo_name"
- return 0 # $EXIT_SUCCESS
- fi
- done
- return 1 # $EXIT_FAILURE
-}
-
-status() {
- load_config
- [[ -z $(arch_svn status -q) ]]
-}
-
-download() {
- load_config
-
- local svnrepoStr
- for svnrepoStr in "${SVNREPOS[@]}"; do
- local svnrepoAry=($svnrepoStr)
- local svnrepo=${svnrepoAry[0]}
- local svnurl=${svnrepoAry[1]}
- local pacrepos=("${svnrepoAry[@]:2}")
-
- if [[ -d "$SVNDIR/$svnrepo/.svn" ]]; then
- arch_svn -q up "$SVNDIR/$svnrepo"/*
- else
- # checkout non-recursive, then lazy load
- # necessary because:
- # > DO NOT CHECK OUT THE ENTIRE SVN REPO. Your address
- # > may be blocked.
- arch_svn -q checkout -N "$svnurl" "$SVNDIR/$svnrepo"
- fi
- done
-}
-
-release-client() {
- local repo=$1
- local arch=$2
-
- # Hack to use arch_svn as 'svn' in external scripts
- local tmpdir; tmpdir="$(mktemp -dt "xbs-abs-release.XXXXXXXXXX")"
- trap "$(printf 'rm -rf -- %q' "$tmpdir")" EXIT
- printf '%s\n' \
- '#!/bin/bash' \
- "$(declare -p SVNUSER 2>/dev/null)" \
- "$(declare -f arch_svn)" \
- 'arch_svn "$@"' \
- > "$tmpdir/svn"
- chmod 755 "$tmpdir/svn"
- export PATH="$tmpdir:$PATH"
-
- "${0}.d/archrelease" -f "${repo}-${arch}"
- "${0}.d/commitpkg" "${repo}" "${arch}"
-}
-
-release-server() {
- # Do nothing
- :
-}
-
-unrelease() {
- local pkgbase=$1
- local repo=$2
- local arch=$3
-
- local tag="$repo-$arch"
-
- load_config
- local svndir
- svndir="${SVNDIR}/$(pac2svn "$repo")/${pkgbase}"
- arch_svn up -q "$svndir"
-
- # This is based off code from dbscripts:db-remove
- arch_svn rm --force -q "${svndir}/repos/${tag}"
- arch_svn commit -q "${svndir}" -m "${0##*/}: $pkgbase removed by $(id -un)"
-}
-
-move() {
- local repo_from=$1
- local repo_to=$2
- local pkgbase=$3
-
- load_config
- local svndir
- svndir="${SVNDIR}/$(pac2svn "$repo_from")/${pkgbase}"
- arch_svn up -q "$svndir"
-
- local tag_list=""
- local pkgarch
- local arches=()
- # this is based off code from dbscripts:db-move
- for pkgarch in "${ARCHES[@]}" 'any'; do
- local dir_from="${svndir}/repos/${repo_from}-${pkgarch}"
- local dir_to="${svndir}/repos/${repo_to}-${pkgarch}"
-
- if [ -f "${dir_from}/PKGBUILD" ]; then
- if [ -d "${dir_to}" ]; then
- for file in $(arch_svn ls "${dir_to}"); do
- arch_svn rm -q "${dir_to}/$file@"
- done
- else
- mkdir "${dir_to}"
- arch_svn add -q "${dir_to}"
- fi
-
- local file
- for file in $(arch_svn ls "${dir_from}"); do
- arch_svn mv -q -r HEAD "${dir_from}/$file@" "${dir_to}/"
- done
- arch_svn rm --force -q "${dir_from}"
- tag_list="$tag_list, $pkgarch"
- arches+=("$pkgarch")
- fi
- done
- tag_list="${tag_list#, }"
- arch_svn commit -q "${svndir}" -m "${0##*/}: moved ${pkgbase} from [${repo_from}] to [${repo_to}] (${tag_list})"
- echo "${arches[*]}"
-}
-
-releasepath() {
- local pkgbase=$1
- local repo=$2
- local arch=$3
-
- load_config
- local svndir releasepath
- svndir="${SVNDIR}/$(pac2svn "$repo")/${pkgbase}"
- arch_svn up -q "${svndir}"
- releasepath="${svndir}/repos/${repo}-${arch}"
- if [[ -f "${releasepath}/PKGBUILD" ]]; then
- printf '%s\n' "$releasepath"
- return 0 # $EXIT_SUCCESS
- fi
- return 1 # $EXIT_FAILURE
-}
-
-name() {
- echo SVN
-}
-
-case "$1" in
- status|download|release-client|release-server|unrelease|move|releasepath|name) "$@";;
- *) exit 127;;
-esac
diff --git a/src/xbs-abs/xbs-abs.conf b/src/xbs-abs/xbs-abs.conf
deleted file mode 100644
index f8a5bf9..0000000
--- a/src/xbs-abs/xbs-abs.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/hint/bash
-# shellcheck disable=2034
-
-SVNDIR=/var/lib/xbs-abs
-#SVNUSER=
-
-_packages_repos=(core extra testing staging {gnome,kde}-unstable)
-_community_repos=({community,multilib}{,-testing,-staging})
-
-# name url repos...
-SVNREPOS=(
- "packages svn://svn.archlinux.org/packages ${_packages_repos[*]}"
- "community svn://svn.archlinux.org/community ${_community_repos[*]}"
-)
-
-ARCHES=(i686 x86_64)
diff --git a/src/xbs-abslibre/GNUmakefile b/src/xbs-abslibre/GNUmakefile
deleted file mode 120000
index 54fdd42..0000000
--- a/src/xbs-abslibre/GNUmakefile
+++ /dev/null
@@ -1 +0,0 @@
-../../GNUmakefile \ No newline at end of file
diff --git a/src/xbs-abslibre/Makefile b/src/xbs-abslibre/Makefile
deleted file mode 100644
index 068e6e4..0000000
--- a/src/xbs-abslibre/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-include $(dir $(lastword $(MAKEFILE_LIST)))/../../config.mk
-include $(topsrcdir)/build-aux/Makefile.head.mk
-
-libretools.pkg = xbs
-pkglibexecdir = $(libexecdir)/xbs
-
-libretools.out.bins =
-libretools.out.libexecs = helper-abslibre
-
-include $(topsrcdir)/build-aux/Makefile.tail.mk
diff --git a/src/xbs-abslibre/helper-abslibre b/src/xbs-abslibre/helper-abslibre
deleted file mode 100755
index eeef4bf..0000000
--- a/src/xbs-abslibre/helper-abslibre
+++ /dev/null
@@ -1,203 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright (C) 2012-2017 Luke Shumaker <lukeshu@parabola.nu>
-#
-# License: GNU GPLv2+
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-. "$(librelib messages)"
-setup_traps
-set -u
-
-lockarch() {
- local arch=$1
- lock 9 "${ABSLIBREDEST}/${arch}.lock" \
- "Waiting for a lock on the ABSLibre release directory for %s" "${arch}"
-}
-
-unlockarch() {
- lock_close 9
-}
-
-checkgit() {
- if [[ ! -d "${ABSLIBREDEST}/${arch}/.git" ]]; then
- error 'Not a git repository: %s' "${ABSLIBREDEST}/${arch}"
- exit $EXIT_FAILURE
- fi
-}
-
-conf() {
- . "$(librelib conf)"
- load_conf libretools.conf || exit
-}
-
-################################################################################
-
-# Operates on the `abslibre` format[0]. On the client/developer side,
-# release-client *copies* files from the `abslibre` tree to an
-# `abstree`[1] tree located at `devbox:${ABSLIBREDEST}/${arch}`. On
-# the server side, after those `abstree`s have been uploaded
-# (ssh/rsync), release-server *copies* them out of the `abstree` into
-# a different `abslibre` on the server, similarly located at
-# `repobox:${ABSLIBREDEST}/${arch}`.
-#
-# [0]: https://projects.parabola.nu/packages/pbs-tools.git/tree/docs/format-abslibre.md
-# [1]: https://projects.parabola.nu/packages/pbs-tools.git/tree/docs/format-abstree.md
-
-# The number of arguments and CWD constraints are enforced by the main
-# XBS program, no need to check those things here!
-
-# Args: none
-# CWD: a directory with a PKGBUILD, in an 'abslibre' tree.
-status() {
- [[ -z $(git status -s .) ]]
-}
-
-# Args: none
-# CWD: anywhere
-# Host: developer box
-download() {
- conf WORKDIR ABSLIBRERECV ABSLIBRESEND
-
- gitget -f -p "$ABSLIBRESEND" checkout "$ABSLIBRERECV" "$WORKDIR/abslibre"
-}
-
-# Args: REPO ARCH
-# CWD: a directory with a PKGBUILD, in an 'abslibre' tree.
-# Host: developer box
-release-client() {
- local repo=$1
- local arch=$2
-
- conf ABSLIBREDEST
- local pkgbase pkgdir
- pkgbase="$(load_PKGBUILD >/dev/null; printf '%s\n' "${pkgbase:-${pkgname}}")"
- pkgdir="${ABSLIBREDEST}/${arch}/${repo}/${pkgbase}"
- lockarch "$arch"
-
- if [[ -e $pkgdir ]]; then
- rm -rf -- "$pkgdir"
- fi
-
- mkdir -p -- "$pkgdir"
- git ls-files -z | xargs -0 -I{} cp -- {} "$pkgdir"
-}
-
-# Args: REPO ARCH
-# CWD: a directory with a PKGBUILD, outside of ${ABSLIBREDEST}
-# Host: repo
-release-server() {
- local repo=$1
- local arch=$2
-
- conf ABSLIBREDEST
- local pkgbase pkgdir
- pkgbase="$(load_PKGBUILD >/dev/null; printf '%s\n' "${pkgbase:-${pkgname}}")"
- pkgdir="${ABSLIBREDEST}/${arch}/${repo}/${pkgbase}"
- lockarch "$arch"
- checkgit
-
- if [[ -e $pkgdir ]]; then
- rm -rf -- "$pkgdir"
- fi
-
- mkdir -p -- "$pkgdir"
- cp -- * "$pkgdir"
-
- cd "$pkgdir"
- git add .
- git commit -q -m "xbs-abslibre: Release ${repo}/${pkgbase} for ${arch} (by $(id -un))"
-}
-
-# Args: PKGBASE REPO ARCH
-# CWD: anywhere
-# Host: repo
-unrelease() {
- local pkgbase=$1
- local repo=$2
- local arch=$3
-
- conf ABSLIBREDEST
- local pkgdir="${ABSLIBREDEST}/${arch}/${repo}/${pkgbase}"
- lockarch "$arch"
- checkgit
-
- if [[ -f "${pkgdir}/PKGBUILD" ]]; then
- git rm -qrf -- "$pkgdir"
- git commit -q -m "xbs-abslibre: Remove ${repo}/${pkgbase} from ${arch} (by $(id -un))"
- fi
-}
-
-# Args: FROMREPO TOREPO PKGBASE
-# CWD: anywhere
-# Host: repo
-move() {
- local repo_from=$1
- local repo_to=$2
- local pkgbase=$3
-
- conf ABSLIBREDEST ARCHES
-
- # Execute each iteration in a subshell so that 'checkgit'
- # bailing for an architecture doesn't abort the entire thing.
- local arch
- for arch in "${ARCHES[@]}" any; do (
- lockarch "$arch"
- checkgit
-
- local dir_from="${ABSLIBREDEST}/${arch}/${repo_from}/${pkgbase}"
- local dir_to="${ABSLIBREDEST}/${arch}/${repo_to}/${pkgbase}"
-
- if [[ -f "${dir_from}/PKGBUILD" ]]; then
- if [[ -e "${dir_to}" ]]; then
- git rm -qrf -- "$dir_to"
- fi
- mkdir -p -- "${dir_to%/*}"
- git mv -- "$dir_from" "$dir_to"
- git commit -q -m "xbs-abslibre: Move ${pkgbase} from ${repo_from} to ${repo_to} on ${arch} (by $(id -un))"
- fi
- unlock arch
- ) done
-}
-
-# Args: PKGBASE REPO ARCH
-# CWD: anywhere
-# Host: repo
-releasepath() {
- local pkgbase=$1
- local repo=$2
- local arch=$3
-
- conf ABSLIBREDEST
- local pkgdir="${ABSLIBREDEST}/${arch}/${repo}/${pkgbase}"
-
- lockarch "$arch"
-
- if [[ -f "${pkgdir}/PKGBUILD" ]]; then
- printf '%s\n' "$pkgdir"
- return $EXIT_SUCCESS
- fi
-
- return $EXIT_FAILURE
-}
-
-name() {
- echo ABSLibre
-}
-
-case "$1" in
- status|download|release-client|release-server|unrelease|move|releasepath|name) "$@" || exit;;
- *) exit 127;;
-esac
diff --git a/src/xbs/GNUmakefile b/src/xbs/GNUmakefile
deleted file mode 120000
index 54fdd42..0000000
--- a/src/xbs/GNUmakefile
+++ /dev/null
@@ -1 +0,0 @@
-../../GNUmakefile \ No newline at end of file
diff --git a/src/xbs/Makefile b/src/xbs/Makefile
deleted file mode 100644
index 6a39658..0000000
--- a/src/xbs/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-include $(dir $(lastword $(MAKEFILE_LIST)))/../../config.mk
-include $(topsrcdir)/build-aux/Makefile.head.mk
-
-libretools.pkg = xbs
-pkgconfdir = $(sysconfdir)/xbs
-
-include $(topsrcdir)/build-aux/Makefile.tail.mk
diff --git a/src/xbs/xbs b/src/xbs/xbs
deleted file mode 100755
index cb02a99..0000000
--- a/src/xbs/xbs
+++ /dev/null
@@ -1,182 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright (C) 2013-2015, 2017-2018 Luke Shumaker <lukeshu@parabola.nu>
-#
-# License: GNU GPLv2+
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-default_libdir=/usr/lib/xbs
-
-. "$(librelib messages)"
-. "$(librelib conf)"
-
-errusage() {
- if [[ $# -gt 0 ]]; then
- error "$@"
- fi
- usage >&2
- exit $EXIT_INVALIDARGUMENT
-}
-
-usage() {
- print 'Usage: %s [-b BUILDSYSTEM|-h] COMMAND [ARGUMENTS]' "${0##*/}"
- print 'Tool for working with arbitrary ABS-like build systems'
- echo
- prose 'This is a pluggable tool. The BUILDSYSTEM it uses is
- configured in:'
- bullet '%s' '/etc/xbs/xbs.conf'
- bullet '%s' '${XDG_CONFIG_HOME}/xbs/xbs.conf'
- bullet 'with the `-b` flag'
- prose 'Later items take precedence over earlier ones.'
- echo
- prose 'It looks for a helper programs named helper-${BUILDSYSTEM}, in
- the directory `%q` by default, but this directory can be changed
- with the environmental variable XBS_LIBDIR.' "$default_libdir"
- echo
- print 'Options:'
- flag "-b $(_ BUILDSYSTEM)" 'Use BUILDSYSTEM instead of the one
- configured in xbs.conf' \
- '-h' 'Show this message'
- echo
- prose "Whether a command is intended for use on a developer's box or on
- the server is indicated by (dev), (srv), or (any) before the
- command"
- echo
- print 'Commands:'
- flag "$(_ '(dev) status')" \
- 'Are there uncommitted changes in `.`?' \
- "$(_ '(dev) download')" \
- 'Download or update the tree' \
- "$(_ '(dev) release-client REPO ARCH')" \
- 'Release `.` (for developer boxes)' \
- "$(_ '(srv) release-server REPO ARCH')" \
- 'Release `.` (for server boxes)' \
- "$(_ '(srv) unrelease PKGBASE REPO ARCH')" \
- 'Unrelease a pkgbase' \
- "$(_ '(srv) move FROMREPO TOREPO PKGBASE')" \
- 'Move a pkgbase from one repo to another' \
- "$(_ '(srv) releasepath PKGBASE REPO ARCH')" \
- 'Print the path to the staged version of pkgbase, or exit with
- non-zero if not released' \
- "$(_ '(any) name')" \
- 'Print a human-friendly version of the BUILDSYSTEM name' \
- "$(_ '(any) help')" \
- 'Show this message'
-}
-
-status() {
- if [[ ! -f PKGBUILD ]]; then
- error 'PKGBUILD not found'
- # Though in this file in general it doesn't matter, in
- # this case it does: Using "exit" instead of "return"
- # is imporant because it prevents flow returning to
- # release-client.
- exit $EXIT_FAILURE
- fi
- "$HELPER" status "$@"
-}
-
-download() {
- "$HELPER" download "$@"
-}
-
-release-client() {
- if ! status; then
- error 'You have not committed your changes yet!'
- exit $EXIT_FAILURE
- fi
- "$HELPER" release-client "$@"
-}
-
-release-server() {
- if [[ ! -f PKGBUILD ]]; then
- error 'PKGBUILD not found'
- exit $EXIT_FAILURE
- fi
- "$HELPER" release-server "$@"
-}
-
-unrelease() {
- "$HELPER" unrelease "$@"
-}
-
-move() {
- "$HELPER" move "$@"
-}
-
-releasepath() {
- "$HELPER" releasepath "$@"
-}
-
-help() {
- usage
-}
-
-name() {
- "$HELPER" name "$@"
-}
-
-main() {
- BUILDSYSTEM=''
- while getopts 'b:h' arg; do
- case $arg in
- b) BUILDSYSTEM=$OPTARG;;
- h) usage; return $EXIT_SUCCESS;;
- *) errusage;;
- esac
- done
- shift $((OPTIND - 1))
-
- if [[ -z $BUILDSYSTEM ]]; then
- load_conf xbs.conf BUILDSYSTEM || exit
- fi
-
- if [[ -z $XBS_LIBDIR ]]; then
- export XBS_LIBDIR=$default_libdir
- fi
-
- HELPER="${XBS_LIBDIR}/helper-${BUILDSYSTEM}"
- if [[ ! -x "$HELPER" ]]; then
- error 'No helper for build system found: %s' "$BUILDSYSTEM"
- return $EXIT_NOTCONFIGURED;
- fi
-
- if [[ $# -lt 1 ]]; then
- errusage "Must specify a command"
- fi
-
- if [[ -w / ]]; then
- error 'Run as a normal user'
- fi
-
- local cmd=$1; shift
- case "$cmd" in
- status|download|name|help)
- [[ $# -eq 0 ]] || errusage 'bad number of argments'
- "$cmd" "$@"
- ;;
- release-client|release-server)
- [[ $# -eq 2 ]] || errusage 'bad number of argments'
- "$cmd" "$@"
- ;;
- move|unrelease|releasepath)
- [[ $# -eq 3 ]] || errusage 'bad number of argments'
- "$cmd" "$@"
- ;;
- *) errusage 'unknown command: %s' "$cmd";;
- esac
-}
-
-main "$@"
diff --git a/src/xbs/xbs.conf b/src/xbs/xbs.conf
deleted file mode 100644
index 2c94ca8..0000000
--- a/src/xbs/xbs.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/hint/bash
-# shellcheck disable=2034
-
-BUILDSYSTEM=abslibre
diff --git a/test/librechroot-test.sh b/test/librechroot-test.sh
index 42d4803..edf7a4f 100644
--- a/test/librechroot-test.sh
+++ b/test/librechroot-test.sh
@@ -145,3 +145,16 @@ it_deletes_subvolumes_recursively() {
testsudo librechroot -l "$roundup_test_name" delete
not test -e "$chrootdir/default/$roundup_test_name"
}
+
+it_cleans_up_TMPDIR() {
+ require network sudo || return 0
+
+ local dir="$tmpdir/tmp"
+ mkdir -- "$dir"
+
+ libremessages msg 'Creating a chroot, may take a few minutes' &>/dev/tty
+ TMPDIR=$dir testsudo librechroot -l "$roundup_test_name" -A x86_64 make
+
+ # Make sure $dir is now empty
+ rmdir -- "$dir"
+}
diff --git a/test/librefetch-test.sh b/test/librefetch-test.sh
index 8018784..fc92079 100644
--- a/test/librefetch-test.sh
+++ b/test/librefetch-test.sh
@@ -76,11 +76,15 @@ it_runs_with_mksource() {
touch src-libre/foo/file
# Run librefetch
- makepkg -g
+ makepkg -g >& log.txt
# Verify that no temporary files were left around
not test -e librefetch.*
+ # Verify that there were no warnings about missing backup=()
+ # files
+ not grep -F etc/testpkg.conf log.txt
+
# Verify:
# - The srcball was created...
# - ... and is in the correct directory
diff --git a/test/librefetch.d/PKGBUILD-mksource b/test/librefetch.d/PKGBUILD-mksource
index 6547e25..74489de 100644
--- a/test/librefetch.d/PKGBUILD-mksource
+++ b/test/librefetch.d/PKGBUILD-mksource
@@ -4,6 +4,7 @@ pkgrel=1
pkgdesc=foo
arch=(any)
source=("libre://$pkgname-$pkgver.tar.gz"{,.sig})
+backup=(etc/testpkg.conf)
mksource() {
mkdir "$srcdir/bar"
diff --git a/test/libremakepkg-test.sh b/test/libremakepkg-test.sh
index 54816dd..6fa7962 100644
--- a/test/libremakepkg-test.sh
+++ b/test/libremakepkg-test.sh
@@ -155,7 +155,7 @@ it_detects_distcc_files() {
not [[ -f $(echo libretools-hello-1.0-1-any.pkg.tar.?z) ]]
}
-it_symlinks_outputs() {
+it_doesnt_symlink_outputs() {
require network sudo || return 0
echo "WORKDIR='$tmpdir/workdir'" > $XDG_CONFIG_HOME/libretools/libretools.conf
@@ -172,8 +172,34 @@ it_symlinks_outputs() {
libremessages msg 'Creating a chroot, may take a few minutes' &>/dev/tty
testsudo libremakepkg -l "$roundup_test_name"
- [[ -f $(echo libretools-hello-1.0-1-any.pkg.tar.?z) ]]
- [[ -L $(echo libretools-hello-1.0-1-any.pkg.tar.?z) ]]
- [[ -f $(echo libretools-hello-1.0-1-any.src.tar.?z) ]]
- [[ -L $(echo libretools-hello-1.0-1-any.src.tar.?z) ]]
+ not stat libretools-hello-1.0-1-any.pkg.tar.?z
+ not stat libretools-hello-1.0-1-any.src.tar.?z
+ [[ -f $(echo "$tmpdir/workdir/pkgdest"/libretools-hello-1.0-1-any.pkg.tar.?z) ]]
+ [[ -f $(echo "$tmpdir/workdir/srcpkgdest"/libretools-hello-1.0-1-any.src.tar.?z) ]]
+}
+
+it_succeeds_with_good_signatures() {
+ require network sudo || return 0
+
+ cp libremakepkg.d/PKGBUILD-signed "$tmpdir/PKGBUILD"
+ cp libremakepkg.d/hello.sh "$tmpdir/hello.sh"
+ cd "$tmpdir"
+ gpg --detach-sign --use-agent --no-armor hello.sh
+
+ libremessages msg 'Creating a chroot, may take a few minutes' &>/dev/tty
+ testsudo libremakepkg -l "$roundup_test_name"
+}
+
+it_fails_with_bad_signatures() {
+ require network sudo || return 0
+
+ cp libremakepkg.d/PKGBUILD-signed "$tmpdir/PKGBUILD"
+ cp libremakepkg.d/hello.sh "$tmpdir/hello.sh"
+ cd "$tmpdir"
+ gpg --detach-sign --use-agent --no-armor hello.sh
+ echo 'echo pwned' >> hello.sh
+ makepkg -g >> PKGBUILD
+
+ libremessages msg 'Creating a chroot, may take a few minutes' &>/dev/tty
+ not testsudo libremakepkg -l "$roundup_test_name"
}
diff --git a/test/libremakepkg.d/PKGBUILD-signed b/test/libremakepkg.d/PKGBUILD-signed
new file mode 100644
index 0000000..0979a85
--- /dev/null
+++ b/test/libremakepkg.d/PKGBUILD-signed
@@ -0,0 +1,17 @@
+pkgname='libretools-signed'
+pkgver=1.0
+license=('GPL')
+url='https://parabola.nu'
+
+source=(hello.sh{,.sig})
+sha256sums=('1e70cef0dfe5ce1120ccde5e1551c7277bcddaa75a1808f49512f404e6b8aec8'
+ 'SKIP')
+
+pkgrel=1
+arch=(any)
+depends=(sh)
+
+package() {
+ cd "$srcdir"
+ install -Dm755 hello.sh "$pkgdir"/usr/bin/libretools-hello
+}
diff --git a/test/libremakepkg.d/hello.sh b/test/libremakepkg.d/hello.sh
new file mode 100644
index 0000000..79a32fd
--- /dev/null
+++ b/test/libremakepkg.d/hello.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+echo "Hello, world!"
diff --git a/test/testenv b/test/testenv
index a744308..faad4e1 100755
--- a/test/testenv
+++ b/test/testenv
@@ -1,70 +1,86 @@
#!/usr/bin/env bash
-set -e
+{
+ set -e
-# Parse the arguments
-NETWORK=true
-SUDO=true
-while [[ $# -gt 0 ]]; do
- case "$1" in
- --no-network) shift; unset NETWORK;;
- --network) shift; NETWORK=true;;
- --no-sudo) shift; unset SUDO;;
- --sudo) shift; SUDO=true;;
- --) shift; break;;
- *) break;;
- esac
-done
-export NETWORK SUDO
+ # Parse the arguments
+ NETWORK=true
+ SUDO=true
+ while [[ $# -gt 0 ]]; do
+ case "$1" in
+ --no-network) shift; unset NETWORK;;
+ --network) shift; NETWORK=true;;
+ --no-sudo) shift; unset SUDO;;
+ --sudo) shift; SUDO=true;;
+ --) shift; break;;
+ *) break;;
+ esac
+ done
+ export NETWORK SUDO
-if [[ $# == 0 ]]; then
- echo 'You need to run testenv with arguments!' >&2
- exit 1
-fi
+ if [[ $# == 0 ]]; then
+ echo 'You need to run testenv with arguments!' >&2
+ exit 1
+ fi
-# Set up the working directory, and add the hook to clean it up
-export TMPDIR="$(mktemp --tmpdir -d libretools-test.XXXXXXXXXX)"
-trap "rm -rf '$TMPDIR'" EXIT
+ # Set up the working directory, and add the hook to clean it up
+ export TMPDIR="$(mktemp --tmpdir -d libretools-test.XXXXXXXXXX)"
+ trap "rm -rf '$TMPDIR'" EXIT
-# Set up the install to work with
-destdir=$TMPDIR/destdir
+ # Set up the install to work with
+ destdir=$TMPDIR/destdir
-old_pwd="$(pwd)"
-if [[ -f $0 ]]; then
- cd "${0%/*}"
-fi
-if ! make -C .. install prefix=/usr sysconfdir=/etc DESTDIR="$destdir" &>"$TMPDIR/make-output"; then
- echo 'error creating local install, cannot run tests' >&2
- cat "$TMPDIR/make-output"
- exit 1
-fi
-cd "$old_pwd"
+ old_pwd="$(pwd)"
+ if [[ -f $0 ]]; then
+ cd "${0%/*}"
+ fi
+ if ! make -C .. install prefix=/usr sysconfdir=/etc DESTDIR="$destdir" &>"$TMPDIR/make-output"; then
+ echo 'error creating local install, cannot run tests' >&2
+ cat "$TMPDIR/make-output"
+ exit 1
+ fi
+ cd "$old_pwd"
-# Set up the environment
-export PATH="$destdir/usr/bin:$PATH"
-export LIBRETOOLS_LIBDIR="$destdir/usr/lib/libretools"
-export XBS_LIBDIR="$destdir/usr/lib/xbs"
-export HOME=$TMPDIR/home
-export XDG_CACHE_HOME="$HOME/.cache"
-export XDG_CONFIG_HOME="$HOME/.config"
-export _librelib_conf_sh_sysconfdir="$destdir/etc"
-export _librelib_conf_sh_pkgconfdir="$destdir/etc/libretools.d"
+ # Set up the environment
+ export PATH="$destdir/usr/bin:$PATH"
+ export LIBRETOOLS_LIBDIR="$destdir/usr/lib/libretools"
+ export HOME=$TMPDIR/home
+ export GNUPGHOME="$HOME/.gnupg"
+ export XDG_CACHE_HOME="$HOME/.cache"
+ export XDG_CONFIG_HOME="$HOME/.config"
+ export _librelib_conf_sh_sysconfdir="$destdir/etc"
+ export _librelib_conf_sh_pkgconfdir="$destdir/etc/libretools.d"
-# Hack to respect our variables in sudo
-_sudo() {
- local vars=(TMPDIR PATH LIBRETOOLS_LIBDIR XDG_CACHE_HOME XDG_CONFIG_HOME _librelib_conf_sh_sysconfdir)
- local env=()
- local var
- for var in "${vars[@]}"; do
- env+=("$var=${!var}")
- done
- sudo "${env[@]}" "$@"
-}
-printf '%s\n' \
- '#!/bin/bash' \
- "$(declare -f _sudo)" \
- '_sudo "$@"' \
- > "$destdir/usr/bin/testsudo"
-chmod 755 "$destdir/usr/bin/testsudo"
+ mkdir -p -- "$GNUPGHOME"
+ chmod 700 -- "$GNUPGHOME"
+ unset GPGKEY
+ gpg --quiet --no-tty --batch --gen-key <<-eot
+ Key-Type: default
+ Key-Usage: sign
+ Name-Real: Bob Tester
+ Name-Email: tester@localhost
+ Expire-Date: 0
+ %no-protection
+ %commit
+ eot
+ export GPGKEY="$(gpg --quiet --list-secret-keys --with-colons | awk -F: '/^sec:/{print substr($5,9)}')"
-# Run the tests
-eval "$@"
+ # Hack to respect our variables in sudo
+ _sudo() {
+ local vars=(TMPDIR PATH LIBRETOOLS_LIBDIR GNUPGHOME XDG_CACHE_HOME XDG_CONFIG_HOME _librelib_conf_sh_sysconfdir GPGKEY)
+ local env=()
+ local var
+ for var in "${vars[@]}"; do
+ env+=("$var=${!var}")
+ done
+ sudo "${env[@]}" "$@"
+ }
+ printf '%s\n' \
+ '#!/bin/bash' \
+ "$(declare -f _sudo)" \
+ '_sudo "$@"' \
+ > "$destdir/usr/bin/testsudo"
+ chmod 755 "$destdir/usr/bin/testsudo"
+
+ # Run the tests
+ command -- "$@"
+}