Статьи Галерея Форум Чат Файлы HowTo Ссылки Поиск
Текущее время: 21 ноя 2019, 12:44




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: 25 янв 2010, 12:56 
Заглянувший

У нас с: 25.01.2010
Сообщения: 5
То есть мне нечто не нравится в cp и я решил её поправить. Для нечала решил увидеть её исходник и просто компильнуть.

(Почему cp.c добываетсяв купе со ВСЕМ ПАКЕТОМ coreutils (apt-get sources coreutils) и почему его по умолчанию нет на моём компе- это отдельный вопрос. Может, я что не так понял, но скромный cp.c мне иначе добыть не удалось)

Итак, в недрах скачанного coreutils нашёл-таки cp.c
Пишу

Код:
gcc cp.c


...После всего этого умные ребята назвали меня лохом и дали кучу ссылок на английском. Типа этих
http://en.wikipedia.org/wiki/Configure_%28computing%29
Чтобы я лишний раз убедился в том, что с подобными пакетами можно работать ЕДИНСТВЕННЫМ ПРАВИЛЬНЫМ СПОСОБОМ ./configure && make && make install.
...Ну, собсно всё. То есть у меня есть исходник и вроде как и всё. Теоретически, я его конечно, могу поправить, но после этогоо мне надо будет выполнить три последних указанных команды ДЛЯ ВСЕГО ПАКЕТА и только после этого тестировать. Несерьёзно.

...Я, грешник, надеялся увидеть папку cp c файлом cp.c примерно такого содержания:
(самый примитив, программа для копирования файлов)

Код:
#include <stdio.h>

int main (int argc, char* argv []) {
 
 int c;

 //ОТкрываем файл-источник
 FILE * fp_istocnik;
 if (!(fp_istocnik= fopen (argv [1], "r"))) {
  printf ("файл-источник не открыт\n");
  return 0;
 }

 //Открываем файл-адресат
 FILE * fp_adresat;
 if (!(fp_adresat= fopen (argv [2], "w"))) {
  printf ("файл-адресат не открыт\n");
  return 0;
 }

 //Копируем файлы
 do {
  c= fgetc (fp_istocnik);
  if (c!= EOF)
   fputc (c, fp_adresat);
 }
 while (c!= EOF);


 //Конец работы
 fclose (fp_istocnik);
 fclose (fp_adresat);

 return 0;
}



С которым я бы спокойно работал, как и привык. И компилил бы gcc cp.c а не иначе. Возможно ли это? Спасибо.

_________________
Как я люблю Windows!


Вернуться к началу
 Не в сети Профиль  
 
СообщениеДобавлено: 25 янв 2010, 13:34 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 06.02.2002
Сообщения: 9760
Откуда: Менск
neuch, конечно! Никто не мешает вам написать свой собственный cp с преферансом и гимназистками и использовать его вместо системного. Существующая реализация cp из coreutils таки сделана в расчете на использования GNU autotools и вам придется с этим мирится :)

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Вернуться к началу
 Не в сети Профиль  
 
СообщениеДобавлено: 25 янв 2010, 16:05 
Заглянувший

У нас с: 25.01.2010
Сообщения: 5
Абсолютно неинформтаивное сообщение.
Я спрашивал- как изменить исходник?
Можно, не можно, трудно, не трудно. Почувствовал же только укол- типа я выскочка.

...Если никак нельзя- вся открытость линуксоидного ПО- понты, расчитанные, действительно, хе, на гимназисток.

_________________
Как я люблю Windows!


Вернуться к началу
 Не в сети Профиль  
 
СообщениеДобавлено: 25 янв 2010, 18:08 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 30.08.2002
Сообщения: 2339
Откуда: Minsk
neuch писал(а):
Абсолютно неинформтаивное сообщение.
Я спрашивал- как изменить исходник?


Откройте своим любимым текстовым редактором, внесите изменения, сохраните и скомпилируйте.

neuch писал(а):
...Если никак нельзя- вся открытость линуксоидного ПО- понты, расчитанные, действительно, хе, на гимназисток.


Да пожалуй. Надо в GPLv4 добавить специальный параграф, запрещающий авторам программ использовать любые сборочные системы и все библиотеки, кроме GNU libc.

Напишу вечером в FSF. Это нельзя так оставлять. Бардак.


Вернуться к началу
 Не в сети Профиль  
 
СообщениеДобавлено: 25 янв 2010, 18:16 
Неотъемлемая часть форума

У нас с: 10.03.2002
Сообщения: 285
Откуда: Minsk
Можно попробовать

Код:
make path/to/executable/output/cp


Может сработать, но негарантировано.

А вообще-то дурацкая претензия. Из разряда "Загрузил .dsp/.dsw/.vcproj/.sln в студию, как сделать чтобы любой файл по выбору компилился в ехе-шник, а не в объектник, по правому клику мышкой? Никак? Ну, где эта ваша user-friendliness..."


