Сайт | Скачать | Видео | Wiki

Автор Тема: txz2dir  (Прочитано 537 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DdShurick

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6319
  • Репутация: +161/-0
  • Старый чайник
txz2dir
« : 12 Декабрь 2017, 13:53:45 »
 Скрипт для массовой распаковки пакетов Slackware *.txz. Альфа. Что добавить/убрать?
#!/bin/sh
#txz2dir unpack Slackware *.txz in two dir (name and name_DEV). DdShurick GPL v2 12.12.2017
cd "$1" #path to bullddir whith packages txz
ls -1 *\.txz | while read P;
do
D=$(echo $P | sed 's/-x86.*//;s/-noarch//')
mkdir -p $D/etc/packages/mount/$D
mkdir -p ${D}_DEV/usr/{lib,share}
cd $D
tar -xJf ../$P
sh install/doinst.sh
rm -r install
[ -d usr/doc ] && mv usr/doc ../${D}_DEV/usr/share/
[ -d usr/info ] && mv usr/info ../${D}_DEV/usr/share/
[ -d usr/man ] && mv usr/man ../${D}_DEV/usr/share/
[ -d usr/include ] && mv usr/include ../${D}_DEV/usr/
[ -d usr/lib/pkgconfig ] && mv usr/lib/pkgconfig ../${D}_DEV/usr/lib/
if [ -d usr/share/locale ]; then
mkdir ../${D}_DEV/usr/share/locale
ls -1 usr/share/locale | while read L;
do
[ "$L" = "ru" -o  "$L" = "ru_RU" ] && continue
mv usr/share/locale/$L ../${D}_DEV/usr/share/locale/
done
fi
find usr ../${D}_DEV/usr -type d -empty -delete
find . ! -type d | cut -b 2- > etc/packages/mount/$D/pfs.files
cd ../
done
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)