2

Epoptes is a lab view (as in classroom lab) software commonly available in Debian based distributions. I'm trying to rebuild it for CentOS, basically as described here and here. The OpenSuse rpm can be found here, the deb here.

Either way, from deb to rpm or OpenSuse rpm the stopping point is the same:

/var/tmp/rpm-tmp.leBIra: line 1: fg: no job control
error: %pre(epoptes-0.5.10-3.1.noarch) scriptlet failed, exit status 1
error: epoptes-0.5.10-3.1.noarch: install failed
error: epoptes-0.5.10-3.noarch: erase skipped

Basically, trying to install the rpm after rebuild, e.g.,

rpmrebuild -pe epoptes-0.5.10-3.noarch.rpm
rpm -Uvh epoptes-0.5.10-3.noarch.rpm 

fails complaining about job control. I am not sure how to amend this given the workflow for rebuilding the rpm.

From OpenSuse: Using the command rpm -qp --scripts epoptes-0.5.10-3.1.noarch.rpm returns

preinstall scriptlet (using /bin/sh):
%service_add_pre epoptes-server.service
postinstall scriptlet (using /bin/sh):
if ! getent group epoptes >/dev/null; then
    groupadd --system epoptes
fi

if ! [ -f /etc/epoptes/server.key ] || ! [ -f /etc/epoptes/server.crt ] || ! [ -s /etc/epoptes/server.crt ]; then
    if ! [ -d /etc/epoptes ]; then
        mkdir /etc/epoptes
    fi
    openssl req -batch -x509 -nodes -newkey rsa:1024 -days $(($(date --utc +%s) / 86400 + 3652)) -keyout /etc/epoptes/server.key -out /etc/epoptes/server.crt
    chmod 600 /etc/epoptes/server.key
fi
%service_add_post epoptes-server.service
preuninstall scriptlet (using /bin/sh):
%service_del_preun epoptes-server.service
postuninstall scriptlet (using /bin/sh):
%service_del_postun epoptes-server.service

Rebuilding from the Ubuntu deb, installation is successful, but launch fails with:

# epoptes
Traceback (most recent call last):
  File "/usr/bin/epoptes", line 30, in <module>
    import epoptes
ImportError: No module named epoptes

Running rpm -qlp on the RPM generated from the .deb shows:

/etc
/etc/default
/etc/default/epoptes
/etc/epoptes
/etc/init.d/epoptes
/usr
/usr/bin/epoptes
/usr/lib/python2.7
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/epoptes
/usr/lib/python2.7/dist-packages/epoptes-0.5.10_2.egg-info
/usr/lib/python2.7/dist-packages/epoptes/__init__.py
/usr/lib/python2.7/dist-packages/epoptes/common
/usr/lib/python2.7/dist-packages/epoptes/common/__init__.py
/usr/lib/python2.7/dist-packages/epoptes/common/config.py
/usr/lib/python2.7/dist-packages/epoptes/common/constants.py
/usr/lib/python2.7/dist-packages/epoptes/common/ltsconf.py
/usr/lib/python2.7/dist-packages/epoptes/common/xdg_dirs.py
/usr/lib/python2.7/dist-packages/epoptes/core
/usr/lib/python2.7/dist-packages/epoptes/core/__init__.py
/usr/lib/python2.7/dist-packages/epoptes/core/lib_users.py
/usr/lib/python2.7/dist-packages/epoptes/core/structs.py
/usr/lib/python2.7/dist-packages/epoptes/core/wol.py
/usr/lib/python2.7/dist-packages/epoptes/daemon
/usr/lib/python2.7/dist-packages/epoptes/daemon/__init__.py
/usr/lib/python2.7/dist-packages/epoptes/daemon/bashplex.py
/usr/lib/python2.7/dist-packages/epoptes/daemon/commands.py
/usr/lib/python2.7/dist-packages/epoptes/daemon/exchange.py
/usr/lib/python2.7/dist-packages/epoptes/daemon/guiplex.py
/usr/lib/python2.7/dist-packages/epoptes/daemon/uiconnection.py
/usr/lib/python2.7/dist-packages/epoptes/ui
/usr/lib/python2.7/dist-packages/epoptes/ui/__init__.py
/usr/lib/python2.7/dist-packages/epoptes/ui/about_dialog.py
/usr/lib/python2.7/dist-packages/epoptes/ui/benchmark.py
/usr/lib/python2.7/dist-packages/epoptes/ui/client_information.py
/usr/lib/python2.7/dist-packages/epoptes/ui/execcommand.py
/usr/lib/python2.7/dist-packages/epoptes/ui/graph.py
/usr/lib/python2.7/dist-packages/epoptes/ui/gui.py
/usr/lib/python2.7/dist-packages/epoptes/ui/notifications.py
/usr/lib/python2.7/dist-packages/epoptes/ui/remote_assistance.py
/usr/lib/python2.7/dist-packages/epoptes/ui/sendmessage.py
/usr/lib/python2.7/dist-packages/twisted
/usr/lib/python2.7/dist-packages/twisted/plugins
/usr/lib/python2.7/dist-packages/twisted/plugins/epoptesd.py
/usr/share
/usr/share/applications
/usr/share/applications/epoptes.desktop
/usr/share/doc
/usr/share/doc/epoptes
/usr/share/doc/epoptes/README
/usr/share/doc/epoptes/changelog.Debian.gz
/usr/share/doc/epoptes/copyright
/usr/share/epoptes
/usr/share/epoptes/about_dialog.ui
/usr/share/epoptes/client-functions
/usr/share/epoptes/client_information.ui
/usr/share/epoptes/epoptes.ui
/usr/share/epoptes/executeCommand.ui
/usr/share/epoptes/images
/usr/share/epoptes/images/16
/usr/share/epoptes/images/16/assist.png
/usr/share/epoptes/images/16/broadcast-stop.png
/usr/share/epoptes/images/16/broadcast-windowed.png
/usr/share/epoptes/images/16/broadcast.png
/usr/share/epoptes/images/16/execute.png
/usr/share/epoptes/images/16/graph.png
/usr/share/epoptes/images/16/info.png
/usr/share/epoptes/images/16/lock-screen.png
/usr/share/epoptes/images/16/logout.png
/usr/share/epoptes/images/16/message.png
/usr/share/epoptes/images/16/mute.png
/usr/share/epoptes/images/16/observe.png
/usr/share/epoptes/images/16/poweron.png
/usr/share/epoptes/images/16/restart.png
/usr/share/epoptes/images/16/root-terminal.png
/usr/share/epoptes/images/16/shutdown.png
/usr/share/epoptes/images/16/terminal.png
/usr/share/epoptes/images/16/unlock-screen.png
/usr/share/epoptes/images/16/unmute.png
/usr/share/epoptes/images/assist.svg
/usr/share/epoptes/images/broadcast-stop.svg
/usr/share/epoptes/images/broadcast-windowed.svg
/usr/share/epoptes/images/broadcast.svg
/usr/share/epoptes/images/execute.svg
/usr/share/epoptes/images/fat.svg
/usr/share/epoptes/images/graph.png
/usr/share/epoptes/images/info.svg
/usr/share/epoptes/images/lock-screen.svg
/usr/share/epoptes/images/login.png
/usr/share/epoptes/images/logout.svg
/usr/share/epoptes/images/message.svg
/usr/share/epoptes/images/mute.svg
/usr/share/epoptes/images/observe.svg
/usr/share/epoptes/images/off.png
/usr/share/epoptes/images/offline.svg
/usr/share/epoptes/images/on.png
/usr/share/epoptes/images/poweron.svg
/usr/share/epoptes/images/restart.svg
/usr/share/epoptes/images/root-terminal.svg
/usr/share/epoptes/images/shutdown.svg
/usr/share/epoptes/images/standalone.svg
/usr/share/epoptes/images/systemgrp.png
/usr/share/epoptes/images/terminal.svg
/usr/share/epoptes/images/thin.svg
/usr/share/epoptes/images/unlock-screen.svg
/usr/share/epoptes/images/unmute.svg
/usr/share/epoptes/images/usersgrp.png
/usr/share/epoptes/netbenchmark.ui
/usr/share/epoptes/remote_assistance.ui
/usr/share/epoptes/sendMessage.ui
/usr/share/icons
/usr/share/icons/hicolor
/usr/share/icons/hicolor/scalable
/usr/share/icons/hicolor/scalable/apps
/usr/share/icons/hicolor/scalable/apps/epoptes.svg
/usr/share/locale
/usr/share/locale/af
/usr/share/locale/af/LC_MESSAGES
/usr/share/locale/af/LC_MESSAGES/epoptes.mo
/usr/share/locale/ar
/usr/share/locale/ar/LC_MESSAGES
/usr/share/locale/ar/LC_MESSAGES/epoptes.mo
/usr/share/locale/bg
/usr/share/locale/bg/LC_MESSAGES
/usr/share/locale/bg/LC_MESSAGES/epoptes.mo
/usr/share/locale/ca
/usr/share/locale/ca/LC_MESSAGES
/usr/share/locale/ca/LC_MESSAGES/epoptes.mo
/usr/share/locale/ca@valencia
/usr/share/locale/ca@valencia/LC_MESSAGES
/usr/share/locale/ca@valencia/LC_MESSAGES/epoptes.mo
/usr/share/locale/cs
/usr/share/locale/cs/LC_MESSAGES
/usr/share/locale/cs/LC_MESSAGES/epoptes.mo
/usr/share/locale/da
/usr/share/locale/da/LC_MESSAGES
/usr/share/locale/da/LC_MESSAGES/epoptes.mo
/usr/share/locale/de
/usr/share/locale/de/LC_MESSAGES
/usr/share/locale/de/LC_MESSAGES/epoptes.mo
/usr/share/locale/el
/usr/share/locale/el/LC_MESSAGES
/usr/share/locale/el/LC_MESSAGES/epoptes.mo
/usr/share/locale/en_AU
/usr/share/locale/en_AU/LC_MESSAGES
/usr/share/locale/en_AU/LC_MESSAGES/epoptes.mo
/usr/share/locale/en_GB
/usr/share/locale/en_GB/LC_MESSAGES
/usr/share/locale/en_GB/LC_MESSAGES/epoptes.mo
/usr/share/locale/es
/usr/share/locale/es/LC_MESSAGES
/usr/share/locale/es/LC_MESSAGES/epoptes.mo
/usr/share/locale/eu
/usr/share/locale/eu/LC_MESSAGES
/usr/share/locale/eu/LC_MESSAGES/epoptes.mo
/usr/share/locale/fi
/usr/share/locale/fi/LC_MESSAGES
/usr/share/locale/fi/LC_MESSAGES/epoptes.mo
/usr/share/locale/fr
/usr/share/locale/fr/LC_MESSAGES
/usr/share/locale/fr/LC_MESSAGES/epoptes.mo
/usr/share/locale/gl
/usr/share/locale/gl/LC_MESSAGES
/usr/share/locale/gl/LC_MESSAGES/epoptes.mo
/usr/share/locale/he
/usr/share/locale/he/LC_MESSAGES
/usr/share/locale/he/LC_MESSAGES/epoptes.mo
/usr/share/locale/hu
/usr/share/locale/hu/LC_MESSAGES
/usr/share/locale/hu/LC_MESSAGES/epoptes.mo
/usr/share/locale/id
/usr/share/locale/id/LC_MESSAGES
/usr/share/locale/id/LC_MESSAGES/epoptes.mo
/usr/share/locale/it
/usr/share/locale/it/LC_MESSAGES
/usr/share/locale/it/LC_MESSAGES/epoptes.mo
/usr/share/locale/lt
/usr/share/locale/lt/LC_MESSAGES
/usr/share/locale/lt/LC_MESSAGES/epoptes.mo
/usr/share/locale/ml
/usr/share/locale/ml/LC_MESSAGES
/usr/share/locale/ml/LC_MESSAGES/epoptes.mo
/usr/share/locale/ms
/usr/share/locale/ms/LC_MESSAGES
/usr/share/locale/ms/LC_MESSAGES/epoptes.mo
/usr/share/locale/nb
/usr/share/locale/nb/LC_MESSAGES
/usr/share/locale/nb/LC_MESSAGES/epoptes.mo
/usr/share/locale/nl
/usr/share/locale/nl/LC_MESSAGES
/usr/share/locale/nl/LC_MESSAGES/epoptes.mo
/usr/share/locale/oc
/usr/share/locale/oc/LC_MESSAGES
/usr/share/locale/oc/LC_MESSAGES/epoptes.mo
/usr/share/locale/pl
/usr/share/locale/pl/LC_MESSAGES
/usr/share/locale/pl/LC_MESSAGES/epoptes.mo
/usr/share/locale/pt
/usr/share/locale/pt/LC_MESSAGES
/usr/share/locale/pt/LC_MESSAGES/epoptes.mo
/usr/share/locale/pt_BR
/usr/share/locale/pt_BR/LC_MESSAGES
/usr/share/locale/pt_BR/LC_MESSAGES/epoptes.mo
/usr/share/locale/ru
/usr/share/locale/ru/LC_MESSAGES
/usr/share/locale/ru/LC_MESSAGES/epoptes.mo
/usr/share/locale/se
/usr/share/locale/se/LC_MESSAGES
/usr/share/locale/se/LC_MESSAGES/epoptes.mo
/usr/share/locale/sk
/usr/share/locale/sk/LC_MESSAGES
/usr/share/locale/sk/LC_MESSAGES/epoptes.mo
/usr/share/locale/sl
/usr/share/locale/sl/LC_MESSAGES
/usr/share/locale/sl/LC_MESSAGES/epoptes.mo
/usr/share/locale/so
/usr/share/locale/so/LC_MESSAGES
/usr/share/locale/so/LC_MESSAGES/epoptes.mo
/usr/share/locale/sr
/usr/share/locale/sr/LC_MESSAGES
/usr/share/locale/sr/LC_MESSAGES/epoptes.mo
/usr/share/locale/sr@latin
/usr/share/locale/sr@latin/LC_MESSAGES
/usr/share/locale/sr@latin/LC_MESSAGES/epoptes.mo
/usr/share/locale/sv
/usr/share/locale/sv/LC_MESSAGES
/usr/share/locale/sv/LC_MESSAGES/epoptes.mo
/usr/share/locale/tr
/usr/share/locale/tr/LC_MESSAGES
/usr/share/locale/tr/LC_MESSAGES/epoptes.mo
/usr/share/locale/uk
/usr/share/locale/uk/LC_MESSAGES
/usr/share/locale/uk/LC_MESSAGES/epoptes.mo
/usr/share/locale/vi
/usr/share/locale/vi/LC_MESSAGES
/usr/share/locale/vi/LC_MESSAGES/epoptes.mo
/usr/share/locale/zh_CN
/usr/share/locale/zh_CN/LC_MESSAGES
/usr/share/locale/zh_CN/LC_MESSAGES/epoptes.mo
/usr/share/locale/zh_TW
/usr/share/locale/zh_TW/LC_MESSAGES
/usr/share/locale/zh_TW/LC_MESSAGES/epoptes.mo
/usr/share/ltsp
/usr/share/ltsp/plugins
/usr/share/ltsp/plugins/ltsp-build-client
/usr/share/ltsp/plugins/ltsp-build-client/common
/usr/share/ltsp/plugins/ltsp-build-client/common/040-epoptes-certificate
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/epoptes.1.gz
dessert
  • 248
  • 6
  • 15