Вернуться к началу
 Не в сети Профиль  
 
СообщениеДобавлено: 25 янв 2010, 18:22 
Заглянувший

У нас с: 25.01.2010
Сообщения: 5
Нет, подождите, подождите.
Объясните, пожалуйста, как по-другому компилить исходники?
Код:
gcc cp.c
отпадает, я правильно понял?

ПОкажите другой способ, пусть он более трудоёмкий, но пусть он будет.
Так ведь нет его!
Можно ./configure && make && make install., так я повторюсь, это я ВЕСЬ ПАКЕТ буду обрабатывать!
Это правильно, по-вашему?

...И хоть убей не пойму, почему простая рабочая команда gcc cp.c неприемлема. Я не гор золотых прошу, и никаких таких претензий особых не высказываю. А прошу того, что здесь написано:
http://rsync.altlinux.ru/pub/people/kir ... spect.html
"Свободный доступ к исходным текстам ПО, следовательно, эти исходные тексты можно исправлять, если найдена ошибка"

Ссылка, может не очень убедительная, но не будет еже вы спорить с последним утверждением?
Если никто и никогда не правит исходники, на хрена тогда нужны эти открытые коды- всем вопрос? ЕСли нельзя изменить и скомпильнуть? Зато все говорят- понлый контроль над системой.. Ну, и где он полный?

_________________
Как я люблю Windows!


Вернуться к началу
 Не в сети Профиль  
 
СообщениеДобавлено: 25 янв 2010, 18:36 
Неотъемлемая часть форума

У нас с: 10.03.2002
Сообщения: 285
Откуда: Minsk
neuch писал(а):
Можно ./configure && make && make install., так я повторюсь, это я ВЕСЬ ПАКЕТ буду обрабатывать!
Это правильно, по-вашему?


./configure можно 1 раз.
make install вообще не нужно.
make, конечно, "обработает весь пакет", но перекомпилирует только то, что было изменено.

neuch писал(а):
...И хоть убей не пойму, почему простая рабочая команда gcc cp.c неприемлема.


Потому что обычно make передаёт gcc несколько больше параметров, чем "cp.c". Передавай и ты их, если уж так настаиваешь.

neuch писал(а):
никаких таких претензий особых не высказываю.


Думаю, многие здесь не согласятся.

neuch писал(а):
А прошу того, что здесь написано:
http://rsync.altlinux.ru/pub/people/kir ... spect.html
"Свободный доступ к исходным текстам ПО, следовательно, эти исходные тексты можно исправлять, если найдена ошибка"
Ссылка, может не очень убедительная, но не будет еже вы спорить с последним утверждением?


Это что было? Попытка пошутить, потроллить или права покачать? Осторожней с этим, тут быстро по всем этим 3 направлениям обламывают.

neuch писал(а):
ПОкажите другой способ, пусть он более трудоёмкий, но пусть он будет.


Подсмотри, как make вызывает gcc для компиляции cp. Потом можешь вручную эту команду сам вызывать. Или в скрипт-однострочник записать.


Вернуться к началу
 Не в сети Профиль  
 
СообщениеДобавлено: 25 янв 2010, 19:35 
Заглянувший

У нас с: 25.01.2010
Сообщения: 5
Lynxer писал(а):
Подсмотри, как make вызывает gcc для компиляции cp. Потом можешь вручную эту команду сам вызывать. Или в скрипт-однострочник записать.


А ну вот, совсем другое дело. Из-за этого одного стоило огород городить
Теперь мне по крайней мере понятно, почему может не срабатывает gcc cp.c Просто у меня мало опыта, кодил я в винде, там хотя и стоит gcc, но дело это автоматизировано (DEV C++ 4.9.9.2) и я не сталкивался с ручной компиляцией, а в линукс только так и писал: утилита имя файла, совсем упустил как-то, что компиляция посложнее может быть! Вот что значит отсутствие опыта

Ну да, то есть щас списать скрипт и пихать туда эту всю свадьбу. Всё вперёд. Ещё раз: главное, я понял, что компиляция моет быть много сложнее чем gcc cp.c Вроде просто, но бы Вы мне этого не сказали, мне никто бы этого не сказал.

Ну с остальным (./confige и makeinstall) буду разбираться
...Признаться не понял, почему я тролль. Может, у вас что не так открылось? Цитата, подтверждающие мои слова о возможнности изменения кода на вполне безобидном ЗАлинуксоидном сайте. То есть он не против линукс, а за.

Спасибо, буду пытаться.

_________________
Как я люблю Windows!


Вернуться к началу
 Не в сети Профиль  
 
СообщениеДобавлено: 25 янв 2010, 23:23 
Администратор
Аватара пользователя

