И еще про эти ваши линуксы
Я ж забыл написать, зачем мне была копипаста в линуксовых редакторах: http://metaclass.livejournal.com/679287.html
В общем, я тут пытаюсь сделать софтину для программирования через RS232 одной железяки, причем я хочу в целях сушения мозга сделать ее под линукс. Но линукса в приемлемом виде у меня нигде нет - в основном виртуалки, удаленные сервера, почти нигде нет иксов, итд. И соответственно, я пытаюсь в виртуалке с ubuntu 10.04 lts для начала подключится к железяке терминалом. А rs232 там реализован в виде CP210x usb-rs232 адаптера и само-собой, от входа оно нихрена не заработало.
Чтобы заработало - пришлось качать исходники ядра, исправлять модуль драйвера этого чипсета, пересобирать и грузить новый модуль: http://pharos.ece.utexas.edu/wiki/index.php/Fixing_the_cp210x_open_-_Unable_to_enable_UART_Error_-_04/17/2011
Внутри драйвера какие-то ненатуралы поставили таймаут 300 мс на usb операции, причем захардкодили его в каждом вызове. Я сделал константу на нормальный таймаут и стал заменять все хардкодед значения на имя этой константы, а автозаменой там не сделаешь, потому что 300 встречается и само по себе, безотносительно таймаута. Ну и вспомнил типичное линукс вуду с клипбоардом, который в каждой проге сам по себе.
PS: И да, ядро пришлось обновить, иначе с тем linux-source что были в репе, собирался модуль, не подходящий для используемого ядра.
В общем, я тут пытаюсь сделать софтину для программирования через RS232 одной железяки, причем я хочу в целях сушения мозга сделать ее под линукс. Но линукса в приемлемом виде у меня нигде нет - в основном виртуалки, удаленные сервера, почти нигде нет иксов, итд. И соответственно, я пытаюсь в виртуалке с ubuntu 10.04 lts для начала подключится к железяке терминалом. А rs232 там реализован в виде CP210x usb-rs232 адаптера и само-собой, от входа оно нихрена не заработало.
Чтобы заработало - пришлось качать исходники ядра, исправлять модуль драйвера этого чипсета, пересобирать и грузить новый модуль: http://pharos.ece.utexas.edu/wiki/index.php/Fixing_the_cp210x_open_-_Unable_to_enable_UART_Error_-_04/17/2011
Внутри драйвера какие-то ненатуралы поставили таймаут 300 мс на usb операции, причем захардкодили его в каждом вызове. Я сделал константу на нормальный таймаут и стал заменять все хардкодед значения на имя этой константы, а автозаменой там не сделаешь, потому что 300 встречается и само по себе, безотносительно таймаута. Ну и вспомнил типичное линукс вуду с клипбоардом, который в каждой проге сам по себе.
PS: И да, ядро пришлось обновить, иначе с тем linux-source что были в репе, собирался модуль, не подходящий для используемого ядра.
no subject
vi
на виртуалке все-таки был? Тогда открываете и пишете::%s/300/3000/gc
Спросит подтверждение для каждой замены.
no subject
Можно так
:arg **/*.c
:argdo s/300/CONSTANT/c
("с" значит подтверждать каждую замену)
no subject
no subject
no subject
no subject
(Anonymous) 2012-04-19 05:01 pm (UTC)(link)Про копипасту. Я просто делаю Ctrl+C и Ctrl+V Не использую vim и emacs. Надо понимать, что как бы они круты небыли (я всё еще надеюсь начать использовать vim), они использовались в другое время и в других условиях. VI всё еще актуален на тупых линках. Но он постепенно вымирает.
no subject
Впрочем, раз уж я занимаюсь всем этим безумием, можно заодно и в этом разобраться.
no subject
1. Правишь. В данном случае всё тривиально: заменить 300 в вызовах usb_control_msg() на USB_CTRL_SET_TIMEOUT.
2. Билдишь, проверяешь что всё ok.
3. Коммитишь с -s (что б получить Signed-off-by: ...) и пишешь вразумительный commit message.
4. git format-patch -1
5. ./scripts/checkpatch.pl
6. ./scripts/get_maintainer.pl
7. засылаешь людям/спискам из вывода предыдущей команды с помощью git send-file или любимого mail клиента (предварительно убедившись, что он не делает с патчами чего-то странного). Можешь сделать на меня CC - kirill (at) shutemov.name.
8. Реагируешь на feedback.
9. ???
10. PROFIT!
См. Documentation/SubmittingPatches Documentation/SubmitChecklist
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
Записать макрос qr
Проиграть макрос @r
Макрос dwiМАЯ_КАНСТАНТА
Потом ищешь по 300 до конца файла, следующий файл -- :wn
no subject
no subject
Потом начинаешь копать - ба, так они же серьезного просто ничего не делали.
no subject
Потому как thunderbird превращает табы в патче в пробелы и прочую тыкву.
no subject
В Documentation/email-clients.txt написано как заставить тот или иной клиент вести себя по человечески.
Мне лично git send-email удобней.
no subject
Конечно проще делать пространные заявления - ба, один Кахес специалист. Остальные ничего никогда не делали.
no subject
no subject
no subject
no subject
no subject
no subject
userver:~$ git send-email
git: 'send-email' is not a git command. See 'git --help'.
no subject
no subject
no subject
no subject
no subject
no subject