[devel] rpm2specs += cvs?

Michael Shigorin =?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Вт Окт 18 23:35:03 MSD 2005


On Tue, Oct 18, 2005 at 09:01:37PM +0400, Dmitry Marochko wrote:
> Случайно, это не движок, на котором сделан sisyphus.ru? Если
> это так, то я бы хотел поделиться багом - почему-то не
> показываются спеки пакетов. Также не помешало бы сделать
> скачивание спека и вообще исходного пакета по частям.  Т.е.
> если например исходники есть, то зачем качать весь пакет ради
> одного патча или спека?

Это скорее r/o webcvs прицепить, я такое почти сделал когда-то 
на alt.linux.kiev.ua -- споткнулся на том, что cvs файлы
с изменившимся inode считал как новые, а переписывать скрипт 
для сравнения и cat вместо mv уже тогда не успел -- откатил всё
на старый...

Может, давайте попробуем хоть сейчас сделать для *.spec *.patch
*.diff?  Некий текущий ужас (плюс рабочий вариант) -- цепляю.

(опять же... уж если разбирать пакеты, было бы разумно делать это
один раз, ну два, то не тридцать три)

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/
----------- следующая часть -----------
#!/bin/sh
#!/bin/sh -x
TEMPSPECDIR="/www/www.linux.kiev.ua/html/devel/RPM/SPECS/.tmp"
SRPMPREFIX="/var/ftp/pub/Linux/ALT/Sisyphus/SRPMS."
SPECPREFIX="/www/www.linux.kiev.ua/html/devel/RPM/SPECS/"
LOSTSPECS="$TEMPSPECDIR/__lost-specs__"
#REPOS="base castle contrib junior kernel master non-free"
#REPOS="base"
REPOS="classic"
#REPOS="test"
CVSROOT="/var/cvs"
                                                                       
rm -rf "$TEMPSPECDIR"/ "$SPECPREFIX"/.CVS/
#rm -rf "$SPECPREFIX"
mkdir -p "$TEMPSPECDIR"
cd "$TEMPSPECDIR"

for repo in $REPOS; do
  mv "$SPECPREFIX$repo"/CVS/ "$SPECPREFIX"/.CVS
  #rm -rf "$SPECPREFIX$repo"
  mkdir -p "$SPECPREFIX$repo"
  for srpm in $SRPMPREFIX$repo/*.src.rpm; do
    rpm2cpio "$srpm" \
    | cpio --quiet --extract --preserve-modification-time *.spec
    spec="`rpmquery --qf='%{NAME}' -p "$srpm"`.spec"
    [ -f *.spec ] && chmod 644 *.spec
  done
  #mv -f *.spec "$SPECPREFIX$repo/$spec" || echo "$srpm"
  rsync --delete ./ "$SPECPREFIX$repo"/
  mv "$SPECPREFIX"/.CVS/ "$SPECPREFIX$repo"/CVS
  #(cd "$SPECPREFIX$repo"; cvs -d /var/cvs ci -m `date +%Y%m%d`)
  (
    cd "$SPECPREFIX$repo";
    cvs update \
    | tee "$LOSTSPECS" \
    | grep '^? .*\.spec$' \
    | cut -c2- \
    | xargs cvs add ""
    cvs ci -m $((`date +%Y%m%d` -1))
  )
done
----------- следующая часть -----------
#!/bin/sh
TEMPSPECDIR="/www/www.linux.kiev.ua/html/devel/RPM/SPECS/.tmp"
SRPMPREFIX="/var/ftp/pub/Linux/ALT/Sisyphus/SRPMS."
SPECPREFIX="/www/www.linux.kiev.ua/html/devel/RPM/SPECS/"
#REPOS="base castle contrib junior kernel master non-free"
#REPOS="base"
REPOS="classic"

rm -rf "$TEMPSPECDIR"
rm -rf "$SPECPREFIX"
mkdir -p "$TEMPSPECDIR"
cd "$TEMPSPECDIR"

for repo in $REPOS; do
  mkdir -p "$SPECPREFIX$repo"
  for srpm in $SRPMPREFIX$repo/*.src.rpm; do
    rpm2cpio "$srpm" | cpio --quiet --extract *.spec
    spec="`rpmquery --qf='%{NAME}' -p "$srpm"`.spec"
    [ -f *.spec ] && chmod 644 *.spec
    mv -f *.spec "$SPECPREFIX$repo/$spec" || echo "$srpm"
  done
done

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20051018/899e1823/attachment-0001.bin>


Подробная информация о списке рассылки Devel