ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Addenda to /etc/profile.d
@ 2001-06-01  0:19 Alexander Bokovoy
  2001-06-01  6:42 ` Mikhail Zabaluev
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Alexander Bokovoy @ 2001-06-01  0:19 UTC (permalink / raw)
  To: devel

Подумалось тут, а не добавить ли следующие BASH-ориентированные функции в
/etc/profile.d:
1. В /etc/profile.d/cvs.sh можно было бы добавить функции для быстрого
доступа в уже имеющиеся на диске репозитарии:

# Обновление репозитария
# Использование: cvsgetx имя_репозитария (в текущем каталоге)
function cvsgetx {
    cvs -d `cat $1/CVS/Root ` -z6 get $@
}

# Обновление из конкретной ветки репозитария
# Использование: cvsbranch НАЗВАНИЕ_ВЕТКИ имя_репозитария
function cvsbranch {
    cvs -d `cat $2/CVS/Root ` -z6 get -r $@
}

# Отправка данных в репозитарий
# Использование: cvscommit
function cvscommit {
    cvs -d `cat ./CVS/Root ` -z6 commit
}

Удобство этих функций в том, что не надо устанавливать CVSROOT и помнить
его для разных репозитариев.

2. Добавить /etc/profile.d/bugreport.sh:

# Выдать список пакетов, от которых зависит требуемый пакет
# Использование: pkgdepend имя_пакета
function pkgdepend() {
  DATA=
  for i in `rpm -q --requires $1|cut -d ' ' -f 1` ; do
    DATA="$DATA `rpm -q --whatprovides $i`"
  done
  echo $DATA | tr ' ' '\n' | sort -u | uniq -u
}

В дальнейшем в этот файл можно добавлять и другие функции.
-- 
Sincerely yours, Alexander Bokovoy 
  The Midgard Project    | ALT  Linux  Team | Minsk Linux Users Group
 www.midgard-project.org | www.altlinux.ru  |    www.minsk-lug.net 
-- You won't skid if you stay in a rut.
		-- Frank Hubbard
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] Addenda to /etc/profile.d
  2001-06-01  0:19 [devel] Addenda to /etc/profile.d Alexander Bokovoy
@ 2001-06-01  6:42 ` Mikhail Zabaluev
  2001-06-01  6:45   ` Alexander Bokovoy
  2001-06-01  8:10 ` Dmitry V. Levin
  2001-06-01 18:53 ` Sergey Vlasov
  2 siblings, 1 reply; 8+ messages in thread
From: Mikhail Zabaluev @ 2001-06-01  6:42 UTC (permalink / raw)
  To: devel

Hello Alexander,

On Fri, Jun 01, 2001 at 03:19:07AM +0300, Alexander Bokovoy wrote:
>
> Подумалось тут, а не добавить ли следующие BASH-ориентированные функции в
> /etc/profile.d:
> 1. В /etc/profile.d/cvs.sh можно было бы добавить функции для быстрого
> доступа в уже имеющиеся на диске репозитарии:
> 
> # Обновление репозитария
> # Использование: cvsgetx имя_репозитария (в текущем каталоге)
> function cvsgetx {
>     cvs -d `cat $1/CVS/Root ` -z6 get $@
> }
> 
> # Обновление из конкретной ветки репозитария
> # Использование: cvsbranch НАЗВАНИЕ_ВЕТКИ имя_репозитария
> function cvsbranch {
>     cvs -d `cat $2/CVS/Root ` -z6 get -r $@
> }
> 
> # Отправка данных в репозитарий
> # Использование: cvscommit
> function cvscommit {
>     cvs -d `cat ./CVS/Root ` -z6 commit
> }
> 
> Удобство этих функций в том, что не надо устанавливать CVSROOT и помнить
> его для разных репозитариев.

Действительно, удобно. 'cvs get' - это алиас 'cvs update'? Что-то не
нашел информации об этом в info, хотя раньше она там была.

> 2. Добавить /etc/profile.d/bugreport.sh:
> 
> # Выдать список пакетов, от которых зависит требуемый пакет
> # Использование: pkgdepend имя_пакета
> function pkgdepend() {
>   DATA=
>   for i in `rpm -q --requires $1|cut -d ' ' -f 1` ; do
>     DATA="$DATA `rpm -q --whatprovides $i`"
>   done
>   echo $DATA | tr ' ' '\n' | sort -u | uniq -u
> }
> 
> В дальнейшем в этот файл можно добавлять и другие функции.

Почему bugreport?

-- 
Stay tuned,
  MhZ                                     JID: mookid@jabber.org
___________
GREAT MOMENTS IN HISTORY (#7):  April 2, 1751

Issac Newton becomes discouraged when he falls up a flight of stairs.
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] Addenda to /etc/profile.d
  2001-06-01  6:42 ` Mikhail Zabaluev
