ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] sedna package (дубль 2)
@ 2005-05-23 13:00 Andrey Fomichev
  2005-05-23 13:39 ` Alexey I. Froloff
  2005-05-23 13:54 ` [sisyphus] " Michael Shigorin
  0 siblings, 2 replies; 8+ messages in thread
From: Andrey Fomichev @ 2005-05-23 13:00 UTC (permalink / raw)
  To: sisyphus

Добрый день!

Я когда-то сюда писал и хотел сделать пакет для XML СУБД Sedna.
Получил массу полезных замечаний. Потребовалось некоторое время
на то, чтобы их учесть. Новая версия доступна по следующим адресам

http://modis.ispras.ru/FTPContent/tmp/sedna-0.5.6-alt1.i586.rpm
http://modis.ispras.ru/FTPContent/tmp/sedna-0.5.6-alt1.src.rpm
http://modis.ispras.ru/FTPContent/tmp/sedna.spec

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

С уважением,
Андрей

=======================================
Andrey Fomichev (fomichev at ispras.ru)
Sedna Team (http://modis.ispras.ru)
=======================================




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

* Re: [sisyphus] sedna package (дубль 2)
  2005-05-23 13:00 [sisyphus] sedna package (дубль 2) Andrey Fomichev
@ 2005-05-23 13:39 ` Alexey I. Froloff
  2005-05-23 14:28   ` Andrey Fomichev
  2005-05-23 13:54 ` [sisyphus] " Michael Shigorin
  1 sibling, 1 reply; 8+ messages in thread
From: Alexey I. Froloff @ 2005-05-23 13:39 UTC (permalink / raw)
  To: ALT Linux Sisyphus

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

* Andrey Fomichev <fomichev@> [050523 17:02]:
> Буду признателен, если кто-нибудь на это посмотрит и выскажет свои
> замечания.

> %prep
> %setup
%setup -q

Проосто чтобы мусора при сборке меньше было.

> %build
> export ACTIVE_CONFIGURATION=Release
> ...
> export STATIC_SYS_LIBS=0
> make
%make_build \
	ACTIVE_CONFIGURATION=Release \
	... \
	STATIC_SYS_LIBS=0

Используется паралельная сборка (оно работает, кстати?  make -j3
например), не нужно дклать export (косметика)

> %install
> export PREFIX=$RPM_BUILD_ROOT/usr
> make dispersal_install
%make_install PREFIX=$RPM_BUILD_ROOT%_prefix dispersal_install

Лучше пользоваться стандартными макросами ;-)

> %files
> %defattr(-,root,root)
Это в ALT не нужно.

> %_libdir/libsedna.a
> %_includedir/libsedna.h
Тут им не место.  Во первых статические библиотеки - зло, во
вторых место им в -devel пакете.

> %_datadir/%name-%version/driver
> %_datadir/%name-%version/examples
Добавить:

%dir %_datadir/%name-%version

-- 
Regards, Sir Raorn.
-------------------
(Блин, везде эти всякие буковки пропускаю... что по-русски, что
по-английски... Спешу всегда, наверное...)
		-- voins in sisyphus@

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

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

* [sisyphus] Re: sedna package (дубль 2)
  2005-05-23 13:00 [sisyphus] sedna package (дубль 2) Andrey Fomichev
  2005-05-23 13:39 ` Alexey I. Froloff
@ 2005-05-23 13:54 ` Michael Shigorin
  2005-05-23 14:44   ` [sisyphus] " Andrey Fomichev
  1 sibling, 1 reply; 8+ messages in thread
From: Michael Shigorin @ 2005-05-23 13:54 UTC (permalink / raw)
  To: sisyphus

On Mon, May 23, 2005 at 05:00:55PM +0400, Andrey Fomichev wrote:
> http://modis.ispras.ru/FTPContent/tmp/sedna.spec

> Name: sedna
> Version: 0.5.6
> Release: alt1
> Summary: A Native XML DBMS Sedna
> License: Apache 2.0
> Url: http://modis.ispras.ru/Development/sedna.htm
> Group: Databases
> BuildArch: i586
> Source: http://modis.ispras.ru/FTPContent/%name-%version-src-linux.tar.gz
> Vendor: ALT Linux Team

Чисто эстетически (и немного в соответствии с рекомендацией
http://docs.altlinux.ru/alt/devel/ch01.html#id2818104 -- 
"Рекомендуемый порядок заголовочных тэгов: Name, Version, Release,
Serial, далее Summary, License, Group, Url, Packager, BuildArch,
потом Source*, Patch*, далее PreReqs, Requires, Provides,
Conflicts, и, наконец, Prefix, BuildPreReqs, BuildRequires."):

---
Name: sedna
Version: 0.5.6
Release: alt1

Summary: A Native XML DBMS Sedna
License: Apache 2.0
Group: Databases

Url: http://modis.ispras.ru/Development/sedna.htm
Source: http://modis.ispras.ru/FTPContent/%name-%version-src-linux.tar.gz
Packager: Andrey Fomichev <e@mail>
---

BuildArch можно просто выкинуть, i586 лучше задавать при помощи
--target, хотя дело такое.

> %prep
> %setup

Можно %setup -q, чтоб спаму меньше, но опять же...

> %install
> export PREFIX=$RPM_BUILD_ROOT/usr

export PREFIX=%buildroot%prefix (хотя $RPM_BUILD_ROOT
действительно более переносимо на древние RH7.x и компанию)

> %files
> %defattr(-,root,root)

См. "Устаревшие конструкции" по ссылке выше -- попросту говоря,
%defattr не нужен.

> %doc AUTHORS COPYRIGHT HISTORY LICENSE README doc
> %_bindir/se_gov
> %_bindir/se_stop

Может, %_bindir/se_*?

> %_libdir/libsedna.a

Это лучше в отдельный субпакет (в идеале -- devel-static)

> %_includedir/libsedna.h
> %_datadir/%name-%version/examples

Это лучше в отдельный субпакет (devel)
> 
> %changelog
> * Mon May 23 2005 Andrey Fomichev <fomichev@ispras.ru>

В конце хорошо бы версию ("0.5.6-alt1") -- неплохо добавляет
add_changelog из пакета sisyphus (+к нему есть vim macro).

> - %files section significantly changed (files are now installed
>   according to theirs types into /usr/bin, /usr/share, etc)

И вот здесь лишнюю пустую строку, просто чтоб читалось легче. :)

> * Wed Apr 27 2005 Andrey Fomichev <fomichev@ispras.ru> 
> - initial version
      
-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


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

* RE: [sisyphus] sedna package (дубль 2)
  2005-05-23 13:39 ` Alexey I. Froloff
@ 2005-05-23 14:28   ` Andrey Fomichev
  2005-05-23 16:06     ` Andrey Rahmatullin
  2005-05-24  5:53     ` Alexey I. Froloff
  0 siblings, 2 replies; 8+ messages in thread
From: Andrey Fomichev @ 2005-05-23 14:28 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list


> %setup -q
>
> Проосто чтобы мусора при сборке меньше было.
Согласен, сделано


> > %build
> > export ACTIVE_CONFIGURATION=Release
> > ...
> > export STATIC_SYS_LIBS=0
> > make
> %make_build \
> 	ACTIVE_CONFIGURATION=Release \
> 	... \
> 	STATIC_SYS_LIBS=0
>
> Используется паралельная сборка (оно работает, кстати?  make -j3
> например), не нужно дклать export (косметика)
export убрал. Параллельной обработки не хочется, т.к. никогда не
проверял и понятия не имею будет ли это работать. А почему она
используется?


>
> > %install
> > export PREFIX=$RPM_BUILD_ROOT/usr
> > make dispersal_install
> %make_install PREFIX=$RPM_BUILD_ROOT%_prefix dispersal_install
>
> Лучше пользоваться стандартными макросами ;-)
Страшно выглядит. Хорошо, попробую



> > %files
> > %defattr(-,root,root)
> Это в ALT не нужно.
Понял. Согласен.

>
> > %_libdir/libsedna.a
> > %_includedir/libsedna.h
> Тут им не место.  Во первых статические библиотеки - зло, во
> вторых место им в -devel пакете.
Хорошо, попробую положить их в devel пакет.

>
> > %_datadir/%name-%version/driver
> > %_datadir/%name-%version/examples
> Добавить:
>
> %dir %_datadir/%name-%version
Кажется тогда в %name-%version попадет не только
driver и examples. А это не хотелось бы





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

* [sisyphus] RE: sedna package (дубль 2)
  2005-05-23 13:54 ` [sisyphus] " Michael Shigorin
@ 2005-05-23 14:44   ` Andrey Fomichev
  2005-05-23 14:51     ` [sisyphus] " Michael Shigorin
  0 siblings, 1 reply; 8+ messages in thread
From: Andrey Fomichev @ 2005-05-23 14:44 UTC (permalink / raw)
  To: Michael Shigorin, sisyphus


> Чисто эстетически (и немного в соответствии с рекомендацией
> http://docs.altlinux.ru/alt/devel/ch01.html#id2818104 --
> "Рекомендуемый порядок заголовочных тэгов: Name, Version, Release,
> Serial, далее Summary, License, Group, Url, Packager, BuildArch,
> потом Source*, Patch*, далее PreReqs, Requires, Provides,
> Conflicts, и, наконец, Prefix, BuildPreReqs, BuildRequires."):
Согласен. Порядок изменил


> Можно %setup -q, чтоб спаму меньше, но опять же...
Хорошо

> > %install
> > export PREFIX=$RPM_BUILD_ROOT/usr
>
> export PREFIX=%buildroot%prefix (хотя $RPM_BUILD_ROOT
> действительно более переносимо на древние RH7.x и компанию)
Поменял на %buildroot%prefix. Сейчас попробую, работает ли


> > %files
> > %defattr(-,root,root)
>
> См. "Устаревшие конструкции" по ссылке выше -- попросту говоря,
> %defattr не нужен.
Понял. Убрал.


> > %doc AUTHORS COPYRIGHT HISTORY LICENSE README doc
> > %_bindir/se_gov
> > %_bindir/se_stop
>
> Может, %_bindir/se_*?
Да, короче будет




> > %_libdir/libsedna.a
>
> Это лучше в отдельный субпакет (в идеале -- devel-static)
>
> > %_includedir/libsedna.h
> > %_datadir/%name-%version/examples
>
> Это лучше в отдельный субпакет (devel)
А можно я все драйверы положу в sedna-devel?
Вместо того чтобы делать отдельно пакет для java драйвера.
И devel-static мне не очень хочется. Ну зачем так много
пакетов, неудобно же будет. Я думаю, sedna-devel и так
будет занимать копейки (явно <100Kb).
А некоторые примеры, кстати, относятся к драйверам (т.е. для
разработки), а некоторые просто для того, чтобы Седну попробовать,
т.е. данные + запросы на XQuery. Думаю их надо оставить в sedna,
а примеры, относящиеся к драйверам, положить в sedna-devel.



> > %changelog
> > * Mon May 23 2005 Andrey Fomichev <fomichev@ispras.ru>
>
> В конце хорошо бы версию ("0.5.6-alt1") -- неплохо добавляет
> add_changelog из пакета sisyphus (+к нему есть vim macro).
Удобно. А как пользоваться?


> > - %files section significantly changed (files are now installed
> >   according to theirs types into /usr/bin, /usr/share, etc)
>
> И вот здесь лишнюю пустую строку, просто чтоб читалось легче. :)
>
> > * Wed Apr 27 2005 Andrey Fomichev <fomichev@ispras.ru>
> > - initial version
Хорошо




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

* [sisyphus] Re: sedna package (дубль 2)
  2005-05-23 14:44   ` [sisyphus] " Andrey Fomichev
