LINUX.ORG.RU
ФорумTalks

Какая же жесть в GNU-тых проектах, простите

 , ,


1

1

Простите, но у меня сгорела жопа.

Итак, binutils.

$ find . -name NEWS
./gold/NEWS
./gas/NEWS
./ld/NEWS
./binutils/NEWS
./libctf/NEWS
  • В релиз нотах нет даты выхода релиза. Хер бы с ней, но напоминаю: на сайте этой инфы тоже нигде нет. Иди гугли мейл-листы.
  • У gold собственная система нумерации релизов, не совпадающая с нумерацией проекта. А почему бы и нет?
  • В распределении сорцов по каталогам хаос, ничего похожего на адекватную структуру и близко нет. Вали всё кучей, в 1980-м люди экономят время на cd.
  • Никакого внятного мануала по сборке из сорцов и по требованиям к системе нет в info-документации. В корневом ./README тоже нет. Внезапно крохи информации есть в файле ./binutils/README. А чо не в ./binutils/I/fukin/love/weird/places/README? Удачи грепать сборочные конфиги, если что-то пошло не так:
$ find . -name configure.ac | xargs wc -cl
   711  22977 ./gold/configure.ac
    80   2528 ./gprof/configure.ac
   239   6841 ./gprofng/configure.ac
    68   1959 ./gprofng/libcollector/configure.ac
  1109  44906 ./bfd/configure.ac
  1053  30229 ./gas/configure.ac
   680  20278 ./ld/configure.ac
   558  15835 ./binutils/configure.ac
  3683 117906 ./configure.ac
   297  11115 ./libctf/configure.ac
   791  22529 ./libiberty/configure.ac
   397  13662 ./opcodes/configure.ac
    77   2355 ./intl/configure.ac
   131   3452 ./zlib/configure.ac
    32    787 ./zlib/contrib/minizip/configure.ac
★★

Последнее исправление: wandrien (всего исправлений: 4)

Ответ на: комментарий от snizovtsev

Это всё прекрасно абстрагируется системами сборки. Проприетарный MS компилятор всё ещё жив и у него флаги совсем другие про сравнению с GCC и ничего.

X512 ★★★★★
()

Ты в сырцы загляни. Моя любимая фишка – гнутый /bin/true может выдать false.

https://github.com/coreutils/coreutils/blob/master/src/true.c

#include <config.h>
#include <stdio.h>
#include <sys/types.h>
#include "system.h"

/* Act like "true" by default; false.c overrides this.  */
#ifndef EXIT_STATUS
# define EXIT_STATUS EXIT_SUCCESS
#endif

#if EXIT_STATUS == EXIT_SUCCESS
# define PROGRAM_NAME "true"
#else
# define PROGRAM_NAME "false"
#endif

#define AUTHORS proper_name ("Jim Meyering")

void
usage (int status)
{
  printf (_("\
Usage: %s [ignored command line arguments]\n\
  or:  %s OPTION\n\
"),
          program_name, program_name);
  printf ("%s\n\n",
          _(EXIT_STATUS == EXIT_SUCCESS
            ? N_("Exit with a status code indicating success.")
            : N_("Exit with a status code indicating failure.")));
  fputs (HELP_OPTION_DESCRIPTION, stdout);
  fputs (VERSION_OPTION_DESCRIPTION, stdout);
  printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME);
  emit_ancillary_info (PROGRAM_NAME);
  exit (status);
}

int
main (int argc, char **argv)
{
  /* Recognize --help or --version only if it's the only command-line
     argument.  */
  if (argc == 2)
    {
      initialize_main (&argc, &argv);
      set_program_name (argv[0]);
      setlocale (LC_ALL, "");
      bindtextdomain (PACKAGE, LOCALEDIR);
      textdomain (PACKAGE);

      /* Note true(1) will return EXIT_FAILURE in the
         edge case where writes fail with GNU specific options.  */
      atexit (close_stdout);

      if (STREQ (argv[1], "--help"))
        usage (EXIT_STATUS);

      if (STREQ (argv[1], "--version"))
        version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS,
                     (char *) NULL);
    }

  return EXIT_STATUS;
}

Сравни этот ад с кодом из OpenBSD (https://github.com/openbsd/src/blob/master/usr.bin/true/true.c):

int
main(int argc, char *argv[])
{
	return (0);
}
hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

гнутый /bin/true может выдать false

«Я вся такая внезапная»

Слушайте, а может, весь GNU это не более чем саботаж?

alex1101
()
Ответ на: комментарий от alex1101

Слушайте, а может, весь GNU это не более чем саботаж?

GNU – это рак мозга и диета из мозолей. Сам фонд давно уже превратился в посмешище, спящее в одной кровати с жирными конторками типа гугла. А Штальман – в клоуна.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)

собственная система нумерации релизов, не совпадающая с нумерацией проекта

Напомнило мне, что я распечатал клиентам акт в бизнес-паке, а он отличается от номера счёта и у меня паника, что делать? 😄😄 Типо я что, кому-то не выписал акт, шьёрт, а як же их бухгалтерия?...

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 3)

Ты бы видел что с организацией дорожного движения творится... Видел когда-нибудь «круговой перекрёсток», которого ты касаешься по касательной, двигаясь НАВСТРЕЧУ? Да, лять, к двустороннему прилепили «круг» и понаставили светофоры. МНОГО СВЕТОФОРОВ. Видел такое где-то в Пятигорске или рядом. Это люди, привыкай. Люди не понимают что и зачем они делают. Они просто делают.

targitaj ★★★★★
()

Именно такое у меня было взаимодействие с этим же binutils, как ты описал.

Более того, чтобы законтрибутить туда что-то, надо подписывать CLA и отправлять в FSF. Но вот детальной информации о том как оформлять патчи нет.

a1ba
()
Ответ на: комментарий от hateyoufeel

Угу, а false.c инклудит true.c – да-да, вы не ослышались! Вот false.c целиком:

#define EXIT_STATUS EXIT_FAILURE
#include "true.c"
Rootlexx ★★★★★
()
Ответ на: комментарий от wandrien

не осилившие shell

shell отвратителен, ящитаю

hateWin ★☆
()

Скажи спасибо, что NEWS вообще есть. Мне как-то пришлось для дела выгрести из гита полтора года коммитов в проект, чтобы понять изменения. Потому что «ну мы тут чё-то выпустили, вот, пользуйтесь, нужен список изменений – читайте гит лог». Это просто низкая культура software development. Как говорит один мой знакомый про таких персонажей, «ты программист хороший, но разработчик херовый».

AP ★★★★★
()
Последнее исправление: AP (всего исправлений: 1)
Ответ на: комментарий от wandrien

тут вот эта жопа

случилась очередная жопа

уехать жить в деревню

Ты удивишься…

buddhist ★★★★★
()
Ответ на: комментарий от hateyoufeel

Это платина. Напомнило приколы с написанием fuzzbuzz самым сложным способом.

ox55ff ★★★★★
()
Ответ на: комментарий от wandrien

Ну да, будут лисперы писать сишный код руками? Не верю!

bread
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)