Re: [newbies] Spec, Rpm, Conflicts-pre (?)

2019-12-04 Thread Ivan Zakharyaschev
Hello!

On Wed, 4 Dec 2019, Anton Shevtsov wrote:

> Суть вопроса. Делаю небольшой метапакет, не для апстрима,  для локального
> использования. Хотя и достаточного глобального использования.
> 
> Смысл такой, что надо установить chromium-gost, при этом удалить chromium,
> при этом создать симлинку /usr/bin/chromium -> /usr/bin/chromium-gost
> 
> В spec пишу
> ..
> Requires(pre): chromium-gost
> ...
> %post
> ln -s /usr/bin/chromium-gost /usr/bin/chromium
> %postun
> rm -f /usr/bin/chromium
> ...
> 
> при попытке установить мой метапакет, выводится, что обычный хромиум будет
> удален, будет поставлен chromium-gost. На этом этапе все хорошо. Пакеты
> ставятся, но тут же получаю
> 
> ln: не удалось создать символьную ссылку '/usr/bin/chromium': Файл
> существует
> 
> Что логично ибо логика пакетного менеджера _сначала установить_, а лишь
> потом _удалить_. Т.е. симлинка пытается появится, когда еще установлен
> обычный chromium.
> 
> А Conflicts(pre) нету, чтобы удалить его раньше установки.

Раз Conflicts(pre) нету, можно было бы придумать попробовать

Requires(pre): conflicts-chromium

а в пакете conflicts-chromium поставить Conflicts: chromium

Но я так не советую пробовать делать в первую очередь, см. моё предложение 
ниже.

> Есть ли механим, вмешаться в транзакцию и удалить пакет раньше? Какие пути
> решения?

Вмешаться в порядок действия в транзакцию довольно сложно, там и так в 
коде rpm всё очень непросто в этом месте.

Мне кажется, в Вашем случае этот симлинк можно просто положить в секцию 
%files Вашего пакета.

Раз в результате транзакции старый владелец этого файла (пакет chromium) 
удаляется, то rpm это учтёт и без жалоб сразу на этом месте создаст новый 
симлинк при выполнении транзакции.

-- 
Best regards,
Ivan___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Spec, Rpm, Conflicts-pre (?)

2019-12-04 Thread Michael Shigorin
On Wed, Dec 04, 2019 at 09:02:08AM +0500, Anton Shevtsov wrote:
> Смысл такой, что надо установить chromium-gost, при этом удалить chromium,
> при этом создать симлинку /usr/bin/chromium -> /usr/bin/chromium-gost

Вдумчиво читайте порядок установки/удаления пакетов
в самом конце /usr/share/doc/rpm-4.0.4/manual/triggers

-- 
  WBR, Michael Shigorin / http://altlinux.org
  -- http://opennet.ru / http://anna-news.info
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] Spec, Rpm, Conflicts-pre (?)

2019-12-04 Thread Andie Khalu
Stop emailing me 

Sent from my iPhone