d-cubed
  • 1,034
  • 5
  • 30
  • 58
  • 1
    Wait, is it building the RPM that fails, or installing it? Also, what’s the result of `rpm -qp --scripts epoptes-0.5.10-3.noarch.rpm`? – Daniel H Nov 03 '17 at 21:52
  • 1
    All of these `%service_` parts are supposed to be RPM macros, which should have been evaluated when the RPM was built, which aren’t defined on your system. Was that from the OpenSUSE RPM, or the one converted from `.deb`? – Daniel H Nov 03 '17 at 22:01
  • I’m guessing that was the OpenSUSE one; that macro doesn’t seem to exist on CentOS. What about the one converted from .deb? – Daniel H Nov 03 '17 at 22:14
  • 1
    For the one from a .deb, what do you get from running `rpm -qlp` on the RPM? – Daniel H Nov 03 '17 at 22:29
  • Daniel H. Posted above – d-cubed Nov 06 '17 at 13:51
  • It turns out that [dist-packages is Debian-specific](https://stackoverflow.com/questions/9387928/whats-the-difference-between-dist-packages-and-site-packages). If you change the script to use site-packages instead, there's a chance it'll work. – Daniel H Nov 07 '17 at 06:48
  • Copying the files over allows me to start it - but I can't start the service because it's looking for "/etc/init.d/epoptes: line 30: /lib/lsb/init-functions: No such file or directory" – d-cubed Nov 07 '17 at 17:37
  • Unfortunately, the service is something that an automated tool won’t be able to handle, because Debian and CentOS 7 use different systems. You’d have better luck converting the OpenSUSE one for that, but I don’t know enough about OpenSUSE’s RPM macros to really help you there. – Daniel H Nov 07 '17 at 17:46

0 Answers0