diff options
41 files changed, 328 insertions, 1163 deletions
@@ -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 @@ -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 -- "$@" +} |