Skip to content

Instantly share code, notes, and snippets.

@madc
Last active Feb 21, 2019
Embed
What would you like to do?
post_remove() {
update-mime-database /usr/share/mime
update-desktop-database -q
gtk-update-icon-cache
[[ -z $2 ]] && echo -e "Stopping conveyor.service"
[[ -z $2 ]] && echo -e "Disabling conveyor.service"
systenctl disable conveyor 2>/dev/null
userdel -r conveyor >/dev/null 2>/dev/null
[[ -z "$2" ]] && echo -e "Restoring /run/lock's permissions"
chmod g-w /run/lock
true
}
post_install() {
## Reuse post_remove code
post_remove "null" "null"
## Create conveyor user
echo -e "\nAdding user: conveyor"
if ! getent passwd conveyor >/dev/null; then
useradd --system \
-M -d /dev/null \
--shell /bin/false conveyor
gpasswd -a conveyor lp
gpasswd -a conveyor uucp
fi
# Create and set permissions for /var/run/conveyor
mkdir -p -m 3777 /var/run/conveyor
chmod g+s /var/run/conveyor
chgrp conveyor /var/run/conveyor
# Set proper permissions for any existing lock files
chgrp conveyor /var/run/conveyor/* >/dev/null 2>&1 || true
chown conveyor /var/run/conveyor/* >/dev/null 2>&1 || true
chmod 0644 /var/run/conveyor/* >/dev/null 2>&1 || true
# Create and set permissions for /var/log/conveyor
mkdir -p -m 3777 /var/log/conveyor
chmod g+w /var/log/conveyor
chgrp conveyor /var/log/conveyor
# Set proper permissions for any existing log files
chgrp conveyor /var/log/conveyor/* >/dev/null 2>&1 || true
chown conveyor /var/log/conveyor/* >/dev/null 2>&1 || true
chmod 0664 /var/log/conveyor/* >/dev/null 2>&1 || true
echo -e "Changing /run/lock's permissions. Setting g+w"
chmod g+w /run/lock
gpasswd -a conveyor root
chown /var/log/conveyor/conveyord.log
## Enable and start conveyor service
msg2 "Enable and start conveyor.service to be able to connect to printer\n #~ systemctl enable conveyor.service && systemctl start conveyor.service"
}
post_upgrade() {
touch /var/log/conveyor/conveyord.log
chown conveyor /var/log/conveyor/conveyord.log
#msg2 "Please restart conveyor.service with\n #~ systemctl restart conveyor.service"
}
# Maintainer: Francisco Martinez <zomernifalt at gmail dot com>
pkgname=makerbot-desktop
pkgver=3.8.0
_openmeshver=3.2_3.2
pkgrel=2
pkgdesc="A complete, free 3D printing solution for discovering, managing, and sharing your 3D prints."
arch=('x86_64')
url="https://www.makerbot.com/desktop"
license=('GPL')
depends=('boost' 'glibc>=2.4' 'hicolor-icon-theme' 'libdbus>=1.0.2' 'libgl' 'qt5-base>=5.3.0' 'qt5-webkit>=5.0.2' 'zenity' 'zlib>=1.1.4')
options=('!strip')
install="$pkgname.install"
_fakeubunturelease=15.04
_baseurl="http://downloads.makerbot.com/makerware/ubuntu/pool/main"
if [ $CARCH == "x86_64" ]; then
_arch="amd64"
md5sums=(
'd80b74478b91d2145a3ca809437bc426'
'6971eaa9d67001aa73e4739bf36780d6'
'c8c59831ef18615de4fe4c322d7726b6'
'3f617f3a6a9c0bf2fd42920bed7868a3'
'e0c6678cb4dba22c04e173b63eb711e1'
'51b5f5afa0750582bb0603643b8abb49'
'9caaa528f50a3b4a5082361a09457b4d'
'b81ca46ec103428452cc6042e0338f4a'
# '960a9946a5d20b8e35936d8e55b97da8'
'0a4814dd96e5ab61a26b0b03f01173dc'
'94134f3f575b327006cc0524037dce87'
'8545ac7f1db4c7a2d23f5864b6f78a9b'
'14cad79fd2ba8862c75166986261752e'
'e96db9bf01aab3b00d72cb7f9e541d90')
else
_arch="i386"
md5sums=(
'2c28b1732a6f2053df1b1e4c08ff0c4f'
'45faed2b2c244e2c1879d3ba68a93616'
'c91f77866d1c83d707616745cf37285c'
'0f77872559c4d9c6cb0880df18824e7a'
'9b3d3dac9590a06216b549506d10ad3d'
'bccccd52305356ecca096c6c9b9aea06'
'2aa71634bf86a0aee2ffd6bea9abb811'
'9e0a389f8644f283a57a7e4d32a0dac6'
# '15f5ff9c402fff71b59e93a98ff46325'
'437590ee186f57c7effaf6bdbe0fd007'
'52c78dc84e9a695bb12f0e16bbdbb9ec'
'ee24c1da5b85fb146e3ef6164031447c'
'93903b032f99a0efcf3c270673f2be2d'
'3aabeea413dab5b9a1085d26572d4599')
fi
source=(
"$_baseurl/m/makerware/makerware_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/m/makerware/conveyor_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/m/makerware/conveyor-common_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/m/makerware/conveyor-ui_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/m/makerware/libmbqtutils_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/m/makerware/libthing_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/m/makerware/libtinything_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/m/makerware/libtoolpathviz_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
# "$_baseurl/m/makerware/mb-libjsoncpp_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/m/makerware/mb-fopenhack_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/m/makerware/mb-libjsonrpc_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/m/makerware/mbacceleration_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/m/makerware/sliceconfig_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"$_baseurl/o/openmesh/libopenmesh-${_openmeshver}-${_fakeubunturelease}_${_arch}.deb")
noextract=(
"makerware_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"conveyor_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"conveyor-ui_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"conveyor-common_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"libmbqtutils_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"libthing_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"libtinything_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"libtoolpathviz_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
# "mb-libjsoncpp_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"mb-fopenhack_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"mb-libjsonrpc_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"mbacceleration_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"sliceconfig_${pkgver}-${_fakeubunturelease}_${_arch}.deb"
"libopenmesh-${_openmeshver}-${_fakeubunturelease}_${_arch}.deb")
install="$pkgname.install"
package() {
cd ${pkgdir}
msg2 "Extracting DEBs"
for file in $srcdir/*.deb; do ar p $file data.tar.xz | tar -xJ; done
msg2 "Moving files around"
mv lib/udev/ usr/lib/
rm -r lib
for i in program_options filesystem system serialization date_time; do
ln -fs /usr/lib/libboost_$i.so usr/lib/libboost_$i.so.1.55.0
done
#msg2 "Creating log files"
#touch /var/log/conveyor/conveyord.log
#chmod g+w /var/log/conveyor/conveyord.log
}
@madc

This comment has been minimized.

Copy link
Owner Author

@madc madc commented Jul 8, 2016

Current Status:

makepkg builds the Package without complaining, pacman -U outputs the following message, but installs makerware:

loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) makerbot-desktop-3.8.0-2

Total Installed Size:  100,27 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                                                                                [#################################################################] 100%
(1/1) checking package integrity                                                                              [#################################################################] 100%
(1/1) loading package files                                                                                   [#################################################################] 100%
(1/1) checking for file conflicts                                                                             [#################################################################] 100%
(1/1) checking available disk space                                                                           [#################################################################] 100%
:: Processing package changes...
(1/1) installing makerbot-desktop                                                                             [#################################################################] 100%

Adding user: conveyor
Adding user conveyor to group lp
Adding user conveyor to group uucp
Changing /run/lock's permissions. Setting g+w
Adding user conveyor to group root
chown: missing operand after ‘/var/log/conveyor/conveyord.log’
Try 'chown --help' for more information.
/tmp/alpm_nyXYoq/.INSTALL: line 55: msg2: command not found
error: command failed to execute correctly
:: Running post-transaction hooks...
(1/1) Updating the desktop file MIME type cache...

Then when running makerware, it crashed with the following message:

/usr/bin/../share/makerbot/makerware: symbol lookup error: /usr/bin/../share/makerbot/makerware: undefined symbol: _ZN4Json6Reader5parseERKSsRNS_5ValueEb
@TheFeshy

This comment has been minimized.

Copy link

@TheFeshy TheFeshy commented Aug 28, 2016

makerbot-desktop is still being built against the very old jsoncpp0.6.0rc2 or something like that. You can build that version by using the PKGBUILD linked in the AUR discussion for makerbot-desktop: https://gist.github.com/madc/de7e9dacb9c3c5f31ec9

With this package installed for jsoncpp, makerware will run, but conveyor-svc still does not. It gives error:

Traceback (most recent call last): File "/usr/share/makerbot/python/conveyor-3.8.4-py2.7.egg/conveyor/server/__init__.py", line 29, in <module> ImportError: No module named serial
I should also mention that I used the latest makerbot-desktop - _fakeubunturelease 16.04 and pkgver 3.9.1

@TheFeshy

This comment has been minimized.

Copy link

@TheFeshy TheFeshy commented Aug 30, 2016

Okay, I spent the last day messing with it, and have made a package I'm able to print with, but not change settings. Take a look, if you are still interested in getting this to work: https://gist.github.com/TheFeshy/6a47267495359e90627594a34c313b09

@madc

This comment has been minimized.

Copy link
Owner Author

@madc madc commented Sep 4, 2016

Sorry for the late reply. Seems, one does not get notifications on comments here. Unfortunately, I', quite busy atm but I'll have a proper look at it as soon as possible. The PKGBUILD above was not my last try and i managed to run the Makerbot software once (with a new version of jsoncpp0), but got some errors when i tried to run it again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment