파일이 2개이다. PKGBUILD, hwpviewer-installer.installer


#
# PKGBUILD
#
pkgname=hwpviewer-installer
pkgver=2020.09.07
pkgrel=1
pkgdesc="installer for hwpviewer"
arch=("x86_64")
license=('custom')
install=$pkgname.install

makedepends=('curl' 'gtk-update-icon-cache')
depends=('libjpeg6-turbo')


pre_install() {

echo "
hwpviewer-installer 는 (주)한글과컴퓨터에서 제공하는 소프트웨어가 아니므로 (주)한글과컴퓨터에
문의하지 마세요. 본 인스톨러를 사용하시기 전에 한컴오피스 뷰어 사용권 및 저작권을 반드시 읽으십시오.
귀하께서 한컴오피스 뷰어 사용권 및 저작권을 준수하지 않아서 발생하는 손해에 대해 hwp 뷰어 인스톨러
제공자는 책임지지 않습니다.

hwpviewer-installer 는 (주)한글과컴퓨터에서 제공하는
hancomoffice-hwpviewer-Ubuntu-amd64.deb 를 설치하기 위한 패키지입니다.
hwpviewer-installer 에 오류가 있을 수 있습니다. hwpviewer-installer 를 사용하시면서
귀하께 손해가 발생하더라도 hwp 뷰어 인스톨러 제공자는 이에 대해 책임을 지지 않습니다.

hwpviewer-installer 를 이용하여 hancomoffice-hwpviewer 를 설치한 후 hwp 문서를 보고자
하는 순수한 마음에 hwpviewer-installer 를 만들었습니다. hwpviewer-installer 에 관한
저작권/라이선스/법적 부분에 문제가 있다면, 알려주시기 바랍니다. hancomoffice-hwpviewer 를
제공해주시는 (주)한글과컴퓨터에 감사하다는 말씀을 드립니다.

아래는 (주)한글과컴퓨터의 홈페이지에 있는 사용권 및 저작권 안내입니다.

https://www.hancom.com/cs_center/csDownload.do

한컴오피스 뷰어 사용권 및 저작권 안내 보기

<한컴오피스 뷰어 정보>

“한컴오피스 뷰어”는 (주)한글과컴퓨터에서 개발하여 배포하는 한글, 한워드, 한셀, 한쇼 전용 뷰어를
통합한 오피스 전용 뷰어 프로그램입니다.

“한컴오피스 뷰어”를 이용하면 오피스를 설치하지 않은 사용자도 한글, 한워드, 한셀, 한쇼뿐만 아니라
마이크로소프트 워드, 엑셀, 파워포인트 문서도 불러올 수 있습니다.

<한컴오피스 뷰어 사용권>

“한컴오피스 뷰어”는 (주)한글과컴퓨터의 허락 없이 재배포하거나 유통할 수 없으며, 한컴오피스 뷰어의 차기
버전의 공개 이전까지 사용할 수 있습니다. 또한 한컴오피스 뷰어에 대한 별도의 고객 지원은 제공하지
않습니다.

“한컴오피스 뷰어”는 개인이 비상업적인 목적으로 사용하는 경우에 한하여 누구나 자유롭게 다운로드 받아
사용할 수 있으며, 기업이나 단체에서 사용하고자 할 경우에는 위에서 언급한 ‘재배포’ 행위에 해당하므로,
(주)한글과컴퓨터의 서면 상 승인을 받으신 후 사용하시기 바랍니다.

<한컴오피스 뷰어 저작권>

“한컴오피스 뷰어”에 포함된 모든 프로그램과 부속물에 대한 저작권과 지적 소유권은 (주)한글과컴퓨터 또는
해당 개발사가 가지고 있으며, 이 권리는 대한민국의 저작권법과 국제 저작권 조약에 의해 보호받고 있습니다.

따라서 (주)한글과컴퓨터의 사전 서면 동의 없이 부속된 자료 파일이나 문서 내용의 전부 또는 일부를 수정,
변형 및 복사할 수 없습니다.

또한 (주)한글과컴퓨터는 이 제품에 포함된 기능이 고객의 특정 목적에 적합할 것이라는 보증은 하지 않으며,
본 제품의 사용으로 인해 초래된 모든 결과에 대하여 책임지지 않습니다.

<자동 업데이트>

(주)한글과컴퓨터는 자동 업데이트를 통해 소프트웨어에서 확인된 오류를 수정하거나 기능을 개선하며, 특히
보안상 문제를 야기할 수 있는 심각한 사항에 대해 사용자의 동의 없이 소프트웨어를 업데이트할 수 있습니다.

사용자는 이 자동 업데이트에 동의하지 않을 권리가 있으며 동의하지 않음으로써 발생할 수 있는 사용자의
사업상 손실, 이익 손실, 사업 중단, 사업 정보 또는 기타 데이터 손실 및 금전적 손실을 포함하되 이에
국한되지 않는 모든 피해에 대해 ㈜한글과컴퓨터는 책임지지 않습니다.

<사용자 정보 수집 및 이용>

(주)한글과컴퓨터는 자동업데이트 서비스 제공을 위해 사용자의 제품번호 및 제품종류, 인터넷 프로토콜
주소를 수집합니다. 보안 및 침해 사고 대응을 위하여 자동업데이트 수행 시점마다 해당 정보를 수집하며,
수집된 정보는 1년간 로그 백업 장치를 통하여 보관하고, 이후 즉시 파기합니다.

보다 상세한 개인정보취급방침은 (주)한글과컴퓨터 홈페이지(www.hancom.com)를 통해 확인 하실 수
있습니다.
"

HWPVIEWERDIR="/usr/local/share/hwpviewer"
TEMP_DIR=`mktemp -d`
echo "Temporary directory created: $TEMP_DIR"
cd $TEMP_DIR

echo
echo "Downloading hancomoffice-hwpviewer-Ubuntu-amd64.deb"
curl -H 'Referer: https://www.hancom.com/cs_center/csDownload.do' -O https://cdn.hancom.com/pds/hnc/VIE/hancomoffice-hwpviewer-Ubuntu-amd64.deb

echo
echo "Downloading libwebkitgtk-3.0-0_2.4.11-3_amd64.deb"
curl -O http://ftp.kr.debian.org/debian/pool/main/w/webkitgtk/libwebkitgtk-3.0-0_2.4.11-3_amd64.deb

echo
echo "Downloading libjavascriptcoregtk-3.0-0_2.4.11-3_amd64.deb"
curl -O http://ftp.kr.debian.org/debian/pool/main/w/webkitgtk/libjavascriptcoregtk-3.0-0_2.4.11-3_amd64.deb

echo
echo "Downloading libicu57_57.1-6+deb9u4_amd64.deb"
curl -O http://security.debian.org/debian-security/pool/updates/main/i/icu/libicu57_57.1-6+deb9u4_amd64.deb

echo
echo "Downloading libenchant1c2a_1.6.0-11.1+b1_amd64.deb"
curl -O http://ftp.kr.debian.org/debian/pool/main/e/enchant/libenchant1c2a_1.6.0-11.1+b1_amd64.deb

echo
echo "Downloading libwebp6_0.6.1-2+b1_amd64.deb"
curl -O http://ftp.kr.debian.org/debian/pool/main/libw/libwebp/libwebp6_0.6.1-2+b1_amd64.deb

echo
echo "Checking MD5 sums..."
MD5SUMS=`md5sum hancomoffice-hwpviewer-Ubuntu-amd64.deb \
         libicu57_57.1-6+deb9u4_amd64.deb \
         libjavascriptcoregtk-3.0-0_2.4.11-3_amd64.deb \
         libwebkitgtk-3.0-0_2.4.11-3_amd64.deb \
         libenchant1c2a_1.6.0-11.1+b1_amd64.deb \
         libwebp6_0.6.1-2+b1_amd64.deb`
c7a388aa99b6d4cbbcf03ed341f486f2  libicu57_57.1-6+deb9u4_amd64.deb
47c54dfb85d10be08d45e948e95e5e08  libjavascriptcoregtk-3.0-0_2.4.11-3_amd64.deb
da70442134cc28b1c3ac66c5b0c397ed  libwebkitgtk-3.0-0_2.4.11-3_amd64.deb
01efcd01f78b6fb89b12a4854d7ddb81  libenchant1c2a_1.6.0-11.1+b1_amd64.deb
2693047b627667f2a84cfc13a9f5405f  libwebp6_0.6.1-2+b1_amd64.deb"

if [ "$MD5SUMS" != "$SUMS" ]; then
  echo "MD5SUMS is invalid."
  exit
fi

echo "Extracting..."
ar -x  hancomoffice-hwpviewer-Ubuntu-amd64.deb
tar xf data.tar.xz
ar -x  libwebkitgtk-3.0-0_2.4.11-3_amd64.deb
tar xf data.tar.xz
ar -x  libjavascriptcoregtk-3.0-0_2.4.11-3_amd64.deb
tar xf data.tar.xz
ar -x  libicu57_57.1-6+deb9u4_amd64.deb
tar xf data.tar.xz
ar -x  libenchant1c2a_1.6.0-11.1+b1_amd64.deb
tar xf data.tar.xz
ar -x  libwebp6_0.6.1-2+b1_amd64.deb
tar xf data.tar.xz

mkdir $HWPVIEWERDIR
cd /
mv $TEMP_DIR/usr $HWPVIEWERDIR

echo "Making wrapper..."
echo "LD_LIBRARY_PATH=$HWPVIEWERDIR/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH exec $HWPVIEWERDIR/usr/bin/hwpviewer \"\$@\"" > /usr/bin/hwpviewer
chmod +x /usr/bin/hwpviewer

echo "Linking files..."
ln -sf $HWPVIEWERDIR/usr/share/hnc /usr/share/hnc

ln -sf $HWPVIEWERDIR/usr/share/locale/ko/LC_MESSAGES/hwpviewer.mo \
                    /usr/share/locale/ko/LC_MESSAGES/hwpviewer.mo
ln -sf $HWPVIEWERDIR/usr/share/mime/packages/hwpviewer.xml \
                    /usr/share/mime/packages/hwpviewer.xml
ln -sf $HWPVIEWERDIR/usr/share/applications/hwpviewer.desktop \
                    /usr/share/applications/hwpviewer.desktop
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/scalable/mimetypes/hwpviewer-vnd.hancom.hwp.svg \
                    /usr/share/icons/hicolor/scalable/mimetypes/hwpviewer-vnd.hancom.hwp.svg
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/scalable/mimetypes/hwpviewer-vnd.hancom.hwt.svg \
                    /usr/share/icons/hicolor/scalable/mimetypes/hwpviewer-vnd.hancom.hwt.svg
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/scalable/apps/hwpviewer-action.svg \
                    /usr/share/icons/hicolor/scalable/apps/hwpviewer-action.svg
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/64x64/mimetypes/hwpviewer-vnd.hancom.hwp.png \
                    /usr/share/icons/hicolor/64x64/mimetypes/hwpviewer-vnd.hancom.hwp.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/64x64/mimetypes/hwpviewer-vnd.hancom.hwt.png \
                    /usr/share/icons/hicolor/64x64/mimetypes/hwpviewer-vnd.hancom.hwt.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/64x64/apps/hwpviewer-action.png \
                    /usr/share/icons/hicolor/64x64/apps/hwpviewer-action.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/96x96/mimetypes/hwpviewer-vnd.hancom.hwp.png \
                    /usr/share/icons/hicolor/96x96/mimetypes/hwpviewer-vnd.hancom.hwp.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/96x96/mimetypes/hwpviewer-vnd.hancom.hwt.png \
                    /usr/share/icons/hicolor/96x96/mimetypes/hwpviewer-vnd.hancom.hwt.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/96x96/apps/hwpviewer-action.png \
                    /usr/share/icons/hicolor/96x96/apps/hwpviewer-action.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/48x48/mimetypes/hwpviewer-vnd.hancom.hwp.png \
                    /usr/share/icons/hicolor/48x48/mimetypes/hwpviewer-vnd.hancom.hwp.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/48x48/mimetypes/hwpviewer-vnd.hancom.hwt.png \
                    /usr/share/icons/hicolor/48x48/mimetypes/hwpviewer-vnd.hancom.hwt.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/48x48/apps/hwpviewer-action.png \
                    /usr/share/icons/hicolor/48x48/apps/hwpviewer-action.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/32x32/mimetypes/hwpviewer-vnd.hancom.hwp.png \
                    /usr/share/icons/hicolor/32x32/mimetypes/hwpviewer-vnd.hancom.hwp.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/32x32/mimetypes/hwpviewer-vnd.hancom.hwt.png \
                    /usr/share/icons/hicolor/32x32/mimetypes/hwpviewer-vnd.hancom.hwt.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/32x32/apps/hwpviewer-action.png \
                    /usr/share/icons/hicolor/32x32/apps/hwpviewer-action.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/72x72/mimetypes/hwpviewer-vnd.hancom.hwp.png \
                    /usr/share/icons/hicolor/72x72/mimetypes/hwpviewer-vnd.hancom.hwp.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/72x72/mimetypes/hwpviewer-vnd.hancom.hwt.png \
                    /usr/share/icons/hicolor/72x72/mimetypes/hwpviewer-vnd.hancom.hwt.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/72x72/apps/hwpviewer-action.png \
                    /usr/share/icons/hicolor/72x72/apps/hwpviewer-action.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/256x256/mimetypes/hwpviewer-vnd.hancom.hwp.png \
                    /usr/share/icons/hicolor/256x256/mimetypes/hwpviewer-vnd.hancom.hwp.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/256x256/mimetypes/hwpviewer-vnd.hancom.hwt.png \
                    /usr/share/icons/hicolor/256x256/mimetypes/hwpviewer-vnd.hancom.hwt.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/256x256/apps/hwpviewer-action.png \
                    /usr/share/icons/hicolor/256x256/apps/hwpviewer-action.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/128x128/mimetypes/hwpviewer-vnd.hancom.hwp.png \
                    /usr/share/icons/hicolor/128x128/mimetypes/hwpviewer-vnd.hancom.hwp.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/128x128/mimetypes/hwpviewer-vnd.hancom.hwt.png \
                    /usr/share/icons/hicolor/128x128/mimetypes/hwpviewer-vnd.hancom.hwt.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/128x128/apps/hwpviewer-action.png \
                    /usr/share/icons/hicolor/128x128/apps/hwpviewer-action.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/16x16/mimetypes/hwpviewer-vnd.hancom.hwp.png \
                    /usr/share/icons/hicolor/16x16/mimetypes/hwpviewer-vnd.hancom.hwp.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/16x16/mimetypes/hwpviewer-vnd.hancom.hwt.png \
                    /usr/share/icons/hicolor/16x16/mimetypes/hwpviewer-vnd.hancom.hwt.png
ln -sf $HWPVIEWERDIR/usr/share/icons/hicolor/16x16/apps/hwpviewer-action.png \
                    /usr/share/icons/hicolor/16x16/apps/hwpviewer-action.png
gtk-update-icon-cache -f -t /usr/share/icons/hicolor
echo "Complete"

cd /tmp

if ! test -z $TEMP_DIR; then
  rm -rf "$TEMP_DIR"
  echo "Temporary directory removed: $TEMP_DIR"
fi
}

