¿Por qué el hombre imprime "dame, dame, dame" a las 00:30?

¿Por qué el hombre imprime "dame, dame, dame" a las 00:30?

Hemos notado que algunas de nuestras pruebas automáticas fallan cuando se ejecutan a las 00:30 pero funcionan bien el resto del día. Fallan con el mensaje

gimme gimme gimme

en stderr, lo cual no se esperaba. ¿Por qué obtenemos este resultado?

Respuesta1

Estimado@colmmacuait, Creo que si escribes "hombre" a las 0001 horas debería imprimir "dame, dame, dame".#abba
@marnanel- 3 de noviembre de 2011

Eh, eso fue mi culpa, lo sugerí. Lo siento.

Prácticamente toda la historia está en el compromiso. El mantenedor del hombre es un buen amigo mío, y un día hace seis años le dije en broma que si invocas al hombre después de medianoche debería imprimir "dame dame dame", por la canción de Abba llamada "Dame, Dame, Dame! (Un hombre despues de medianoche":

Bueno, en realidad lo hizo.Ponlo en. Algunas personas se divirtieron al descubrirlo, y la mayoría de nosotros lo olvidamos hasta hoy.

No puedo hablar por Col, obviamente, pero no esperaba que esto alguna vez causara ningún problema: ¿qué tipo de prueba se interrumpiría al analizar la salida de man sin ninguna página especificada? Supongo que no debería sorprenderme que finalmente apareciera uno, pero tomó seis años.

(Elmensaje de confirmaciónme llama Thomas, que es mi nombre legal, aunque no lo uso mucho en línea).

Este problema se ha solucionado con el compromiso.84bde8:Correr con un hombre man -wya no activará este huevo de Pascua.

Respuesta2

Este es un huevo de pascua en man. Cuando ejecuta mansin especificar la página o con -w, genera "dame dame dame" a stderr, pero solo a las 00:30:

# date +%T -s "00:30:00"
00:30:00
# man -w
gimme gimme gimme
/usr/local/share/man:/usr/share/man:/usr/man

El código de salida es siempre 0.

La salida correcta siempre debe ser:

# man -w
/usr/local/share/man:/usr/share/man:/usr/man
# echo $?
0
# man
What manual page do you want?
# echo $?
1

La cadena "dame dame dame" se puede encontrar en RHEL, OpenSUSE, Fedora, Debian y probablemente más, por lo que en realidad no es específica de una distribución. Puedes verificar greptu binario.man

Este código es responsable de la salida., añadido poreste compromiso:

src/man.c-1167- if (first_arg == argc) {
src/man.c-1168-   /* 
http://twitter.com/#!/marnanel/status/132280557190119424 */
src/man.c-1169-   time_t now = time (NULL);
src/man.c-1170-   struct tm *localnow = localtime (&now);
src/man.c-1171-   if (localnow &&
src/man.c-1172-       localnow->tm_hour == 0 && localnow->tm_min == 30)
src/man.c:1173:     fprintf (stderr, "gimme gimme gimme\n");

Me comuniqué con el soporte de RHEL sobre este problema.

La cuerda proviene de un conocidoCanción de ABBA ¡Dame! ¡Dame! ¡Dame! (Un hombre después de medianoche).


El desarrollador de man-db, Colin Watson, decidió que ya había suficiente diversión y que la historia no caería en el olvido yeliminó el huevo de pascua por completo.

¡Gracias Colin!

Respuesta3

Después de reflexionar un poco, heeliminó este huevo de Pascua. Desaparecerá en el próximo man-db 2.8.0.

Me alegro de que haya hecho sonreír a algunas personas, que después de todo era el propósito, y mis notificaciones de Twitter y demás de hoy sugieren que la mayoría de la gente pensó que era más divertido que molesto. Aun así, a algunas personas les resultó molesto, y seis años parece un período bastante bueno para ese tipo de cosas; Probablemente no obtendrá una exposición significativamente mejor de la que ya tiene inesperadamente a través de esta pregunta. Es hora de acostarlo.

información relacionada