From: Mikhail Yakshin <greycat@altlinux.org> To: ALT Devel discussion list <devel@lists.altlinux.org> Subject: Re: [devel] Maintainer's toolbox (was: I: gear-tarimport) Date: Fri, 02 Feb 2007 01:37:26 +0300 Message-ID: <45C26BA6.7060203@altlinux.org> (raw) In-Reply-To: <20070131124213.GF6627@mw.local.seiros.ru> Денис Смирнов wrote: > On Wed, Jan 31, 2007 at 01:22:15PM +0300, Mikhail Yakshin wrote: > >>> Я только за. Потому как по моему личному мнению наличие в сизифе каждого >>> пакета с именем "<firmname>..." это неявная бага. Если пакет seiros-.* >>> используется только у меня, то ему не место в сизифе. А если используется >>> не только мной, то почему бы не объединить все подобные утилиты в один >>> пакет? > MY> Ура =) Очень близкая мысль :) > > :) > > Ещё бы ты принял мою мысль о том чтобы жестоко пилить пакеты вроде spt3 и > comfort на более мелкие пакеты, и мы могли бы наконец объединить наши > усилия вместо того чтобы трепаться :) spt3 распилен, пожалуйста, смотри. Как пилить comfort - я пока не очень понимаю, предлагай. >>> Сейчас я его использую в следующем случае: >>> - rpmbb <spec> >>> - В BUILD имеем несобравшийся пакет >>> - переименовываю то что пытаюсь править в .orig и запускаю make (чтобы не >>> пересобирать весь пакет) >>> - повторяю предыдущий шаг до тех пор пока пакет не соберется >>> - ptch > 1.patch >>> - переношу этот патч в каталог с git, и либо привязываю его как новый >>> патч к пакету, либо набираю patch -p0 < 1.patch > MY> Вот, отлично, еще одна схема workflow у нас появилась :) Как бы ее > MY> проапгрейдить для git'а? Например, чтобы собираемый патч автоматически > MY> привязывался к пакету в git'е и прописывался как "PatchX: ..." и %patch > MY> что-то там? > > Ещё пока не выработалась схема по правильной работе с патчами в git. > Вообще-то они должны быть в отдельных бранчах. Хранить патчи в виде патчей > при использовании git это очень нехорошо. Значит, нам нужен как минимум обратный инструмент - который после srpmimport конвертит "Patch: ..." + "%patch-что-то-там", заводя их в git. >>> Вообще многие такие вещи имеет смысл бить на пакеты из-за очень большого >>> объема requires. > MY> Согласен. Но некий базовый workflow-пакет с разумным объемом requires > MY> IMHO имеет право на существование. > > Думаю скорее группа пакетов для разных workflow. Например gear-svnupdate > не должен лежать там же где все остальное. Потому что он хочет svn, > который не всем нужен. Нам хотя бы один базовый пока набросать %) > MY> Что бы мне лично хотелось видеть в утилите, которая собирает: > MY> 1. Возможность запуска без параметров для сборки того пакета, в > MY> директории с репозитарием которого я сейчас нахожусь. (Распространяется > MY> не только на саму директорию с .git, но и все ее поддиректории). > > Гм. Думал Виталий не будет протестовать против патча :) > > MY> 2. Возможность запуска, указав только имя пакета (пакет найдется в > MY> репозитарии $HOME/git/имя-пакета) - типа "rpmbb samba". При > MY> невозможности найти такой репозитарий должна быть выведена подсказка, > MY> какими способами заполучить такой репозитарий себе (скачать, создать, > MY> импортировать и т.п). > > Тогда вопрос о правильной схеме размещения. У меня, например, из-за обилия > пакетов структура такая: > git/ALTLinux -- там хранится все пакеты что я отправил на git.alt > git/ALTLinux/asterisk -- все связаное с астериском > git/ALTLinux/appliance -- appliance-* > и т. д. Я не представляю как это сделать пригодным для всех способом. Ok, понял, в ближайшее время сделаю такую возможность неплоского размещения пакетов. determine_package() переделаю так, чтобы он, если указан полный путь (типа "ALTLinux/asterisk/some-package") - собирал бы его, если нет - то искал бы соответствующую директорию find'ом; если найдена одна - то собирал бы оттуда; если их несколько - то ругался бы на то, что не может однозначно определить, что собирать (как rpm -e, когда под критерий подпадает >1 пакета). > MY> 5. Утилиту(ы) с единым синтаксисом для сборки в rpmbuild и hasher - > MY> отличающуюся либо суффиксом в названии (build-rpmbuild, build-hasher), > MY> либо какой-то опцией (build --engine=rpmbuild, build --engine=hasher). > MY> Второе даже предпочительнее, т.к. можно этот самый engine по умолчанию > MY> задать через конфиг, кому как удобнее. > > Сейчас так и есть с etersoft-build-utils (правда первый вариант). Так как > отличия в одной букве утилиты, это вполне приемлимо. И даже удобнее чем > второй вариант. Я понял целую одну вещь: есть 2 подхода к именованию утилит: 1. Именовать в жестком unix-style - имена из 2-3, максимум 4 букв, все аббревиативно, подобрано специально для запоминания. Типичные представители - программы из coreutils, например. Плюсы - быстро набирать, при 2-3-4 keystrokes спложно конкурировать с ними по скорости набора. Минусы - надо запоминать их все; при наличии множественных вариантов, незначительно отличающихся друг от друга, получаем сложновоспринимаемые наборы символов; надо продумывать названия так, чтобы они как можно лучше ассоциировались с какими-то действиями. 2. Именовать, надеясь на комплишен. Имена тогда значительно длиннее и максимально описательны. Возникает проблема completion space. Фактически обязательно использование completion. Как правило, вводится некий префикс наименования семейства утилит (git-*, gear-*, hsh-*, Sisyphus-*). В качестве чуть альтернативной реализации - это когда делается одна "объединяющая" утилита (как в cvs, svn, git, gem) у которой первый параметр - команда, которую надо выполнить. Удобно, если есть умный комплишен а ля zsh или bash-completions, довольно неудобно, если нет. Плюсы - наглядно, не надо запоминать практически ничего, кроме первых букв префикса. Минусы - чуть медленнее набирать, большая надежда на completion, надо продумывать так, чтобы удобно было комплитить и в completion попадали только нужные команды. Есть поклонники как одного стиля, так и другого. Поэтому, чтобы не мешать друг другу и не ломать копий - все равно это абсолютно вопрос привычки/удобства для конкретного человека - предлагаю сделать и так, и так - ровно как с опциями (-f и --force). Сделать симлинками или алиасами 2 варианта вызова - и длинный, и короткий. -- WBR, Mikhail Yakshin AKA GreyCat ALT Linux [http://www.altlinux.ru] [xmpp:greycat@altlinux.org]
next prev parent reply other threads:[~2007-02-01 22:37 UTC|newest] Thread overview: 138+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-01-24 13:47 [devel] Import cvs to git Vitaly Ostanin 2007-01-24 17:00 ` Sergey Vlasov 2007-01-25 17:05 ` [devel] I: gear-tarimport (was: Re: Import cvs to git) Aleksey Avdeev 2007-01-25 19:59 ` [devel] I: gear-tarimport Mikhail Yakshin 2007-01-25 21:19 ` Alexey I. Froloff 2007-01-25 22:59 ` Mikhail Yakshin 2007-01-26 6:44 ` Kirill Maslinsky 2007-01-26 10:57 ` Mikhail Yakshin 2007-01-27 10:10 ` Anton Farygin 2007-01-27 13:08 ` Kirill Maslinsky 2007-01-27 14:16 ` Mikhail Yakshin 2007-01-27 15:08 ` [devel] git: plumbing or porcelain Dmitry V. Levin 2007-01-27 13:47 ` [devel] I: gear-tarimport Alexey I. Froloff 2007-01-27 15:22 ` [devel] comfort Dmitry V. Levin 2007-01-27 20:48 ` [devel] [flame] было про сomfort, стало про spt Denis Medvedev 2007-01-28 17:05 ` Nick S. Grechukh 2007-01-28 18:48 ` Konstantin A. Lepikhov 2007-01-28 19:28 ` Nick S. Grechukh 2007-01-28 19:47 ` Konstantin A. Lepikhov 2007-01-28 19:52 ` Nick S. Grechukh 2007-01-28 20:06 ` Konstantin A. Lepikhov 2007-01-28 20:11 ` [devel] [flame] было про сomfort , " Hihin Ruslan 2007-01-28 20:25 ` Konstantin A. Lepikhov 2007-01-28 21:03 ` Hihin Ruslan 2007-01-28 21:29 ` Konstantin A. Lepikhov 2007-01-29 5:40 ` Hihin Ruslan 2007-01-28 21:28 ` Denis Medvedev 2007-01-28 21:41 ` Konstantin A. Lepikhov 2007-01-29 6:46 ` Denis Medvedev 2007-01-29 15:03 ` [devel] mkmar Dmitry V. Levin 2007-02-02 11:23 ` [devel] I: gear-tarimport Nick S. Grechukh 2007-01-27 13:57 ` Alexey I. Froloff 2007-01-27 14:30 ` Mikhail Yakshin 2007-01-27 14:51 ` Alexey I. Froloff 2007-01-27 15:39 ` Mikhail Yakshin 2007-01-27 17:49 ` Michael Shigorin 2007-01-27 17:57 ` Sviatoslav Sviridov 2007-01-28 15:20 ` Alexey Tourbin 2007-01-28 5:10 ` Денис Смирнов 2007-01-28 15:13 ` Mikhail Yakshin 2007-01-28 16:24 ` Alexey I. Froloff 2007-01-28 20:32 ` [devel] I: gear-tarimport (habits) Michael Shigorin 2007-01-28 21:14 ` Alexey Tourbin 2007-01-28 23:37 ` [devel] I: gear-tarimport Kirill A. Shutemov 2007-01-29 18:45 ` Денис Смирнов 2007-01-29 20:27 ` Mikhail Yakshin 2007-01-29 20:35 ` Alexey Tourbin 2007-01-29 21:32 ` Mikhail Yakshin 2007-01-29 21:45 ` Eugene Ostapets 2007-01-29 21:56 ` Alexey Tourbin 2007-01-29 21:59 ` Eugene Ostapets 2007-01-29 22:58 ` Alexey I. Froloff 2007-01-30 4:30 ` Andrey Rahmatullin 2007-01-30 12:02 ` Денис Смирнов 2007-01-30 12:00 ` Денис Смирнов 2007-01-30 11:57 ` Денис Смирнов 2007-01-30 11:55 ` Денис Смирнов 2007-01-30 12:06 ` Led 2007-01-30 12:16 ` Денис Смирнов 2007-01-30 12:43 ` Led 2007-01-30 19:55 ` Денис Смирнов 2007-01-30 22:03 ` Dmitry V. Levin 2007-01-31 9:18 ` [devel] ~/.config/ (was gear-tarimport) Led 2007-01-31 9:22 ` Eugene Ostapets 2007-01-31 9:35 ` Mikhail Yakshin 2007-01-31 9:37 ` Eugene Ostapets 2007-01-31 11:36 ` Денис Смирнов 2007-01-31 12:24 ` Mikhail Yakshin 2007-01-31 12:46 ` Денис Смирнов 2007-01-31 13:01 ` Mikhail Yakshin 2007-01-31 14:11 ` Денис Смирнов 2007-02-02 19:06 ` Kirill Maslinsky 2007-02-02 23:20 ` Денис Смирнов 2007-01-31 13:13 ` Sergey Vlasov 2007-01-31 18:02 ` Alexey I. Froloff 2007-01-31 9:48 ` Led 2007-01-31 9:57 ` Damir Shayhutdinov 2007-01-31 10:05 ` Eugene Ostapets 2007-01-31 10:21 ` Damir Shayhutdinov 2007-01-31 10:30 ` Eugene Ostapets 2007-01-31 10:43 ` Led 2007-01-31 10:43 ` Mikhail Yakshin 2007-01-31 10:47 ` Eugene Ostapets 2007-01-31 10:56 ` Led 2007-02-03 6:46 ` Vitaly Lipatov 2007-01-31 11:38 ` Денис Смирнов 2007-01-31 11:41 ` Led 2007-01-31 11:42 ` Денис Смирнов 2007-01-31 11:49 ` Dmitry V. Levin 2007-01-31 12:26 ` Mikhail Yakshin 2007-01-31 12:43 ` Денис Смирнов 2007-01-31 12:54 ` Damir Shayhutdinov 2007-01-31 14:09 ` Денис Смирнов 2007-01-31 14:22 ` Damir Shayhutdinov 2007-01-31 14:24 ` Damir Shayhutdinov 2007-01-31 15:17 ` Денис Смирнов 2007-01-31 15:16 ` Денис Смирнов 2007-01-31 15:27 ` Damir Shayhutdinov 2007-01-31 16:30 ` Денис Смирнов 2007-01-31 16:37 ` Damir Shayhutdinov 2007-01-31 16:45 ` Денис Смирнов 2007-01-31 16:48 ` Damir Shayhutdinov 2007-01-31 17:09 ` Денис Смирнов 2007-01-31 12:59 ` Led 2007-01-31 14:08 ` Денис Смирнов 2007-01-31 14:28 ` Mikhail Yakshin 2007-01-31 15:14 ` Денис Смирнов 2007-01-31 16:37 ` Денис Смирнов 2007-01-31 10:06 ` Led 2007-01-31 9:59 ` Eugene Ostapets 2007-01-31 11:34 ` Денис Смирнов 2007-01-31 11:33 ` Денис Смирнов 2007-01-31 9:33 ` [devel] I: gear-tarimport Mikhail Yakshin 2007-01-31 9:55 ` Mikhail Gusarov 2007-01-31 10:04 ` Mikhail Gusarov 2007-01-31 10:33 ` Mikhail Yakshin 2007-01-31 10:40 ` Eugene Ostapets 2007-01-30 11:55 ` Денис Смирнов 2007-01-30 12:04 ` Led 2007-01-31 10:22 ` Mikhail Yakshin 2007-01-31 12:42 ` Денис Смирнов 2007-02-01 22:37 ` Mikhail Yakshin [this message] 2007-02-01 23:58 ` [devel] Maintainer's toolbox (was: I: gear-tarimport) Денис Смирнов 2007-02-02 9:21 ` [devel] Maintainer's toolbox Mikhail Yakshin 2007-02-02 10:16 ` Michael Shigorin 2007-02-02 15:16 ` Mikhail Yakshin 2007-02-03 21:29 ` [devel] [JT] " Michael Shigorin 2007-02-02 14:59 ` [devel] " Денис Смирнов 2007-02-02 15:31 ` Mikhail Yakshin 2007-02-09 0:47 ` Денис Смирнов 2007-01-27 15:10 ` [devel] I: gear-tarimport Mikhail Gusarov 2007-02-02 11:21 ` Led 2007-01-27 18:32 ` Alexey I. Froloff 2007-01-28 14:44 ` Mikhail Yakshin 2007-01-27 11:54 ` Aleksey Avdeev 2007-01-27 12:54 ` Mikhail Yakshin 2007-01-27 13:07 ` Aleksey Avdeev 2007-01-25 18:34 ` [devel] Import cvs to git Sergey Vlasov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=45C26BA6.7060203@altlinux.org \ --to=greycat@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git