LINUX.ORG.RU
ФорумTalks

pxz (parallel xz) приходит в Слаку

 , ,


0

1

Написал слакбилд для pxz (parallel xz). pxz присутствует в таком дистрибутиве как Fedora, и, по ходу, написан одним из маинтейнеров этого дистрибутива. https://github.com/saahriktu/saahriktu-slackbuilds/tree/master/pxz . Исходники находятся здесь: https://jnovy.fedorapeople.org/pxz/node3.html .

Для x86_64 получился такой пакет: https://yadi.sk/d/I2ly_-PA3MLeyD

Отсутствие pxz в базовой Slackware, по ходу, является одной из причин, по которой слакбилды на slackbuilds.org до сих пор по дефолту собирают именно .tgz пакеты, а не .txz.

> Dunno if it has been discussed before.
> Is it considered moving PKGTYPE to txz as default for future
> slackbuilds, say after next Slackware release?


Nope, there are no plans to do that, for two main reasons:

1. This would increase the packaging time (quite a bit for some
large packages).
2. This is easily set by you in your build environment, i.e. if you
"export PKGTYPE=txz" before building, the package will be created
as a txz instead of tgz.

As a reasonable default, tgz is exactly that.
Также пропатчил makepkg на использование pxz вместо xz. Готовый noarch пакет pkgtools-14.2 с этим модифицированным makepkg можно взять здесь: https://yadi.sk/d/dOAb3Iec3MLicJ .

★★★★★

pxz

Оно давно устарело и ненужно. Обычный xz умеет в многопоточность.

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

Гм. Но, по дефолту оно в нём почему-то отключено. Точнее, включено, но с

use at most NUM threads; the default is 1

Получается, что для нужного эффекта придётся, как минимум, городить дополнительный алиас:

alias xz="xz -T0"

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

Не знаю, как сейчас, но раньше это не работало.

У меня в скриптах до сих пор pixz везде.

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

Ну алиас лучше устаревшего форка. Плюс можно вообще не городить алиас, а просто задать переменную XZ_OPTS.

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

Гм. Странно. Поддержка .txz в makepkg, смотрю, появилась только в Slackware 13, при этом уже там оно было реализовано как

'txz' | 'tar.xz' )
  $TAR cvf - . | xz -c > ${TARGET_NAME}/${TAR_NAME}.${EXTENSION}
  ERRCODE=$?
  if [ ! $ERRCODE = 0 ]; then
    echo "ERROR:  xz returned error code $ERRCODE -- makepkg failed."
  fi
, а при выполнении
$TAR cvf - . | xz -c > ${TARGET_NAME}/${TAR_NAME}.${EXTENSION}
алиас работать должен. Или нет?

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

А, ну да:

aliases by default are not expanded in non-interactive shells.

Second, .bashrc is not read by non-interactive shells unless you set the BASH_ENV environment variable.

Значит, получается, нужно

export XZ_OPTS="-T0"
.

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

Снова угадал автора по заголовку.

ashot ★★★ ()

Это ж здорово, когда попытка починить то, что не ломалось, заканчивается именно так.

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

Лучше бы она заканчивалась ещё до начала реализации, на моменте гуглинга.

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