@ 2001-06-01  6:45   ` Alexander Bokovoy
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Bokovoy @ 2001-06-01  6:45 UTC (permalink / raw)
  To: devel

On Fri, Jun 01, 2001 at 10:42:22AM +0400, Mikhail Zabaluev wrote:
> Hello Alexander,
> 
> On Fri, Jun 01, 2001 at 03:19:07AM +0300, Alexander Bokovoy wrote:
> >
> > Подумалось тут, а не добавить ли следующие BASH-ориентированные функции в
> > /etc/profile.d:
> > 1. В /etc/profile.d/cvs.sh можно было бы добавить функции для быстрого
> > доступа в уже имеющиеся на диске репозитарии:
> > 
> > # Обновление репозитария
> > # Использование: cvsgetx имя_репозитария (в текущем каталоге)
> > function cvsgetx {
> >     cvs -d `cat $1/CVS/Root ` -z6 get $@
> > }
> > 
> > # Обновление из конкретной ветки репозитария
> > # Использование: cvsbranch НАЗВАНИЕ_ВЕТКИ имя_репозитария
> > function cvsbranch {
> >     cvs -d `cat $2/CVS/Root ` -z6 get -r $@
> > }
> > 
> > # Отправка данных в репозитарий
> > # Использование: cvscommit
> > function cvscommit {
> >     cvs -d `cat ./CVS/Root ` -z6 commit
> > }
> > 
> > Удобство этих функций в том, что не надо устанавливать CVSROOT и помнить
> > его для разных репозитариев.
> 
> Действительно, удобно. 'cvs get' - это алиас 'cvs update'? Что-то не
> нашел информации об этом в info, хотя раньше она там была.
Да, это алиас для update, его же можно использовать и для замены checkout.
Универсальная команда.

 
> > 2. Добавить /etc/profile.d/bugreport.sh:
> > 
> > # Выдать список пакетов, от которых зависит требуемый пакет
> > # Использование: pkgdepend имя_пакета
> > function pkgdepend() {
> >   DATA=
> >   for i in `rpm -q --requires $1|cut -d ' ' -f 1` ; do
> >     DATA="$DATA `rpm -q --whatprovides $i`"
> >   done
> >   echo $DATA | tr ' ' '\n' | sort -u | uniq -u
> > }
> > 
> > В дальнейшем в этот файл можно добавлять и другие функции.
> 
> Почему bugreport?
Потому что основной посыл -- обеспечить пользователя инструментарием для
квалифицированного ответа на дополнительные вопросы при возникновении у
него проблем. Полный список зависимостей в данном случае будет как раз
нелишним. Сюда же можно будет добавить функции для работы с GNATS,
например.
-- 
С уважением,
    Александр Боковой.

ALT Linux Team // www.altlinux.ru
-- You won't skid if you stay in a rut.
		-- Frank Hubbard
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] Addenda to /etc/profile.d
  2001-06-01  0:19 [devel] Addenda to /etc/profile.d Alexander Bokovoy
  2001-06-01  6:42 ` Mikhail Zabaluev
@ 2001-06-01  8:10 ` Dmitry V. Levin
  2001-06-01 18:53 ` Sergey Vlasov
  2 siblings, 0 replies; 8+ messages in thread
From: Dmitry V. Levin @ 2001-06-01  8:10 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1198 bytes --]

On Fri, Jun 01, 2001 at 03:19:07AM +0300, Alexander Bokovoy wrote:
> Подумалось тут, а не добавить ли следующие BASH-ориентированные функции в
> /etc/profile.d:
> 1. В /etc/profile.d/cvs.sh можно было бы добавить функции для быстрого
> доступа в уже имеющиеся на диске репозитарии:

ok, если не трудно, закиньте это в gnats в виде wishlist'а на пакет cvs.

> 2. Добавить /etc/profile.d/bugreport.sh:
> 
> # Выдать список пакетов, от которых зависит требуемый пакет
> # Использование: pkgdepend имя_пакета
> function pkgdepend() {
>   DATA=
>   for i in `rpm -q --requires $1|cut -d ' ' -f 1` ; do
>     DATA="$DATA `rpm -q --whatprovides $i`"
>   done
>   echo $DATA | tr ' ' '\n' | sort -u | uniq -u
> }
> 
> В дальнейшем в этот файл можно добавлять и другие функции.

Идея хорошая, осталось определиться с пакетом.


Regards,
	Dmitry

