16 сентября 2015

Добавляем сканер Epson Perfection V100 в Gentoo

Т.к. в официальных и даже сторонних репозиториях драйвера для этого сканера нет, то придётся немного потрудиться. Совсем немного =)


1. Скачиваем 2 файла: iscan-plugin-gt-s600-2.1.2-1.i386.rpm и iscan-plugin-gt-s600-2.1.2-1.x86_64.rpm. Кладём их в /usr/portage/distfiles. Если файлы по ссылкам недоступны - можно просто поискать их в другом месте, обычно они есть на зеркалах Fedora и RedHat. Скачивать приходится из-за того что Epson ограничил доступ к ним на своём официальном сайте (старые ссылки есть в ebuild что ниже).

2. Сделаем локальный оверлей портеджа, дабы поставить пакет по уму.
2.1. Организуем скелет оверлея:
mkdir -p /usr/local/portage/{metadata,profiles}
echo 'my_overlay' > /usr/local/portage/profiles/repo_name
echo 'masters = gentoo' > /usr/local/portage/metadata/layout.conf
mkdir -p /etc/portage/repos.conf
touch /etc/portage/repos.conf/local.conf

Запишем в файл /etc/portage/repos.conf/local.conf следующее содержимое:
[my_overlay]
location = /usr/local/portage
masters = gentoo
auto-sync = no

2.2. Делаем папку проекта:
mkdir -p /usr/local/portage/media-gfx/iscan-plugin-gt-s600

2.3. Создадим в этой папке файл сборки пакета с именем iscan-plugin-gt-s600-2.1.2.ebuild (взят отсюда) со следующим содержимым:

# Copyright 1999-2009 Gentoo Foundation 
# Distributed under the terms of the GNU General Public License v2 
# $Header: $ 

EAPI="2" 

inherit rpm 

# Revision used by upstream 
SRC_REV="1" 

MY_P="${P}-${SRC_REV}" 

DESCRIPTION="Epson Perfection V10/V100 PHOTO scanner plugin for SANE 'epkowa' backend." 
HOMEPAGE="http://www.avasys.jp/english/linux_e/dl_scan.html" 
SRC_URI=" 
        x86?   ( http://linux.avasys.jp/drivers/iscan-plugins/iscan-plugin-gt-s600/${PV}/${MY_P}.i386.rpm ) 
        amd64? ( http://linux.avasys.jp/drivers/iscan-plugins/iscan-plugin-gt-s600/${PV}/${MY_P}.x86_64.rpm )" 

LICENSE="AVASYS Public License" 
SLOT="0" 
KEYWORDS="~x86 ~amd64" 

IUSE="" 
IUSE_LINGUAS="ja" 

for X in ${IUSE_LINGUAS}; do IUSE="${IUSE} linguas_${X}"; done 

DEPEND=">=media-gfx/iscan-2.18.0" 
RDEPEND="${DEPEND}" 

MY_LIB="/usr/$(get_libdir)" 

src_install() { 
        # install scanner firmware 
        insinto /usr/share/iscan 
        doins "${WORKDIR}"/usr/share/iscan/* 

        # install docs 
        if use linguas_ja; then 
           dodoc usr/share/doc/"${P}"/AVASYSPL.ja.txt 
         else 
           dodoc usr/share/doc/"${P}"/AVASYSPL.en.txt 
        fi 

        # install scanner plugins 
        insinto "${MY_LIB}"/iscan 
        INSOPTIONS="-m0755" 
        doins "${WORKDIR}"/usr/$(get_libdir)/iscan/libesint66.so.2.0.1 
        dosym libesint66.so.2.0.1 /usr/$(get_libdir)/iscan/libesint66.so.2 
        dosym libesint66.so.2.0.1 /usr/$(get_libdir)/iscan/libesint66.so 


pkg_postinst() { 
        # Needed for scaner to work properly. 
        iscan-registry --add interpreter usb 0x04b8 0x012d ${MY_LIB}/iscan/libesint66 /usr/share/iscan/esfw66.bin 
        
        elog 
        elog "Firmware file esfw66.bin for Epson Perfection V10 /" 
        elog "V100 PHOTO has been installed in /usr/share/iscan and" 
        elog "registered for use" 
        elog 


pkg_prerm() { 
        # Uninstall interpreter from iscan-registry before removal 
        iscan-registry --remove interpreter usb 0x04b8 0x012d ${MY_LIB}/iscan/libesint66 /usr/share/iscan/esfw66.bin 
}


2.4. Сделаем manifest-файл:
pushd /usr/local/portage/media-gfx/iscan-plugin-gt-s600
repoman manifest
popd

3. Поправим права на все файлы чтобы установщик к ним имел доступ:
chown -R portage:portage /usr/local/portage
chown portage:portage /usr/portage/distfiles/iscan-plugin-gt-s600-2.1.2-1.i386.rpm
chown portage:portage /usr/portage/distfiles/iscan-plugin-gt-s600-2.1.2-1.x86_64.rpm

4. Размаскируем пакет media-gfx/iscan-plugin-gt-s600:
echo '=media-gfx/iscan-plugin-gt-s600-2.1.2' >> /etc/portage/package.keywords/iscan-v100

4.1. Опционально, можно добавить в iscan поддержку Gimp, чтобы сканировать прямо из Gimp:
echo 'media-gfx/iscan gimp' >> /etc/portage/package.use/iscan

4.2. Ставим пакет media-gfx/iscan-plugin-gt-s600 (он потянет за собой всё необходимое, в том числе iscan, sane-backends и, возможно, gimp):
emerge -auv media-gfx/iscan-plugin-gt-s600

5. Поправим файл /etc/sane.d/dll.conf - надо закомментировать все строки, кроме той где написано epkowa. Также комментируем строку scsi в файле /etc/sane.d/epkowa

Собственно всё =)

Комментариев нет:

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