У нас с: 09.09.2001
Сообщения: 1338
neuch, начинаю придираться к словам. Вы спрашиваете: "как изменить исходники"? Как вам уже написал многоуважаемый товарищ mend0za, берем любой текстовый редактор по выбору, открываем в нем вами с трудом добытый исходник, редактируем до опупения, сохраняем. Исходник изменился? Попробуйте сказать, что нет.

Теперь относительно "Свободный доступ к исходным текстам ПО, следовательно, эти исходные тексты можно исправлять, если найдена ошибка". Вы исходники смогли скачать? Платить за них не пришлось? Значит, доступ свободный. Исправить вышеуказанным способом наверняка тоже получится, вполне себе свободно.

Вам надо из исходника бинарь получить? Ну так будьте добры использовать то, чем пользовались авторы. Не хочется? Так вы вольны использовать gcc самостоятельно. Ему (gcc) чего-то не хватает? Ну так и вы наверное компилируете не просто C-файл из трех с половиной строк. Что ж поделаешь, что авторы coreutils оказались настолько неумехами, что утилита cp у них получилась больше вашей. Может, они туда решили "пасхальных яиц" напихать. Ну так это их право, как авторов, в конце концов писать что захотят, на чем захотят, и какими угодно им самим утилитами. У вас же свобода выбора: не нравится этот cp - найдите другой, или напишите свой. Не вижу проблемы.

Ответ на вопрос получен?

_________________
usually I'm kind


Вернуться к началу
 Не в сети Профиль Личный альбом  
 
СообщениеДобавлено: 26 янв 2010, 10:06 
Фанатеющий

У нас с: 04.11.2008
Сообщения: 152
neuch писал(а):
Нет, подождите, подождите.
Объясните, пожалуйста, как по-другому компилить исходники?
Код:
gcc cp.c
отпадает, я правильно понял?

ПОкажите другой способ, пусть он более трудоёмкий, но пусть он будет.
Так ведь нет его!
Можно ./configure && make && make install., так я повторюсь, это я ВЕСЬ ПАКЕТ буду обрабатывать!
Это правильно, по-вашему?

...И хоть убей не пойму, почему простая рабочая команда gcc cp.c неприемлема. Я не гор золотых прошу, и никаких таких претензий особых не высказываю. А прошу того, что здесь написано:
http://rsync.altlinux.ru/pub/people/kir ... spect.html
"Свободный доступ к исходным текстам ПО, следовательно, эти исходные тексты можно исправлять, если найдена ошибка"

Ссылка, может не очень убедительная, но не будет еже вы спорить с последним утверждением?
Если никто и никогда не правит исходники, на хрена тогда нужны эти открытые коды- всем вопрос? ЕСли нельзя изменить и скомпильнуть? Зато все говорят- понлый контроль над системой.. Ну, и где он полный?


Раз все говорят, может стоит задуматься?


Вернуться к началу
 Не в сети Профиль  
 
СообщениеДобавлено: 26 янв 2010, 18:38 
Заглянувший

У нас с: 25.01.2010
Сообщения: 5
X-Stranger писал(а):
Ответ на вопрос получен?
Ответ на вопрос был получен вчера. Так что поздно вы затеяли реагировать.
...А что я, собсно, делал не так, как вы сказали? Ну да, я не последовал чуши многоуважаемого мендозы и вашей тоже- не правил до опупения исходники- ах-ах, как остроумно.

...А то, что я не знал, как ДЕЙСТВИТЕЛЬНО правильно и грамотно это сделать- так мне остаётся только руками развести. Я чисто и честно говорю: я не знал и сам бы не догадался- глаз был замылен на автоматической компиляции. Вчера мне сказал Lynxer, теперь я знаю. Всё? Всё. И вчера было всё, по-моему, я чётко это дал понять. Поблагодарил. Что ещё? Или что, тут принято так- после каждого полученного ответа выволочки устраивать?

X-Stranger писал(а):
neuch, начинаю придираться к словам.
я сам ничего не придумал?

Ну, дело ваше.

_________________
Как я люблю Windows!


Вернуться к началу
 Не в сети Профиль  
 
СообщениеДобавлено: 28 янв 2010, 16:58 
Администратор
Аватара пользователя

У нас с: 09.09.2001
Сообщения: 1338
neuch, молодец :)

Тему закрываю и оставляю. Будет в качестве примера, как не надо задавать вопросы и реагировать на ответы.

_________________
usually I'm kind


Вернуться к началу
 Не в сети Профиль Личный альбом  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 12 ] 


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
[ All resources are available under GNU GPL ] [ Support ] [ Hosted by DataHata | MyCloud.by ] [ Powered by phpBB® Forum Software © phpBB Group ]

LVEE Winter LVEE Rambler's Top100