+-------------------------------------------------------------------------+
Dmitry V. Levin     mailto://ldv@alt-linux.org
ALT Linux Team      http://www.altlinux.ru/
Fandra Project      http://www.fandra.org/
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] Addenda to /etc/profile.d
  2001-06-01  0:19 [devel] Addenda to /etc/profile.d Alexander Bokovoy
  2001-06-01  6:42 ` Mikhail Zabaluev
  2001-06-01  8:10 ` Dmitry V. Levin
@ 2001-06-01 18:53 ` Sergey Vlasov
  2001-06-01 19:03   ` Alexander Bokovoy
  2 siblings, 1 reply; 8+ messages in thread
From: Sergey Vlasov @ 2001-06-01 18:53 UTC (permalink / raw)
  To: devel

On Fri, 1 Jun 2001 03:19:07 +0300
Alexander Bokovoy <ab@avilink.net> wrote:

> Подумалось тут, а не добавить ли следующие BASH-ориентированные функции
> в
> /etc/profile.d:
> 1. В /etc/profile.d/cvs.sh можно было бы добавить функции для быстрого
> доступа в уже имеющиеся на диске репозитарии:
> 
> # Обновление репозитария
> # Использование: cvsgetx имя_репозитария (в текущем каталоге)
> function cvsgetx {
>     cvs -d `cat $1/CVS/Root ` -z6 get $@
> }
> 
> # Обновление из конкретной ветки репозитария
> # Использование: cvsbranch НАЗВАНИЕ_ВЕТКИ имя_репозитария
> function cvsbranch {
>     cvs -d `cat $2/CVS/Root ` -z6 get -r $@
> }

Т.е. в Вашем варианте я должен написать для обновления "cvsgetx
some_name". Не проще ли зайти в этот каталог и запустить "cvs -z6 update
-d" (вот на это как раз можно поставить алиас)? Во втором случае не
требуется добавлять имя в командную строку.

Хотя могу себе представить один случай, когда это может оказаться полезным
- при удалении рабочего каталога оставить CVS/, чтобы можно было потом при
необходимости снова взять копию из CVS воспользоваться этими функциями.

> # Отправка данных в репозитарий
> # Использование: cvscommit
> function cvscommit {
>     cvs -d `cat ./CVS/Root ` -z6 commit
> }

Зачем такие сложности - cvs commit сам возьмет CVSROOT как раз из
./CVS/Root. Явно указывать CVSROOT нужно только для login и checkout.
Разве что ради -z6 - но это можно просто записать в ~/.cvsrc (или опять же
добавить алиас).

> Удобство этих функций в том, что не надо устанавливать CVSROOT и помнить
> его для разных репозитариев.

CVS это и так умеет.

> 2. Добавить /etc/profile.d/bugreport.sh:
> 
> # Выдать список пакетов, от которых зависит требуемый пакет
> # Использование: pkgdepend имя_пакета
> function pkgdepend() {
>   DATA=
>   for i in `rpm -q --requires $1|cut -d ' ' -f 1` ; do
>     DATA="$DATA `rpm -q --whatprovides $i`"
>   done
>   echo $DATA | tr ' ' '\n' | sort -u | uniq -u
> }

