Commit Graph
2 Commits
Author SHA1 Message Date
sergioandClaude Opus 5 487e155f74 licencias: leer el LICENSE de verdad cuando GitHub dice «no sé» — 1053 de 1141 (92%)
Último recurso mecánico, `scripts/licencias-texto.sh`: para las 60 recetas donde la API de
GitHub devuelve NOASSERTION (el repo TIENE un LICENSE pero licensee no lo reconoce: texto
retocado, encabezado propio, dos licencias en un fichero), baja el texto y lo clasifica acá.
34 identificadas — 16 MIT, 10 Apache-2.0, 7 BSD-2-Clause, 1 BSD-3-Clause.

SÓLO PERMISIVAS, Y NO ES PEREZA. MIT, Apache-2.0, BSD, ISC, MPL-2.0 y Unlicense se
reconocen por frases inconfundibles y NO tienen variantes -only/-or-later ⇒ reconocer el
texto da el SPDX completo.

La familia GPL se deja al humano A PROPÓSITO, y la razón es sutil: el COPYING de la GPL es
IDÉNTICO tanto si el proyecto es «sólo v3» como «v3 o posterior» — lo que las distingue vive
en las cabeceras de los fuentes. Y encima el propio COPYING incluye, en su apéndice «cómo
aplicar la licencia», la frase «or (at your option) any later version», así que buscarla da
SIEMPRE positivo y parecería evidencia siendo texto de plantilla. Es exactamente la trampa
de la regla del `.a` no-PIC, donde grep contaba reubicaciones de .debug_* y mentía.

Comprobado a mano un caso que daba mala espina: el LICENSE de `conftest` empieza
«Conftest — Write tests against your config files / Copyright (C) 2019 …», que es el formato
típico de una cabecera GPL. Leído entero, dice «Licensed under the Apache License, Version
2.0». La clasificación era correcta; la sospecha, barata.

Hashes verificados sobre las 36 tocadas: idénticos.

Quedan 88, ya sin vía mecánica: los repos donde ni la API ni el texto deciden, la familia
GPL sin desambiguar, y tarballs de sitios propios (gmplib, xiph, sr.ht, codeberg…).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 14:06:59 -04:00
sergioandClaude Opus 4.8 f5a3432831 kde/Plasma: plasma-nm 6.7.2 SELLA — el APPLET DE RED, frente de red cerrado
plasma-nm (6080f27f) construido: applet QML org.kde.plasma.networkmanagement + kcm_networkmanagement +
plugins VPN (openvpn/openswan/ssh/sstp/strongswan/iodine/fortisslvpn). Cierre verificado:
libKF6NetworkManagerQt.so.6 + libKF6ModemManagerQt.so.6 + libqt6keychain.so.1.

Cierra el frente que plasma-workspace esquivó parcheando NetworkManagerQt a opcional. Cadena entera:
  glib-shared → networkmanager (libnm)    → networkmanager-qt ─┐
  glib-shared → modemmanager (libmm-glib) → modemmanager-qt ───┴→ plasma-nm

Deps nuevas de esta tanda:
  modemmanager 1.22.0   9e4ce41d  libmm-glib. -Dqmi/mbim/qrtr=false evita libqmi/libmbim/libqrtr;
                                  polkit=no, udev=false (+udevdir explícito, lo exige el assert).
  modemmanager-qt 6.27  37e954bb  KF6ModemManagerQt (REQUIRED en el find_package(KF6) de plasma-nm
                                  aunque no haya módem).
  qtkeychain 0.16.0     6a1319b0  claves WiFi. **LIBSECRET_SUPPORT=OFF**: por defecto ON y exige
                                  libsecret-1 (llavero de GNOME); apagado queda KEYCHAIN_DBUS =
                                  kwallet vía Qt6DBus, que es el backend que KDE usa ⇒ cero deps nuevas.
                                  OJO: el tag de git es '0.16.0' SIN prefijo 'v'.
  libxslt 1.1.43        b41cb0fc  xsltproc. A diferencia de NM (donde sólo servía a man/ y se degradó),
                                  ModemManager lo USA de verdad: include/meson.build:25 genera
                                  ModemManager-names.h desde header-generator.xsl.
  qcoro-shared 0.12.0   b8ed5b49  el qcoro canónico sella sólo .a sin PIC (su CMake no fija
                                  BUILD_SHARED_LIBS) ⇒ 'R_X86_64_32S QCoro::detail::TaskBase<QDBusMessage>
                                  recompile with -fPIC' al linkear plasma-nm. Variante con
                                  BUILD_SHARED_LIBS=ON; nombre distinto para no re-hashear el qcoro que
                                  ya consumen plasma-workspace/powerdevil.

BUILD_OPENCONNECT=OFF es importante: con ON, plasma-nm hace find_package(Qt6WebEngineWidgets REQUIRED)
⇒ arrastraría qtwebengine (Chromium), diferido por el ADR.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 10:48:26 -04:00