LINUX.ORG.RU

Нововведения портаге (new modular plug-in sync system)

 , ,


3

5

Что-то совсем тишина по поводу новых порядков в портаге, а также, что SYNC= и PORTDIR_OVERLAY= в make.conf — deprecated с позавчера.

GOOD NEWS EVERYONE, теперь вместо пару строчек в make.conf нужно работать с отдельными файлами, если это не удобство и улучшение, то что такое вообще удобство.

Перевод на новые repos.conf/{gentoo,local}.conf прошел без проблем, но зачем было создавать эти неудобства, заменять пару строчек в главном конфиге - на новые файлы и синтаксис, с таким рвением к новизне и изменениям вполне вырисовывается на горизонте переход на систему от Горшечника.

На странице вики (там же инструкция по миграции) утверждается, что это привносит новые возможности и удобства по работе с репами и оверлеями, хотя за 7 лет использования генты, лично я никаких неудобств не испытывал, мне было очень удобно иметь две строчки в make.conf вместо дополнительных директорий и файлов в них.


Ах ты неблагодарный, тебе родина дала файлы-конфиги, а ты ещё и нос воротишь! В наше время коней жрали по талонам, а ему видите ли конфиги не нравятся!

vurdalak ★★★★★
()

а также, что SYNC= и PORTDIR_OVERLAY= в make.conf — deprecated с позавчера.

С разморозкой, они deprecated с введением repos.conf, то есть где-то с 2.2.8

Перевод на новые repos.conf/{gentoo,local}.conf прошел без проблем, но зачем было создавать эти неудобства

Для улучшения интеграции с layman и общей работы в качестве метадистрибутива(отвязка от того факта, что главное дерево - это только 'gentoo'). Gentoo-based дистры одобряют.

привносит новые возможности и удобства по работе с репами и оверлеями, хотя за 7 лет использования генты, лично я никаких неудобств не испытывал

Ты не испытывал, многие испытывали. Особенно в плане поддержания работы с нестандартными оверлеями и VCS в которых они хранятся

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)

В paludis давно так, и это удобно.

Deleted
()

Одобряю, теперь деплой и настройка puppet'ом будет ещё проще.

Chaser_Andrey ★★★★★
()

Перешёл на портаге-9999 (сейчас там 2.2.16) ещё позавчера, и знаешь, мне кажется, новые плюшки портажа куда более логичны и гибки, чем ранее. Потыкав позавчера новый портаж, я таки вчера снёс layman, потому, что теперь в нём нет нужды — portage сам умеет синкать все нужные мне оверлеи. Deprecated? С разморозкой! Их уж давно объявили. Многофайлов? ВНЕЗАПНО! make.conf может быть директорией, как и package.{use,mask,unmask,accept_keywords}.

funeralismatic ★★★
()
Ответ на: комментарий от XVilka

Да они упоролись! Один уткнулся рогом в то что логи не приаттачены, другой в то что он из принципа не будет их аттачить.

vurdalak ★★★★★
()
Ответ на: комментарий от funeralismatic

снёс layman

А как добавлять оверлэй без него? Руками прописывать его свойства в конфиге? Просто нелогично его удалять, т.к. layman -a ведь должен делать самостоятельно эту работу, нет?

yura_ts ★★
()
Ответ на: комментарий от yura_ts

так дофига работы прописать пару строчек в конфиг и запустить emerge --sync, лол

тем более, что layman знает не все оверлеи

anonymous
()
Ответ на: комментарий от funeralismatic

я таки вчера снёс layman, потому, что теперь в нём нет нужды

Можно пример конфига для какого-нибудь оверлея? Я что-то не осилил вики:

Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.3/emerge", line 50, in <module>
    retval = emerge_main()
  File "/usr/lib64/python3.3/site-packages/_emerge/main.py", line 1121, in emerge_main
    return run_action(emerge_config)
  File "/usr/lib64/python3.3/site-packages/_emerge/actions.py", line 3054, in run_action
    return action_sync(emerge_config)
  File "/usr/lib64/python3.3/site-packages/_emerge/actions.py", line 1929, in action_sync
    retvals = syncer.auto_sync(options={'return-messages': False})
  File "/usr/lib64/python3.3/site-packages/portage/emaint/modules/sync/sync.py", line 94, in auto_sync
    emaint_opts=options)
  File "/usr/lib64/python3.3/site-packages/portage/emaint/modules/sync/sync.py", line 219, in _sync
    returncode, message = sync_manager.sync(self.emerge_config, repo)
  File "/usr/lib64/python3.3/site-packages/portage/sync/controller.py", line 148, in sync
    taskmaster.run_tasks(tasks, func, status, options=task_opts)
  File "/usr/lib64/python3.3/site-packages/portage/sync/controller.py", line 65, in run_tasks
    result = getattr(inst, func)(**kwargs)
  File "/usr/lib64/python3.3/site-packages/portage/sync/syncbase.py", line 119, in sync
    if not self._has_bin:
  File "/usr/lib64/python3.3/site-packages/portage/sync/syncbase.py", line 56, in _has_bin
    level=self.logger.ERROR, noiselevel=-1)
AttributeError: 'function' object has no attribute 'ERROR'
afterlanding ★★
()
Ответ на: комментарий от yura_ts

Ты так ленив, что не можешь сделать

echo -e "[reponame]\nsync-type = git\nsync-uri = http://github.com/idiot/reponame.git\nlocation = /usr/bydloverlay\nauto-sync = yes" > /etc/portage/repos.conf/reponame.conf && emaint sync -a
?

funeralismatic ★★★
()
Ответ на: комментарий от afterlanding
/etc/portage/repos.conf/mozilla.conf:

[mozilla]
location = /usr/overlays/mozilla
sync-type = git
sync-uri = git://git.overlays.gentoo.org/proj/mozilla.git
auto-sync = yes

Все оверлеи с auto-sync yes/true обновляются через emaint sync опцией -a, абсолютно все, в том числе и с auto-sync no/false — -A.

funeralismatic ★★★
()
Ответ на: комментарий от funeralismatic
cat /etc/portage/repos.conf/mozilla.conf
[mozilla]
location = /usr/overlays/mozilla
sync-type = git
sync-uri = git://git.overlays.gentoo.org/proj/mozilla.git
auto-sync = yes
>>> Syncing repository 'mozilla' into '/usr/overlays/mozilla'...
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.3/emaint", line 36, in <module>
    emaint_main(sys.argv[1:])
  File "/usr/lib64/python3.3/site-packages/portage/emaint/main.py", line 242, in emaint_main
    taskmaster.run_tasks(tasks, func, status, options=task_opts)
  File "/usr/lib64/python3.3/site-packages/portage/emaint/main.py", line 139, in run_tasks
    result = getattr(inst, func)(**kwargs)
  File "/usr/lib64/python3.3/site-packages/portage/emaint/modules/sync/sync.py", line 94, in auto_sync
    emaint_opts=options)
  File "/usr/lib64/python3.3/site-packages/portage/emaint/modules/sync/sync.py", line 219, in _sync
    returncode, message = sync_manager.sync(self.emerge_config, repo)
  File "/usr/lib64/python3.3/site-packages/portage/sync/controller.py", line 148, in sync
    taskmaster.run_tasks(tasks, func, status, options=task_opts)
  File "/usr/lib64/python3.3/site-packages/portage/sync/controller.py", line 65, in run_tasks
    result = getattr(inst, func)(**kwargs)
  File "/usr/lib64/python3.3/site-packages/portage/sync/syncbase.py", line 119, in sync
    if not self._has_bin:
  File "/usr/lib64/python3.3/site-packages/portage/sync/syncbase.py", line 56, in _has_bin
    level=self.logger.ERROR, noiselevel=-1)
AttributeError: 'function' object has no attribute 'ERROR'
ls -l /usr/overlays/
итого 12
drwxr-xr-x 2 portage portage 4096 фев 10 17:48 deadbeef
drwxr-xr-x 2 portage portage 4096 фев 10 17:57 mozilla
drwxr-xr-x 2 portage portage 4096 фев 10 17:56 steam-overlay

В чем может быть проблема?

afterlanding ★★
()
Ответ на: комментарий от afterlanding

вики прочитай внимательней

Deleted
()
Ответ на: комментарий от vurdalak

Плюсую. Неправы оба, но vapier хотя бы напирает на принятые нормы политики. А flameeyes стоило бы просто принять патч на аттач логов, который ему в разных вариациях слали раз 10.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Тут должен был появиться кто-то третий, кто бы их утихомирил и выбрал бы самый безболезненный вариант. Но видимо такового в команде разработчиков не оказалось.