Вот тут согласен.
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] Addenda to /etc/profile.d
  2001-06-01 18:53 ` Sergey Vlasov
@ 2001-06-01 19:03   ` Alexander Bokovoy
  2001-06-01 19:18     ` Sergey Vlasov
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander Bokovoy @ 2001-06-01 19:03 UTC (permalink / raw)
  To: devel

On Fri, Jun 01, 2001 at 10:53:18PM +0400, Sergey Vlasov wrote:
> On Fri, 1 Jun 2001 03:19:07 +0300
> Alexander Bokovoy <ab@avilink.net> wrote:
> 
> > Подумалось тут, а не добавить ли следующие BASH-ориентированные функции
> > в
> > /etc/profile.d:
> > 1. В /etc/profile.d/cvs.sh можно было бы добавить функции для быстрого
> > доступа в уже имеющиеся на диске репозитарии:
> > 
> > # Обновление репозитария
> > # Использование: cvsgetx имя_репозитария (в текущем каталоге)
> > function cvsgetx {
> >     cvs -d `cat $1/CVS/Root ` -z6 get $@
> > }
> > 
> > # Обновление из конкретной ветки репозитария
> > # Использование: cvsbranch НАЗВАНИЕ_ВЕТКИ имя_репозитария
> > function cvsbranch {
> >     cvs -d `cat $2/CVS/Root ` -z6 get -r $@
> > }
> 
> Т.е. в Вашем варианте я должен написать для обновления "cvsgetx
> some_name". Не проще ли зайти в этот каталог и запустить "cvs -z6 update
> -d" (вот на это как раз можно поставить алиас)? Во втором случае не
> требуется добавлять имя в командную строку.
Предложенный вариант полезен в том случае, когда необходимо обновлять
несколько модулей из одного репозитария, к примеру, из Gnome CVS.
Становимся на верхний уровень и даем:
cvsgetx ximian-setup-tools backend soup libxml ...
и так далее. Сеанс связи в данном случае проходит эффективнее -- CVS не
тратит время на открытие дополнительных соединений для каждого из модулей,
все идет в одном потоке. Это реально ускоряет работу.

 
> Хотя могу себе представить один случай, когда это может оказаться полезным
> - при удалении рабочего каталога оставить CVS/, чтобы можно было потом при
> необходимости снова взять копию из CVS воспользоваться этими функциями.
И это тоже хорошее применение.

 
> > # Отправка данных в репозитарий
> > # Использование: cvscommit
> > function cvscommit {
> >     cvs -d `cat ./CVS/Root ` -z6 commit
> > }
> 
> Зачем такие сложности - cvs commit сам возьмет CVSROOT как раз из
> ./CVS/Root. Явно указывать CVSROOT нужно только для login и checkout.
> Разве что ради -z6 - но это можно просто записать в ~/.cvsrc (или опять же
> добавить алиас).
Тут, вообщем-то можно и оптимизировать, безусловно.


> > Удобство этих функций в том, что не надо устанавливать CVSROOT и помнить
> > его для разных репозитариев.
> CVS это и так умеет.
Нет. Если использовать много модулей из одного репозитария, то придется в
каждый из них заходить, чтобы он это "умел". А так -- "скопом" всех
обрабатывать получается.

--
Sincerely yours, Alexander Bokovoy 
  The Midgard Project   | www.midgard-project.org | ALT Linux Team
Minsk Linux Users Group |    www.minsk-lug.net    | www.altlinux.ru
-- Murphy's Law is recursive.  Washing your car to make it rain doesn't work.
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] Addenda to /etc/profile.d
  2001-06-01 19:03   ` Alexander Bokovoy
@ 2001-06-01 19:18     ` Sergey Vlasov
  2001-06-02  7:26       ` Alexander Bokovoy
  0 siblings, 1 reply; 8+ messages in thread
From: Sergey Vlasov @ 2001-06-01 19:18 UTC (permalink / raw)
  To: devel

On Fri, 1 Jun 2001 22:03:00 +0300
Alexander Bokovoy <ab@altlinux.ru> wrote:

> Предложенный вариант полезен в том случае, когда необходимо обновлять
> несколько модулей из одного репозитария, к примеру, из Gnome CVS.
> Становимся на верхний уровень и даем:
> cvsgetx ximian-setup-tools backend soup libxml ...
> и так далее. Сеанс связи в данном случае проходит эффективнее -- CVS не
> тратит время на открытие дополнительных соединений для каждого из
> модулей,
> все идет в одном потоке. Это реально ускоряет работу.

Понятно. Такие звери мне еще не попадались. :-)
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] Addenda to /etc/profile.d
  2001-06-01 19:18     ` Sergey Vlasov
@ 2001-06-02  7:26       ` Alexander Bokovoy
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Bokovoy @ 2001-06-02  7:26 UTC (permalink / raw)
  To: devel

On Fri, Jun 01, 2001 at 11:18:17PM +0400, Sergey Vlasov wrote:
> On Fri, 1 Jun 2001 22:03:00 +0300
> Alexander Bokovoy <ab@altlinux.ru> wrote:
> 
> > Предложенный вариант полезен в том случае, когда необходимо обновлять
> > несколько модулей из одного репозитария, к примеру, из Gnome CVS.
> > Становимся на верхний уровень и даем:
> > cvsgetx ximian-setup-tools backend soup libxml ...
> > и так далее. Сеанс связи в данном случае проходит эффективнее -- CVS не
> > тратит время на открытие дополнительных соединений для каждого из
> > модулей,
> > все идет в одном потоке. Это реально ускоряет работу.
> 
> Понятно. Такие звери мне еще не попадались. :-)
Да, собственно, это любой проект, в котором более одного модуля, особенно
такие развесистые, как KDE, GNOME, PHP, весь SourceForge.
-- 
С уважением,
    Александр Боковой.

ALT Linux Team // www.altlinux.ru
-- You won't skid if you stay in a rut.
		-- Frank Hubbard
_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2001-06-02  7:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-01  0:19 [devel] Addenda to /etc/profile.d Alexander Bokovoy
2001-06-01  6:42 ` Mikhail Zabaluev
2001-06-01  6:45   ` Alexander Bokovoy
2001-06-01  8:10 ` Dmitry V. Levin
2001-06-01 18:53 ` Sergey Vlasov
2001-06-01 19:03   ` Alexander Bokovoy
2001-06-01 19:18     ` Sergey Vlasov
2001-06-02  7:26       ` Alexander Bokovoy

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