LINUX.ORG.RU

Как вылечить исходники ядра после установки времени на 2052 год?

 ,


0

1

Взбесился rtc при сбое гибернации (на этот раз на десктопе).
Не зная этого, я пересобрал ядро. Теперь оно ругается:
make[1]: Предупреждение: Время изменения файла `include/config/auto.conf' находится в будущем (1208655574)
make[1]: предупреждение: Неправильный ход часов. Сборка может быть неполной.
Ждать 2052 года не хочется. clean не помог. Как вылечить исходники?

★★★★★

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

Там вообще-то не один файл. Рекурсивной обработки touch не поддерживает. Предлагаете костыльно трогать через find? Неужели в GNUMake не предусмотрена коррекция timestamp'ов?
Прочитал man: есть make -t, но он не помог.

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

Предлагаете костыльно трогать через find

Скрипт напиши. Это юникс, детка.

Zhbert ★★★★★
()

Скачать исходники ядра, снять дифф между вашим деревом исходников и теми что скачали, наложить патч на новые исходники,собирать их?

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

Предлагаете костыльно трогать через find?

Да вы уже зажрались, господин! Юникс-вей же.

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

Предлагаете костыльно трогать через find?

Разрешаю использовать рекурсивный глоббинг.

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

Предлагаете костыльно трогать через find? Неужели в GNUMake не предусмотрена коррекция timestamp'ов?

У вас очень странное представление о костыльном и некостыльном. GNUMake не Microsoft Word, с чего он должен уметь коррекцию timestamp'ов?

satanic-mechanic
()
Ответ на: комментарий от mittorn

Рекурсивной обработки touch не поддерживает.

find /usr/src/linux -exec touch {} \;
quest ★★★★
()
Ответ на: комментарий от mittorn

Просто думал, что уже есть готовое решение.

find и есть готовое решение за пару секунд

quest ★★★★
()

Интересно, что же это Make не хочет собирать файлы из будущего? Неуважение к ЛОРовцам и машине времени, однако.

Falcon-peregrinus ★★★★★
()
Ответ на: комментарий от Suntechnic

проигнорировать timestamp мог бы.

Он почти так и делает.

true_admin ★★★★★
()
Ответ на: комментарий от no-such-file

а чем это лучше?

Кстати, в целях оптимизации лучше убрать "-type f". От touch на каталог вреда не будет, зато это уберёт вызовы stat() для каждого файла.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от no-such-file

Если быть точнее, позволяет избежать создания процесса touch'а на каждый файл.

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

Предлагаете костыльно трогать через find?

Вы правы, здесь ничто не заменит RecursiveTouch 2014 Enterprise Edition скачать бесплатно без смс торрент лекарство кряк.

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

Что значит проигнорировать? Его работа ОСНОВАНА на таймстампах!

Иметь ключ который бы заставлял считать все таймстампы в будущем равными date он мог бы. Так понятнее?

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

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

svu ★★★★★
()
Ответ на: комментарий от no-such-file

Принимается:

$ for i in `seq 1 100`; do mkdir $i; > $i/penis.txt; done
$ time find . -type f -exec touch {} \;

real	0m0.086s
user	0m0.000s
sys	0m0.016s

$ time find . -type f -print0 |xargs -0 touch 

real	0m0.009s
user	0m0.000s
sys	0m0.008s

Каждый find делался по 3 раза (чтобы исключить влияние кеширования), результат идентичный.

DELIRIUM ☆☆☆☆☆
()
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от mittorn

Поговорку про сломанный стеклянный член все знают?

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

сам ты идентичный!

у тебя разница почти на порядок! А реальная разница - в количестве итоговых вызовов утилиты touch (в твоём примере - на два порядка).

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

короче говоря, вместо сотни файлов проведи тот же опыт на сотне тысяч, и всё увидишь.

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

Всмысле заглушить вывод warning-ов? Если что я собирал ядро в такой конфигурации - особых проблем не заметил(хотя они могли быть, на то и предупреждения).

Pinkbyte ★★★★★
()
Ответ на: комментарий от no-such-file

find . -type f -print0 |xargs -0 touch

find . -type f -exec touch {} +

Починил твое «Починил твое «починил»»

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

У меня ядро упорно использовало старую конфигруацию.

mittorn ★★★★★
() автор топика
Ответ на: комментарий от yoghurt

Что не тка? Поставил бы правильную дату и применил ко всем файлам

ZenitharChampion ★★★★★
()
Ответ на: сам ты идентичный! от anonymous

в чем проблема-то? Я же признал, что твой вариант быстрее. Результат идентичный в плане того, что я по три раза прогнал тест и каждый раз результат с xargs был быстрее, просто я не стал все результаты сюда постить, а запостил только один.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от UVV

Да и за виртуала по жопе получишь же.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.