vurdalak ★★★★★
()
Ответ на: комментарий от fluorite

Вообще, меня таки радует, что гента уже почти не прибита к гентушному дереву. «Почти» только потому, что полноценной замены ему нет.

funeralismatic ★★★
()
Ответ на: комментарий от funeralismatic

Вот выбрал 3.4, python-updater сделал

# eselect python list
Available Python interpreters:
  [1]   python2.7
  [2]   python3.3
  [3]   python3.4 *


=== Sync completed for gentoo
>>> Syncing repository 'mozilla' into '/usr/overlays/mozilla'...
Traceback (most recent call last):
  File "/usr/lib/python-exec/python2.7/emerge", line 50, in <module>
    retval = emerge_main()
  File "/usr/lib64/python2.7/site-packages/_emerge/main.py", line 1121, in emerge_main
    return run_action(emerge_config)
  File "/usr/lib64/python2.7/site-packages/_emerge/actions.py", line 3054, in run_action
    return action_sync(emerge_config)
  File "/usr/lib64/python2.7/site-packages/_emerge/actions.py", line 1929, in action_sync
    retvals = syncer.auto_sync(options={'return-messages': False})
  File "/usr/lib64/python2.7/site-packages/portage/emaint/modules/sync/sync.py", line 94, in auto_sync
    emaint_opts=options)
  File "/usr/lib64/python2.7/site-packages/portage/emaint/modules/sync/sync.py", line 219, in _sync
    returncode, message = sync_manager.sync(self.emerge_config, repo)
  File "/usr/lib64/python2.7/site-packages/portage/sync/controller.py", line 148, in sync
    taskmaster.run_tasks(tasks, func, status, options=task_opts)
  File "/usr/lib64/python2.7/site-packages/portage/sync/controller.py", line 65, in run_tasks
    result = getattr(inst, func)(**kwargs)
  File "/usr/lib64/python2.7/site-packages/portage/sync/syncbase.py", line 119, in sync
    if not self._has_bin:
  File "/usr/lib64/python2.7/site-packages/portage/sync/syncbase.py", line 56, in _has_bin
    level=self.logger.ERROR, noiselevel=-1)
AttributeError: 'function' object has no attribute 'ERROR'
И не понятно куда копать :/

afterlanding ★★
()
Ответ на: комментарий от vurdalak

Безболезненный вариант уже выбрал Patrick Lauer, подняв свой tinderbox

Pinkbyte ★★★★★
()

А мне понравилось, теперь одной командой emerge --sync у меня синкается и портага и все оверлеи - удобно. Чем вы не довольны?

Lavos ★★★★★
()
Последнее исправление: Lavos (всего исправлений: 1)
Ответ на: комментарий от Lavos

Гента любит хейтеров. Для них сделали eudev, apulse, а теперь и синк без eix.

Кстати, а как ты ищешь. Запускаешь emerge -s и идёшь пить кофе, пока он шуршит винтом?

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

Чаще всего e-file'ом, если хочу узнать в каком пакете файл. А если я и так знаю имя пакета - зачем его искать? Делаю emerge -pv и гляжу юзы.

Lavos ★★★★★
()
Ответ на: комментарий от vurdalak

но это же проксизашквар. те зашкваривается только то, что под капотом, а он получает агностический результат

anonymous
()
Ответ на: комментарий от Chaser_Andrey

Да, он не прав. Но и другой чувак вполне мог бы сам аттачить эти логи, если ему действительно нужен tinderbox. Между эффективностью и этикой обычно выбирают эффективность.

vurdalak ★★★★★
()
Ответ на: комментарий от funeralismatic

Да, я так ленив, что сделаю

layman -a overlayname

А когда мне не хватит тех оверлеев, что есть в лэймане, тогда что-то ещё буду городить.

yura_ts ★★
()
Ответ на: комментарий от yura_ts

layman -a overlayname

Не вижу нужды в лишней сущности, которая пинается раз в тыщу лет.

funeralismatic ★★★
()
Ответ на: комментарий от Pinkbyte

Не знаю помог ли мой репорт в багзилле, но вопрос похоже исчерпан:

Version bump, remove masked version, /add cvs, git, subversion USE flags

Portage version: 2.2.17

afterlanding ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.