> On Dec 4, 2019, at 8:42 AM, Ivan Zakharyaschev  wrote:
> 
> Hello!
> 
>> On Wed, 4 Dec 2019, Anton Shevtsov wrote:
>> 
>> Суть вопроса. Делаю небольшой метапакет, не для апстрима,  для локального
>> использования. Хотя и достаточного глобального использования.
>> 
>> Смысл такой, что надо установить chromium-gost, при этом удалить chromium,
>> при этом создать симлинку /usr/bin/chromium -> /usr/bin/chromium-gost
>> 
>> В spec пишу
>> ..
>> Requires(pre): chromium-gost
>> ...
>> %post
>> ln -s /usr/bin/chromium-gost /usr/bin/chromium
>> %postun
>> rm -f /usr/bin/chromium
>> ...
>> 
>> при попытке установить мой метапакет, выводится, что обычный хромиум будет
>> удален, будет поставлен chromium-gost. На этом этапе все хорошо. Пакеты
>> ставятся, но тут же получаю
>> 
>> ln: не удалось создать символьную ссылку '/usr/bin/chromium': Файл
>> существует
>> 
>> Что логично ибо логика пакетного менеджера _сначала установить_, а лишь
>> потом _удалить_. Т.е. симлинка пытается появится, когда еще установлен
>> обычный chromium.
>> 
>> А Conflicts(pre) нету, чтобы удалить его раньше установки.
> 
> Раз Conflicts(pre) нету, можно было бы придумать попробовать
> 
> Requires(pre): conflicts-chromium
> 
> а в пакете conflicts-chromium поставить Conflicts: chromium
> 
> Но я так не советую пробовать делать в первую очередь, см. моё предложение 
> ниже.
> 
>> Есть ли механим, вмешаться в транзакцию и удалить пакет раньше? Какие пути
>> решения?
> 
> Вмешаться в порядок действия в транзакцию довольно сложно, там и так в 
> коде rpm всё очень непросто в этом месте.
> 
> Мне кажется, в Вашем случае этот симлинк можно просто положить в секцию 
> %files Вашего пакета.
> 
> Раз в результате транзакции старый владелец этого файла (пакет chromium) 
> удаляется, то rpm это учтёт и без жалоб сразу на этом месте создаст новый 
> симлинк при выполнении транзакции.
> 
> -- 
> Best regards,
> Ivan
> ___
> devel-newbies mailing list
> devel-newbies@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel-newbies
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


[newbies] how to unsubscribe

2019-12-04 Thread Ivan Zakharyaschev
Hello!

On Wed, 4 Dec 2019, Andie Khalu wrote:

> Stop emailing me 

If you wish to unsubscribe from this mailing list, to which you have 
subscribed before, you can find the information how to do this by 
following the listinfo link at the bottom of the messages:

> ___
> devel-newbies mailing list
> devel-newbies@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel-newbies
> 

Here it is:

devel-newbies -- devel@ where you _can_ ask
 

About devel-newbies 
View this page in
Здесь оказывают помощь мейнтейнерам-новичкам ALT Linux Team и отвечают на 
частозадаваемые вопросы по разработке и сборке пакетов. Вход свободный.

To see the collection of prior postings to the list, visit the 
devel-newbies Archives.

Using devel-newbies
To post a message to all the list members, send email to 
devel-newbies@lists.altlinux.org.
You can subscribe to the list, or change your existing subscription, in 
the sections below.

Subscribing to devel-newbies
Subscribe to devel-newbies by filling out the following form.

You will be sent email requesting confirmation, to prevent others from 
gratuitously subscribing you. This is a private list, which means that the 
list of members is not available to non-members.
Your email address: 
 
Your name (optional):   
 
You may enter a privacy password below. This provides only mild security, 
but should prevent others from messing with your subscription. Do not use 
a valuable password as it will occasionally be emailed back to you in 
cleartext.
If you choose not to enter a password, one will be automatically generated 
for you, and it will be sent to you once you've confirmed your 
subscription. You can always request a mail-back of your password when you 
edit your personal options.

Pick a password:
 
Reenter password to confirm:
 
Which language do you prefer to display your messages?  
Would you like to receive list mail batched in a daily digest?   No  
Yes
Subscribe
devel-newbies Subscribers
(The subscribers list is only available to the list members.)
Enter your address and password to visit the subscribers list:

Address: 
Password: 
  Visit Subscriber List
To unsubscribe from devel-newbies, get a password reminder, or change your 
subscription options enter your subscription email address:

 Unsubscribe or edit options If you leave the field blank, you will be 
prompted for your email address


-- 
Best regards,
Ivan___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies


Re: [newbies] how to unsubscribe

2019-12-04 Thread Michael Shigorin
On Wed, Dec 04, 2019 at 11:00:01PM +0300, Ivan Zakharyaschev wrote:
> > Stop emailing me 
> If you wish to unsubscribe from this mailing list

Отписал уже, сообщив, что или он сам подписался, или жмакнул
по ссылке подтверждения без размышлений, или кто-то ещё имеет
доступ к его почте.

-- 
  WBR, Michael Shigorin / http://altlinux.org
  -- http://opennet.ru / http://anna-news.info
___
devel-newbies mailing list
devel-newbies@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-newbies