@ 2005-05-23 14:51     ` Michael Shigorin
  0 siblings, 0 replies; 8+ messages in thread
From: Michael Shigorin @ 2005-05-23 14:51 UTC (permalink / raw)
  To: sisyphus

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

On Mon, May 23, 2005 at 06:44:19PM +0400, Andrey Fomichev wrote:
> > > %_libdir/libsedna.a
> > Это лучше в отдельный субпакет (в идеале -- devel-static)
> > > %_includedir/libsedna.h
> > > %_datadir/%name-%version/examples
> > Это лучше в отдельный субпакет (devel)
> А можно я все драйверы положу в sedna-devel?

Эээ... если они могут быть (бес)полезны отдельно, конфликтовать
или ещё как -- то может иметь смысл sedna-drivers или даже
sedna-driver-*, но если они по версиям и надобности синхронны 
с основным пакетом -- отколупывать незачем.

Если заметили, строчку между .h и examples я убрал из цитаты.

> И devel-static мне не очень хочется. Ну зачем так много
> пакетов, неудобно же будет. Я думаю, sedna-devel и так
> будет занимать копейки (явно <100Kb).

Ну в него *.a тогда.

> А некоторые примеры, кстати, относятся к драйверам (т.е. для
> разработки), а некоторые просто для того, чтобы Седну
> попробовать, т.е. данные + запросы на XQuery. Думаю их надо
> оставить в sedna, а примеры, относящиеся к драйверам, положить
> в sedna-devel.

Примеры обычно лучше в doc или devel всё же, но дело Ваше.
Тут уже рекомендации со вкусовщиной пошли, а не критические. :)

> > > %changelog
> > > * Mon May 23 2005 Andrey Fomichev <fomichev@ispras.ru>
> > В конце хорошо бы версию ("0.5.6-alt1") -- неплохо добавляет
> > add_changelog из пакета sisyphus (+к нему есть vim macro).
> Удобно. А как пользоваться?

Чем -- add_changelog?  Напустить на spec.  Макросом?
Положить аттач в ~/.vim/ftplugin, звать \ac.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #2: spec_alt.vim --]
[-- Type: text/plain, Size: 3450 bytes --]

" Plugin to update the %changelog section of RPM spec files
" This is a combination of ideas and code from
" spec.vim by Gustavo Niemeyer <niemeyer@conectiva.com>
" spec_ftplugin.vim by Guillaume Rousse <rousse@ccr.jussieu.fr>
" and Sir Raorn <raorn@altlinux.ru>
" add_changelog utility by Dmitry V. Levin <ldv@altlinux.ru>
" Filename: spec_alt.vim
" Version: 0.0.1

if exists("b:did_altchangelog_ftplugin") | finish | endif

let b:did_altchangelog_ftplugin = 1

if !exists("no_plugin_maps") && !exists("no_spec_maps")
	if !hasmapto("<Plug>SpecAltChangelog")
		map <buffer> <LocalLeader>ac <Plug>SpecAltChangelog
	endif
endif

noremap <buffer> <unique> <script> <Plug>SpecAltChangelog :call <SID>SpecAltChangelog()<CR>

" Useful settings
setlocal makeprg=rpm\ -ba\ %
setlocal errorformat=error:\ line\ %l:\ %m
 
" Helper functions
function <SID>Date()
    let savelang = v:lc_time
    execute "language time C"
    let date = strftime("%a %b %d %Y")
    execute "language time " . savelang
    return date
endfunction

if !exists("*s:GetFirstLocation")
        " Return location of first line matching
	" the given pattern after the given line
        " Return -1 if not found at the end of the file
        function s:GetFirstLocation(from, pattern)
                let linenb = a:from
                while (linenb <= line("$"))
                        let linenb = linenb + 1
                        let linestr = getline(linenb)
                        if (linestr =~ a:pattern)
                                return linenb
                        endif
                endwhile
                return -1
        endfunction
endif

" Main function
if !exists("*s:SpecAltChangelog")
	function s:SpecAltChangelog()
		let line = 0
		let packager = system("rpm --eval %packager")
		" get rid of this !#&* trailing <NL>
		let packager = strpart(packager, 0, strlen(packager)-1)
		if packager == "%packager"
		          echomsg "Configuration error: undefined packager"
			  " Correct? Really exit?
			  exit
		endif
		let date = <SID>Date()
		let svr = system("rpm -q --qf '%|SERIAL?{%{SERIAL}:}|%{VERSION}-%{RELEASE}\n' --specfile ".expand("%")." |head -1")
		let svr = strpart(svr, 0, strlen(svr)-1)
		let full = "* ".date." ".packager." ".svr
		let chgline = <SID>GetFirstLocation(0, '^%changelog')
		if (chgline == -1)
			let option = confirm("Can't find %changelog. Create one? ","&End of file\n&Here\n&Cancel",3)
			if (option == 1)
				call append(line("$"),"")
				call append(line("$"),"%changelog")
				execute line("$")
				let chgline = line(".")
			elseif (option == 2)
				call append(line("."),"%changelog")
				normal j
				let chgline = line(".")
			endif
		endif
		if (chgline != -1)
			let insert_line = 0
			" TODO
			" echo "$spec: version \"$oldver\" unchanged, skipping"
			" like add_changelog do this
			" 
			" empty line just after chgline may break this
			" 
			" Really compare whole line, or only packager+svr?
			" The best variant - do this configurable
			if (getline(chgline+1) != full)
				call append(chgline, full)
				call append(chgline+1,"- ")
				call append(chgline+2,"")
				let insert_line = chgline+2
			else
				let line = chgline
				if !exists("g:spec_chglog_prepend")
					while !(getline(line+2) =~ '^\( *\|\*.*\)$')
						let line = line+1
					endwhile
				endif
				call append(line+1,"- ")
				let insert_line = line+2
			endif
			execute insert_line
			startinsert!
		endif
	endfunction
endif


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

* Re: [sisyphus] sedna package (дубль 2)
  2005-05-23 14:28   ` Andrey Fomichev