pre_remove() {
HWPVIEWERDIR="/usr/local/share/hwpviewer"
echo "Deleting files..."
rm -f /usr/bin/hwpviewer
rm -rf $HWPVIEWERDIR

rm -f /usr/share/locale/ko/LC_MESSAGES/hwpviewer.mo
rm -f /usr/share/mime/packages/hwpviewer.xml
rm -f /usr/share/applications/hwpviewer.desktop
rm -f /usr/share/icons/hicolor/scalable/mimetypes/hwpviewer-vnd.hancom.hwp.svg
rm -f /usr/share/icons/hicolor/scalable/mimetypes/hwpviewer-vnd.hancom.hwt.svg
rm -f /usr/share/icons/hicolor/scalable/apps/hwpviewer-action.svg
rm -f /usr/share/icons/hicolor/64x64/mimetypes/hwpviewer-vnd.hancom.hwp.png
rm -f /usr/share/icons/hicolor/64x64/mimetypes/hwpviewer-vnd.hancom.hwt.png
rm -f /usr/share/icons/hicolor/64x64/apps/hwpviewer-action.png
rm -f /usr/share/icons/hicolor/96x96/mimetypes/hwpviewer-vnd.hancom.hwp.png
rm -f /usr/share/icons/hicolor/96x96/mimetypes/hwpviewer-vnd.hancom.hwt.png
rm -f /usr/share/icons/hicolor/96x96/apps/hwpviewer-action.png
rm -f /usr/share/icons/hicolor/48x48/mimetypes/hwpviewer-vnd.hancom.hwp.png
rm -f /usr/share/icons/hicolor/48x48/mimetypes/hwpviewer-vnd.hancom.hwt.png
rm -f /usr/share/icons/hicolor/48x48/apps/hwpviewer-action.png
rm -f /usr/share/icons/hicolor/32x32/mimetypes/hwpviewer-vnd.hancom.hwp.png
rm -f /usr/share/icons/hicolor/32x32/mimetypes/hwpviewer-vnd.hancom.hwt.png
rm -f /usr/share/icons/hicolor/32x32/apps/hwpviewer-action.png
rm -f /usr/share/icons/hicolor/72x72/mimetypes/hwpviewer-vnd.hancom.hwp.png
rm -f /usr/share/icons/hicolor/72x72/mimetypes/hwpviewer-vnd.hancom.hwt.png
rm -f /usr/share/icons/hicolor/72x72/apps/hwpviewer-action.png
rm -f /usr/share/icons/hicolor/256x256/mimetypes/hwpviewer-vnd.hancom.hwp.png
rm -f /usr/share/icons/hicolor/256x256/mimetypes/hwpviewer-vnd.hancom.hwt.png
rm -f /usr/share/icons/hicolor/256x256/apps/hwpviewer-action.png
rm -f /usr/share/icons/hicolor/128x128/mimetypes/hwpviewer-vnd.hancom.hwp.png
rm -f /usr/share/icons/hicolor/128x128/mimetypes/hwpviewer-vnd.hancom.hwt.png
rm -f /usr/share/icons/hicolor/128x128/apps/hwpviewer-action.png
rm -f /usr/share/icons/hicolor/16x16/mimetypes/hwpviewer-vnd.hancom.hwp.png
rm -f /usr/share/icons/hicolor/16x16/mimetypes/hwpviewer-vnd.hancom.hwt.png
rm -f /usr/share/icons/hicolor/16x16/apps/hwpviewer-action.png
gtk-update-icon-cache -f -t /usr/share/icons/hicolor
echo "Complete"
}


아치리눅스에서 터미널 열고,

makepkg -scf

명령하면,

hwpviewer-installer-2020.09.07-1-x86_64.pkg.tar.xz 패키지 파일이 만들어지고,

pacman -U ./hwpviewer-installer-2020.09.07-1-x86_64.pkg.tar.xz

명령하면 hwpviewer-installer 가 설치되고,

관련 파일을 다운받아서 한컴 리눅스 hwp 뷰어가 설치된다.

터미널에서 hwpviewer 명령하면 hwp 뷰어로 hwp 파일을 볼 수 있다.

snap, flatpak, docker 이런 것들 불필요하다.

옛날부터 전통적으로 사용되고 있는 동적 링킹, LD_LIBRARY_PATH 환경 변수를 이용하여

hwp 회사에서 리눅스용 hwp 를 업데이트를 해주지 않더라도 오래된 리눅스용 어플들을 문제 없이 돌릴 수 있다.