#!/bin/sh CWD=`pwd` TMP=$CWD/temp OO_INSTALL_PATH=/opt/openoffice.org2.0 OOoVERSION=2.0.1 PKG_NAME=openoffice.org_slackware_menus-$OOoVERSION-noarch-1asz ### mkdir -p $PKG/usr ### Step 1 ### unpack OO.o package echo 1 tar xzvf $CWD/OOo_*.tar.gz ### Step 2 ### convert openoffice.org-suse-menus-2.0.0-3.noarch.rpm package in to *.tgz using rpm2tgz utility. echo 2 cd $CWD/OOA680*/RPMS/desktop-integration ls rpm2tgz openoffice.org-suse*.rpm ### Step 3 ### install *.tgz package in a "working directory" echo 3 mkdir -p $TMP cd $TMP tar xzvf $CWD/OOA680*/RPMS/desktop-integration/openoffice.org-suse*.tgz ### Step 4 ### remove gnome related files echo 4 rm -rf $TMP/opt/gnome rm -rf $TMP/usr/bin/* rm -rf $TMP/usr/share ### Step 5 ### move KDE related files to /opt/kde echo 5 mv $TMP/opt/kde3 $TMP/opt/kde ### Step 6 and 8 ### Creation of doinst.sh script that restores symlinks echo 6 and 8 mkdir -p $TMP/install DOINST=$TMP/install/doinst.sh cat << EOF > $DOINST ( cd usr/bin ; rm -rf soffice ) ( cd usr/bin ; ln -sf $OO_INSTALL_PATH/program/soffice soffice ) ( cd usr/share/applications ; rm -rf openoffice.org-2.0-base.desktop ) ( cd usr/share/applications ; ln -sf $OO_INSTALL_PATH/share/xdg/base.desktop openoffice.org-2.0-base.desktop ) ( cd usr/share/applications ; rm -rf openoffice.org-2.0-calc.desktop ) ( cd usr/share/applications ; ln -sf $OO_INSTALL_PATH/share/xdg/calc.desktop openoffice.org-2.0-calc.desktop ) ( cd usr/share/applications ; rm -rf openoffice.org-2.0-draw.desktop ) ( cd usr/share/applications ; ln -sf $OO_INSTALL_PATH/share/xdg/draw.desktop openoffice.org-2.0-draw.desktop ) ( cd usr/share/applications ; rm -rf openoffice.org-2.0-impress.desktop ) ( cd usr/share/applications ; ln -sf $OO_INSTALL_PATH/share/xdg/impress.desktop openoffice.org-2.0-impress.desktop ) ( cd usr/share/applications ; rm -rf openoffice.org-2.0-math.desktop ) ( cd usr/share/applications ; ln -sf $OO_INSTALL_PATH/share/xdg/math.desktop openoffice.org-2.0-math.desktop ) ( cd usr/share/applications ; rm -rf openoffice.org-2.0-printeradmin.desktop ) ( cd usr/share/applications ; ln -sf $OO_INSTALL_PATH/share/xdg/printeradmin.desktop openoffice.org-2.0-printeradmin.desktop ) ( cd usr/share/applications ; rm -rf openoffice.org-2.0-writer.desktop ) ( cd usr/share/applications ; ln -sf $OO_INSTALL_PATH/share/xdg/writer.desktop openoffice.org-2.0-writer.desktop ) EOF touch $DOINST ### Step 7 ### Creation of openoffice.org-2.0 script echo 7 OOo_bin=$TMP/usr/bin/openoffice.org-2.0 rm -rf $OOo_bin cat << EOF > $OOo_bin #!/bin/sh exec $OO_INSTALL_PATH/program/soffice "\$@" EOF touch $OOo_bin chmod +x $OOo_bin ### Creation of openoffice.org-2.0-printeradmin script OOo_padmin=$TMP/usr/bin/openoffice.org-2.0-printeradmin rm -rf $OOo_padmin cat << EOF > $OOo_padmin #!/bin/sh exec $OO_INSTALL_PATH/program/spadmin EOF touch $OOo_padmin chmod +x $OOo_padmin ### Step 9 ### copy in to /usr/doc/openoffice.org-2.0.0 LICENSE_en-US, LICENSE_en-US.html, README_en-US, README_en-US.html (slackware requirement) echo 9 mkdir -p $TMP/usr/doc/openoffice.org-$OOoVERSION cd $CWD/OOA680*/licenses cp -a LICENSE_en-US LICENSE_en-US.html \ $TMP/usr/doc/openoffice.org-$OOoVERSION cd $CWD/OOA680*/readmes cp -a README_en-US README_en-US.html \ $TMP/usr/doc/openoffice.org-$OOoVERSION chmod 644 $TMP/usr/doc/openoffice.org-$OOoVERSION/* ### Step 10 ### create in /usr/doc/openoffice.org-2.0.0 README_SLACK with short instructions how to convert OO.o rpms into slackware .tgz and install them. echo 10 README_SLACK=$TMP/usr/doc/openoffice.org-$OOoVERSION/README_SLACK cat << EOF > $README_SLACK In order to install official OpenOffice.org package under Slackware do the following in the directory where you downloaded the package: tar xzvf OO*install.tar.gz cd OOO*/RPMS rpm2tgz * installpkg *.tgz EOF touch $README_SLACK ### Step 11 ### create short package description in /install/slack-desc echo 11 SLACK_DESC=$TMP/install/slack-desc cat << EOF > $SLACK_DESC |-----handy-ruler------------------------------------------------------| openoffice.org_slackware_menus: OpenOffice.org - Multiplatform, open-source office suite openoffice.org_slackware_menus: openoffice.org_slackware_menus: OpenOffice.org is a multiplatform and multilingual office suite openoffice.org_slackware_menus: and an open-source project. Compatible with all other major openoffice.org_slackware_menus: office suites, the product is free to download, use and distribute. openoffice.org_slackware_menus: This package is a modification of official desktop integration openoffice.org_slackware_menus: packages from OpenOffice.org. openoffice.org_slackware_menus: http://www.openoffice.org/ openoffice.org_slackware_menus: openoffice.org_slackware_menus: This version of OO.o_slackware_menus was prepared for Slackware openoffice.org_slackware_menus: by Andrzej Szelachowski EOF touch $SLACK_DESC ### Step 12 ### change files ownership in to root.root (slackware requirement) echo 12 cd $TMP echo $TMP chown -R root.root . find . -perm 664 -exec chmod 644 {} \; chown -R root.bin $TMP/usr/bin ### Step 13 ### 13- create slackware package using makepkg it is a slackware tool that basically removes all symbolic links and creates doinst.sh so that that symbolic links can be restored during installation, then it tar and gzip the content of "working directory" echo 13 tar cvf $PKG_NAME.tar . #tar-1.13 cvf $PKG_NAME.tar . gzip -9 $PKG_NAME.tar mv $PKG_NAME.tar.gz $PKG_NAME.tgz