@ 2005-05-23 16:06     ` Andrey Rahmatullin
  2005-05-24  5:53     ` Alexey I. Froloff
  1 sibling, 0 replies; 8+ messages in thread
From: Andrey Rahmatullin @ 2005-05-23 16:06 UTC (permalink / raw)
  To: sisyphus

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

On Mon, May 23, 2005 at 06:28:31PM +0400, Andrey Fomichev wrote:
> export убрал. Параллельной обработки не хочется, т.к. никогда не
> проверял
Инкаминг проверит ;)
> и понятия не имею будет ли это работать.
Число параллельных процессов == числу процессоров, т.е. на 1-процовых
машинах разницы вообще не будет.

> А почему она используется?
Ну так для ускорения сборки, вестимо.

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):

Ну значит еще раз подтверждается, что с вами метод непрямой телепатии не
работает. Учтите это на будущее.
		-- wrar in community@

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

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

* Re: [sisyphus] sedna package (дубль 2)
  2005-05-23 14:28   ` Andrey Fomichev
  2005-05-23 16:06     ` Andrey Rahmatullin
@ 2005-05-24  5:53     ` Alexey I. Froloff
  1 sibling, 0 replies; 8+ messages in thread
From: Alexey I. Froloff @ 2005-05-24  5:53 UTC (permalink / raw)
  To: ALT Linux Sisyphus

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

* Andrey Fomichev <fomichev@> [050523 18:29]:
> > > %_libdir/libsedna.a
> > > %_includedir/libsedna.h
> > Тут им не место.  Во первых статические библиотеки - зло, во
> > вторых место им в -devel пакете.
> Хорошо, попробую положить их в devel пакет.
Ну вообще, libsedna хорошо бы сделать динамической.

> > %dir %_datadir/%name-%version
> Кажется тогда в %name-%version попадет не только
> driver и examples. А это не хотелось бы
Как раз нет - в пакет попадёт только каталог
%_datadir/%name-%version.  И удалится при удалении пакета.

-- 
Regards, Sir Raorn.
-------------------
Я прошу прекратить обсуждение на эту тему, ибо оно далеко
отклонилось от тематики списка рассылки sisyphus@.
		-- ldv in sisyphus@

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

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

end of thread, other threads:[~2005-05-24  5:53 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-23 13:00 [sisyphus] sedna package (дубль 2) Andrey Fomichev
2005-05-23 13:39 ` Alexey I. Froloff
2005-05-23 14:28   ` Andrey Fomichev
2005-05-23 16:06     ` Andrey Rahmatullin
2005-05-24  5:53     ` Alexey I. Froloff
2005-05-23 13:54 ` [sisyphus] " Michael Shigorin
2005-05-23 14:44   ` [sisyphus] " Andrey Fomichev
2005-05-23 14:51     ` [sisyphus] " Michael Shigorin

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/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 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git