Closed DeanCording closed 1 month ago
Describe the bug The script to update Spoolman as detailed in the README fails with the error:
bash: ./scripts/install.sh: No such file or directory
To Reproduce On an existing Spoolman install, follow the updating instructions in the README
Expected behavior Spoolman should be updated successfully
Spoolman Host (please complete the following information):
Desktop (please complete the following information):
Additional context Problem appears to be due to the zip file containing an incorrect directory structure:
creating: ./Spoolman/spoolman/
Everything is unziped into ./Spoolman/spoolman/ instead of./Spoolman
./Spoolman/spoolman/
./Spoolman
> unzip temp.zip -d ./Spoolman Archive: temp.zip creating: ./Spoolman/spoolman/ inflating: ./Spoolman/spoolman/.env.example inflating: ./Spoolman/spoolman/alembic.ini inflating: ./Spoolman/spoolman/build.txt creating: ./Spoolman/spoolman/client/ creating: ./Spoolman/spoolman/client/dist/ inflating: ./Spoolman/spoolman/client/dist/apple-touch-icon.png creating: ./Spoolman/spoolman/client/dist/assets/ inflating: ./Spoolman/spoolman/client/dist/assets/ad-BOo-tPI4.svg inflating: ./Spoolman/spoolman/client/dist/assets/ad-CDtWnnSA.svg inflating: ./Spoolman/spoolman/client/dist/assets/af-Cc32fsDB.svg inflating: ./Spoolman/spoolman/client/dist/assets/af-CI4E3ER1.svg inflating: ./Spoolman/spoolman/client/dist/assets/arab-DwNob5Qo.svg inflating: ./Spoolman/spoolman/client/dist/assets/arab-PzQTPYwO.svg inflating: ./Spoolman/spoolman/client/dist/assets/ar_EG-63P3xCIj.js inflating: ./Spoolman/spoolman/client/dist/assets/as-D2gsNMrP.svg inflating: ./Spoolman/spoolman/client/dist/assets/as-_t1IQUdv.svg inflating: ./Spoolman/spoolman/client/dist/assets/aw-CLCX8uk5.svg inflating: ./Spoolman/spoolman/client/dist/assets/aw-W0PWLK5p.svg inflating: ./Spoolman/spoolman/client/dist/assets/az_AZ-Dwpdm8CZ.js inflating: ./Spoolman/spoolman/client/dist/assets/bg_BG-CnRNLkam.js inflating: ./Spoolman/spoolman/client/dist/assets/bm-BoWRAtUx.svg inflating: ./Spoolman/spoolman/client/dist/assets/bm-D2j4bkLD.svg inflating: ./Spoolman/spoolman/client/dist/assets/bn-BDKbSv-u.svg inflating: ./Spoolman/spoolman/client/dist/assets/bn-UGyQANfK.svg inflating: ./Spoolman/spoolman/client/dist/assets/bn_BD-DiHbbCpk.js inflating: ./Spoolman/spoolman/client/dist/assets/bo-BqtZbaiW.svg inflating: ./Spoolman/spoolman/client/dist/assets/bo-CP9m75_5.svg inflating: ./Spoolman/spoolman/client/dist/assets/br-DaE4AJQY.svg inflating: ./Spoolman/spoolman/client/dist/assets/br-Yf30zEjB.svg inflating: ./Spoolman/spoolman/client/dist/assets/bt-Cm0R6rAQ.svg inflating: ./Spoolman/spoolman/client/dist/assets/bt-Csq9bKsA.svg inflating: ./Spoolman/spoolman/client/dist/assets/by_BY-DmvjZsfi.js inflating: ./Spoolman/spoolman/client/dist/assets/bz-CqiVUvof.svg inflating: ./Spoolman/spoolman/client/dist/assets/bz-YpwBidLU.svg inflating: ./Spoolman/spoolman/client/dist/assets/ca_ES-DGpp5YG9.js inflating: ./Spoolman/spoolman/client/dist/assets/column-DNyqxtKm.js inflating: ./Spoolman/spoolman/client/dist/assets/create-BDndNMvr.js inflating: ./Spoolman/spoolman/client/dist/assets/create-Dn9C4ql5.css inflating: ./Spoolman/spoolman/client/dist/assets/create-DVJQWmfN.js inflating: ./Spoolman/spoolman/client/dist/assets/create-Or-WGNS3.js inflating: ./Spoolman/spoolman/client/dist/assets/cs_CZ-WaywD41g.js inflating: ./Spoolman/spoolman/client/dist/assets/cy-Bgo0XIP0.svg inflating: ./Spoolman/spoolman/client/dist/assets/cy-VQFkW-qk.svg inflating: ./Spoolman/spoolman/client/dist/assets/da_DK-_TNTevbK.js inflating: ./Spoolman/spoolman/client/dist/assets/de_DE-f7sv3C1v.js inflating: ./Spoolman/spoolman/client/dist/assets/dg-B55Nvqqm.svg inflating: ./Spoolman/spoolman/client/dist/assets/dg-CPWO5scz.svg inflating: ./Spoolman/spoolman/client/dist/assets/dm-BlhP-6zy.svg inflating: ./Spoolman/spoolman/client/dist/assets/dm-ClJ_IDld.svg inflating: ./Spoolman/spoolman/client/dist/assets/do--tGVu9lQ.svg inflating: ./Spoolman/spoolman/client/dist/assets/do-DJGo0v5t.svg inflating: ./Spoolman/spoolman/client/dist/assets/eac-CZCl_pn7.svg inflating: ./Spoolman/spoolman/client/dist/assets/eac-D_uIzpYR.svg inflating: ./Spoolman/spoolman/client/dist/assets/ec-LNhQ9L4k.svg inflating: ./Spoolman/spoolman/client/dist/assets/ec-sTVr1A3S.svg inflating: ./Spoolman/spoolman/client/dist/assets/edit-CtGzj3Fe.js inflating: ./Spoolman/spoolman/client/dist/assets/edit-DGEyQfdK.js inflating: ./Spoolman/spoolman/client/dist/assets/edit-SHIHkN7C.js inflating: ./Spoolman/spoolman/client/dist/assets/eg-BIzzVp3n.svg inflating: ./Spoolman/spoolman/client/dist/assets/eg-C1MYAOXe.svg inflating: ./Spoolman/spoolman/client/dist/assets/el_GR-yC5F2vNW.js inflating: ./Spoolman/spoolman/client/dist/assets/en_GB-Bukd4ToC.js inflating: ./Spoolman/spoolman/client/dist/assets/es-CR0ZfKpD.svg inflating: ./Spoolman/spoolman/client/dist/assets/es-DL6RIaKh.svg inflating: ./Spoolman/spoolman/client/dist/assets/es-ga-BbFllROk.svg inflating: ./Spoolman/spoolman/client/dist/assets/es-ga-RI_ZudJJ.svg inflating: ./Spoolman/spoolman/client/dist/assets/es_ES-D5JhLgFO.js inflating: ./Spoolman/spoolman/client/dist/assets/et_EE-BbQGUsiV.js inflating: ./Spoolman/spoolman/client/dist/assets/eu_ES-DfKUOGTU.js inflating: ./Spoolman/spoolman/client/dist/assets/extraFields-BZgGjHr5.js inflating: ./Spoolman/spoolman/client/dist/assets/extraFieldsSettings-DPsm5RsA.js inflating: ./Spoolman/spoolman/client/dist/assets/fa_IR-DWwaFfBp.js inflating: ./Spoolman/spoolman/client/dist/assets/FileImageOutlined-BvAnRODR.js inflating: ./Spoolman/spoolman/client/dist/assets/filtering-CY1b-XQk.js inflating: ./Spoolman/spoolman/client/dist/assets/FilterOutlined-BoIk7l8x.js inflating: ./Spoolman/spoolman/client/dist/assets/fi_FI-BkDM5QrU.js inflating: ./Spoolman/spoolman/client/dist/assets/fj-CJDn3VQ8.svg inflating: ./Spoolman/spoolman/client/dist/assets/fj-DLvzYbo8.svg inflating: ./Spoolman/spoolman/client/dist/assets/fk-Be42QBCW.svg inflating: ./Spoolman/spoolman/client/dist/assets/fk-Ck9cznm4.svg inflating: ./Spoolman/spoolman/client/dist/assets/fr_BE-_DPo7Rga.js inflating: ./Spoolman/spoolman/client/dist/assets/fr_CA-KdnxsBqY.js inflating: ./Spoolman/spoolman/client/dist/assets/fr_FR-ChzMEkLt.js inflating: ./Spoolman/spoolman/client/dist/assets/functions-4lPKg4w0.js inflating: ./Spoolman/spoolman/client/dist/assets/functions-dZX2lWPp.js inflating: ./Spoolman/spoolman/client/dist/assets/functions-Q4G80r9u.js inflating: ./Spoolman/spoolman/client/dist/assets/ga_IE-Dle5wx7Q.js inflating: ./Spoolman/spoolman/client/dist/assets/gb-nir-BOm9QMOa.svg inflating: ./Spoolman/spoolman/client/dist/assets/gb-nir-BZUeOVwE.svg inflating: ./Spoolman/spoolman/client/dist/assets/gb-wls-C4LdH8Nd.svg inflating: ./Spoolman/spoolman/client/dist/assets/gb-wls-lLp_JivI.svg inflating: ./Spoolman/spoolman/client/dist/assets/generalSettings-DBulI_WL.js inflating: ./Spoolman/spoolman/client/dist/assets/gl_ES-Dw-aCzRy.js inflating: ./Spoolman/spoolman/client/dist/assets/gq-BvOxIUGP.svg inflating: ./Spoolman/spoolman/client/dist/assets/gq-OBiOttRB.svg inflating: ./Spoolman/spoolman/client/dist/assets/gs-Di8hLP4g.svg inflating: ./Spoolman/spoolman/client/dist/assets/gs-PK6r6yhR.svg inflating: ./Spoolman/spoolman/client/dist/assets/gt-CovS1bZs.svg inflating: ./Spoolman/spoolman/client/dist/assets/gt-Ufdm0MFv.svg inflating: ./Spoolman/spoolman/client/dist/assets/gu-Bkjkorus.svg inflating: ./Spoolman/spoolman/client/dist/assets/gu-wFhsTC1Y.svg inflating: ./Spoolman/spoolman/client/dist/assets/he_IL-BmzRj0dz.js inflating: ./Spoolman/spoolman/client/dist/assets/hi_IN-OOVG78iY.js inflating: ./Spoolman/spoolman/client/dist/assets/hr-C7VqhX5l.svg inflating: ./Spoolman/spoolman/client/dist/assets/hr-cWEworf7.svg inflating: ./Spoolman/spoolman/client/dist/assets/hr_HR-2lythVwy.js inflating: ./Spoolman/spoolman/client/dist/assets/ht-DPCqX9cm.svg inflating: ./Spoolman/spoolman/client/dist/assets/ht-HoSCtdNQ.svg inflating: ./Spoolman/spoolman/client/dist/assets/hu_HU-DMOnl5Yp.js inflating: ./Spoolman/spoolman/client/dist/assets/hy_AM-CxcJBrWM.js inflating: ./Spoolman/spoolman/client/dist/assets/id_ID-BauKcfRa.js inflating: ./Spoolman/spoolman/client/dist/assets/im-BAoxVCMv.svg inflating: ./Spoolman/spoolman/client/dist/assets/im-deD7ny0b.svg inflating: ./Spoolman/spoolman/client/dist/assets/index-b1XvjEqZ.js inflating: ./Spoolman/spoolman/client/dist/assets/index-BC1_WzTJ.js inflating: ./Spoolman/spoolman/client/dist/assets/index-BDG0FN8A.js inflating: ./Spoolman/spoolman/client/dist/assets/index-BGO2HDgA.js inflating: ./Spoolman/spoolman/client/dist/assets/index-BK6PK94R.js inflating: ./Spoolman/spoolman/client/dist/assets/index-BuF5InyZ.css inflating: ./Spoolman/spoolman/client/dist/assets/index-CfoW_Dq2.js inflating: ./Spoolman/spoolman/client/dist/assets/index-CQl9V5XH.js inflating: ./Spoolman/spoolman/client/dist/assets/index-DFIkyIAb.js inflating: ./Spoolman/spoolman/client/dist/assets/index-RBGPS1B0.js inflating: ./Spoolman/spoolman/client/dist/assets/index-Sxg62WZm.js inflating: ./Spoolman/spoolman/client/dist/assets/index-ZEdbpn7z.js inflating: ./Spoolman/spoolman/client/dist/assets/index-zzUPWLvm.js inflating: ./Spoolman/spoolman/client/dist/assets/inputNumberRange-Bg_MMeOB.js inflating: ./Spoolman/spoolman/client/dist/assets/io-Bkx8USW1.svg inflating: ./Spoolman/spoolman/client/dist/assets/io-BzKkDPkD.svg inflating: ./Spoolman/spoolman/client/dist/assets/ir-cCIgaNf6.svg inflating: ./Spoolman/spoolman/client/dist/assets/ir-CXFV1BFU.svg inflating: ./Spoolman/spoolman/client/dist/assets/is_IS-iFRxofH0.js inflating: ./Spoolman/spoolman/client/dist/assets/it_IT-Dbb_l4ae.js inflating: ./Spoolman/spoolman/client/dist/assets/ja_JP-BlUb3aFv.js inflating: ./Spoolman/spoolman/client/dist/assets/je-PUw16g1j.svg inflating: ./Spoolman/spoolman/client/dist/assets/je-YWv5VSiQ.svg inflating: ./Spoolman/spoolman/client/dist/assets/ka_GE-AzA8cvqY.js inflating: ./Spoolman/spoolman/client/dist/assets/kh-CAffWc0R.svg inflating: ./Spoolman/spoolman/client/dist/assets/kh-V4Sa3vlt.svg inflating: ./Spoolman/spoolman/client/dist/assets/ki-CM44VBPm.svg inflating: ./Spoolman/spoolman/client/dist/assets/ki-COZ8g898.svg inflating: ./Spoolman/spoolman/client/dist/assets/kk_KZ-DoW-A_EZ.js inflating: ./Spoolman/spoolman/client/dist/assets/kmr_IQ-BH8OzcQJ.js inflating: ./Spoolman/spoolman/client/dist/assets/kmr_IQ-lAwS45o2.js inflating: ./Spoolman/spoolman/client/dist/assets/km_KH-B0v4BE1C.js inflating: ./Spoolman/spoolman/client/dist/assets/kn_IN-B2ZHhWHn.js inflating: ./Spoolman/spoolman/client/dist/assets/ko_KR-CYXTiTj3.js inflating: ./Spoolman/spoolman/client/dist/assets/ku_IQ-2QvCBKwo.js inflating: ./Spoolman/spoolman/client/dist/assets/ky-BqProAqG.svg inflating: ./Spoolman/spoolman/client/dist/assets/ky-D_l3blFP.svg inflating: ./Spoolman/spoolman/client/dist/assets/kz-BBCbe9jj.svg inflating: ./Spoolman/spoolman/client/dist/assets/kz-DBjWpOlG.svg inflating: ./Spoolman/spoolman/client/dist/assets/li-DgeenFRc.svg inflating: ./Spoolman/spoolman/client/dist/assets/li-y6TPS81M.svg inflating: ./Spoolman/spoolman/client/dist/assets/list-B1sYIL0G.js inflating: ./Spoolman/spoolman/client/dist/assets/list-Dz1WWlOB.js inflating: ./Spoolman/spoolman/client/dist/assets/list-E6xijgB5.js inflating: ./Spoolman/spoolman/client/dist/assets/liveify-C8d4zh1O.js inflating: ./Spoolman/spoolman/client/dist/assets/lk-B2IfFxoh.svg inflating: ./Spoolman/spoolman/client/dist/assets/lk-DIvkWByA.svg inflating: ./Spoolman/spoolman/client/dist/assets/lt_LT-Dc38uQBN.js inflating: ./Spoolman/spoolman/client/dist/assets/lv_LV-D-rkEUQC.js inflating: ./Spoolman/spoolman/client/dist/assets/md-DArlF80d.svg inflating: ./Spoolman/spoolman/client/dist/assets/md-DRw6DF0o.svg inflating: ./Spoolman/spoolman/client/dist/assets/me-B32CQdRA.svg inflating: ./Spoolman/spoolman/client/dist/assets/me-BUFcTh_w.svg inflating: ./Spoolman/spoolman/client/dist/assets/mk_MK-BjzVVv2Y.js inflating: ./Spoolman/spoolman/client/dist/assets/ml_IN-CQQL35KF.js inflating: ./Spoolman/spoolman/client/dist/assets/mn_MN-BoK-z9az.js inflating: ./Spoolman/spoolman/client/dist/assets/model-CZ_KvoQu.js inflating: ./Spoolman/spoolman/client/dist/assets/mp-DOjKDFJv.svg inflating: ./Spoolman/spoolman/client/dist/assets/mp-xI88Vk3c.svg inflating: ./Spoolman/spoolman/client/dist/assets/ms-7tNehsjt.svg inflating: ./Spoolman/spoolman/client/dist/assets/ms-D--tLJBo.svg inflating: ./Spoolman/spoolman/client/dist/assets/ms_MY-C75BopXi.js inflating: ./Spoolman/spoolman/client/dist/assets/mt-0OWB-5b3.svg inflating: ./Spoolman/spoolman/client/dist/assets/mt-DeenPMqd.svg inflating: ./Spoolman/spoolman/client/dist/assets/multiColorPicker-BZiTfypR.js inflating: ./Spoolman/spoolman/client/dist/assets/mx-4c9y9ryX.svg inflating: ./Spoolman/spoolman/client/dist/assets/mx-C7ivyfFO.svg inflating: ./Spoolman/spoolman/client/dist/assets/my_MM-6dtw1VtN.js inflating: ./Spoolman/spoolman/client/dist/assets/nb_NO-qRVvM8U3.js inflating: ./Spoolman/spoolman/client/dist/assets/ne_NP-CPW4JesM.js inflating: ./Spoolman/spoolman/client/dist/assets/nf--j2oelto.svg inflating: ./Spoolman/spoolman/client/dist/assets/nf-COchEj81.svg inflating: ./Spoolman/spoolman/client/dist/assets/ni-CC3zFI7h.svg inflating: ./Spoolman/spoolman/client/dist/assets/ni-ChnV2lR-.svg inflating: ./Spoolman/spoolman/client/dist/assets/nl_BE-eSHCD0Sb.js inflating: ./Spoolman/spoolman/client/dist/assets/nl_NL-C4PCbslV.js inflating: ./Spoolman/spoolman/client/dist/assets/numberField-DuPomuAO.js inflating: ./Spoolman/spoolman/client/dist/assets/om-DnUPbroW.svg inflating: ./Spoolman/spoolman/client/dist/assets/om-Ri__rIwP.svg inflating: ./Spoolman/spoolman/client/dist/assets/otherModels-Cos8cqiN.js inflating: ./Spoolman/spoolman/client/dist/assets/Pagination-BIon1of3.js inflating: ./Spoolman/spoolman/client/dist/assets/Pagination-u-G_4wd1.js inflating: ./Spoolman/spoolman/client/dist/assets/parsing-DtAMUebE.js inflating: ./Spoolman/spoolman/client/dist/assets/pf-CEX9Vx76.svg inflating: ./Spoolman/spoolman/client/dist/assets/pf-CMTHIumB.svg inflating: ./Spoolman/spoolman/client/dist/assets/pl_PL-NmegGslf.js inflating: ./Spoolman/spoolman/client/dist/assets/pn-DEs-Vj71.svg inflating: ./Spoolman/spoolman/client/dist/assets/pn-vyD5VXw1.svg inflating: ./Spoolman/spoolman/client/dist/assets/PrinterOutlined-yjFCF2ls.js inflating: ./Spoolman/spoolman/client/dist/assets/printing-BNiDry95.js inflating: ./Spoolman/spoolman/client/dist/assets/printingDialog-CTuSngPy.js inflating: ./Spoolman/spoolman/client/dist/assets/pt-BLLm3V0o.svg inflating: ./Spoolman/spoolman/client/dist/assets/pt-BV5okG4O.svg inflating: ./Spoolman/spoolman/client/dist/assets/pt_BR-Dh3u1Z70.js inflating: ./Spoolman/spoolman/client/dist/assets/pt_PT-D0-LA45P.js inflating: ./Spoolman/spoolman/client/dist/assets/py-BfpB8kRi.svg inflating: ./Spoolman/spoolman/client/dist/assets/py-CRTEf2ay.svg inflating: ./Spoolman/spoolman/client/dist/assets/qrCodePrintingDialog-x4one64N.js inflating: ./Spoolman/spoolman/client/dist/assets/queryFields-cDbVaM6E.js inflating: ./Spoolman/spoolman/client/dist/assets/querySettings-BfJNnk7B.js inflating: ./Spoolman/spoolman/client/dist/assets/ReloadOutlined-Ha1lMAae.js inflating: ./Spoolman/spoolman/client/dist/assets/ro_RO-BKXvpl19.js inflating: ./Spoolman/spoolman/client/dist/assets/rs-D2wyuxjv.svg inflating: ./Spoolman/spoolman/client/dist/assets/rs-Dv4N4BPN.svg inflating: ./Spoolman/spoolman/client/dist/assets/ru_RU-BWdlar48.js inflating: ./Spoolman/spoolman/client/dist/assets/sa-DLf2NaXn.svg inflating: ./Spoolman/spoolman/client/dist/assets/sa-eH5F7cXy.svg inflating: ./Spoolman/spoolman/client/dist/assets/saveload-DI81B4kS.js inflating: ./Spoolman/spoolman/client/dist/assets/SaveOutlined-DTtzJ5W6.js inflating: ./Spoolman/spoolman/client/dist/assets/scanner-beep-hQk9Q5dh.mp3 inflating: ./Spoolman/spoolman/client/dist/assets/settings-DrdS_ve9.js inflating: ./Spoolman/spoolman/client/dist/assets/sh-ac-6pU0wZVL.svg inflating: ./Spoolman/spoolman/client/dist/assets/sh-ac-Ch9Jh9Lp.svg inflating: ./Spoolman/spoolman/client/dist/assets/sh-hl-CnGxQM93.svg inflating: ./Spoolman/spoolman/client/dist/assets/sh-hl-DWwv0HRi.svg inflating: ./Spoolman/spoolman/client/dist/assets/sh-ta-clv2MsBt.svg inflating: ./Spoolman/spoolman/client/dist/assets/sh-ta-DNDOtP8t.svg inflating: ./Spoolman/spoolman/client/dist/assets/show-BWoZI2Hu.js inflating: ./Spoolman/spoolman/client/dist/assets/show-Dw7h9Xj1.js inflating: ./Spoolman/spoolman/client/dist/assets/show-O7uAW_n_.js inflating: ./Spoolman/spoolman/client/dist/assets/si_LK-CjjhKImG.js inflating: ./Spoolman/spoolman/client/dist/assets/sk_SK-Dl3G7dAf.js inflating: ./Spoolman/spoolman/client/dist/assets/Slider-DYQyDxbz.js inflating: ./Spoolman/spoolman/client/dist/assets/sl_SI-D18OfoYW.js inflating: ./Spoolman/spoolman/client/dist/assets/sm-1NcqoN_z.svg inflating: ./Spoolman/spoolman/client/dist/assets/sm-DHRSzt4z.svg inflating: ./Spoolman/spoolman/client/dist/assets/SolutionOutlined-ORNWMRJm.js inflating: ./Spoolman/spoolman/client/dist/assets/spoolIcon-Bwinbbyx.css inflating: ./Spoolman/spoolman/client/dist/assets/spoolIcon-G12yltpa.js inflating: ./Spoolman/spoolman/client/dist/assets/spoolQrCodePrintingDialog-BpyB7WwO.js inflating: ./Spoolman/spoolman/client/dist/assets/spoolSelectModal-CUud9LlI.js inflating: ./Spoolman/spoolman/client/dist/assets/sr_RS-CHyMhUTl.js inflating: ./Spoolman/spoolman/client/dist/assets/sv-BGK8a8aZ.svg inflating: ./Spoolman/spoolman/client/dist/assets/sv-n55iiUxg.svg inflating: ./Spoolman/spoolman/client/dist/assets/sv_SE-BbqZIBxt.js inflating: ./Spoolman/spoolman/client/dist/assets/sx-4BiL6F_v.svg inflating: ./Spoolman/spoolman/client/dist/assets/sx-DzlMoqh2.svg inflating: ./Spoolman/spoolman/client/dist/assets/sz-BC3w3Gmj.svg inflating: ./Spoolman/spoolman/client/dist/assets/sz-DpZ3V1AK.svg inflating: ./Spoolman/spoolman/client/dist/assets/Table-HEDEr_Rc.js inflating: ./Spoolman/spoolman/client/dist/assets/ta_IN-CZNHVGTJ.js inflating: ./Spoolman/spoolman/client/dist/assets/tc-BB3tFO-G.svg inflating: ./Spoolman/spoolman/client/dist/assets/tc-CYGgqbY-.svg inflating: ./Spoolman/spoolman/client/dist/assets/th_TH-CMeZjvPM.js inflating: ./Spoolman/spoolman/client/dist/assets/tk_TK-CJJqvITA.js inflating: ./Spoolman/spoolman/client/dist/assets/tm-CCv743R_.svg inflating: ./Spoolman/spoolman/client/dist/assets/tm-DYhdxDK7.svg inflating: ./Spoolman/spoolman/client/dist/assets/ToTopOutlined-Braiy__9.js inflating: ./Spoolman/spoolman/client/dist/assets/Trans-ihgh64F-.js inflating: ./Spoolman/spoolman/client/dist/assets/Tree-CdCeXVnz.js inflating: ./Spoolman/spoolman/client/dist/assets/tr_TR-D5Oe40ws.js inflating: ./Spoolman/spoolman/client/dist/assets/uk_UA-DeEjp6dg.js inflating: ./Spoolman/spoolman/client/dist/assets/un-0G1DCZ6c.svg inflating: ./Spoolman/spoolman/client/dist/assets/un-BQ1kEGox.svg inflating: ./Spoolman/spoolman/client/dist/assets/UnorderedListOutlined-DVBCwCEL.js inflating: ./Spoolman/spoolman/client/dist/assets/ur_PK-BCFRr77I.js inflating: ./Spoolman/spoolman/client/dist/assets/utc-OjK5FYaG.js inflating: ./Spoolman/spoolman/client/dist/assets/uz_UZ-BFqwF2ym.js inflating: ./Spoolman/spoolman/client/dist/assets/va-BntFJQHU.svg inflating: ./Spoolman/spoolman/client/dist/assets/va-maDzWwNR.svg inflating: ./Spoolman/spoolman/client/dist/assets/vg-DKEU1GdO.svg inflating: ./Spoolman/spoolman/client/dist/assets/vg-qlt33Cv3.svg inflating: ./Spoolman/spoolman/client/dist/assets/vi-1FTBesw2.svg inflating: ./Spoolman/spoolman/client/dist/assets/vi-DatfOFqY.svg inflating: ./Spoolman/spoolman/client/dist/assets/vi_VN-Db0n3c56.js inflating: ./Spoolman/spoolman/client/dist/assets/xk-B6uU6dIH.svg inflating: ./Spoolman/spoolman/client/dist/assets/xk-F5dDvX79.svg inflating: ./Spoolman/spoolman/client/dist/assets/zh_CN-BoCKRbnF.js inflating: ./Spoolman/spoolman/client/dist/assets/zh_CN-cwSELhhy.js inflating: ./Spoolman/spoolman/client/dist/assets/zh_HK-J4hRz2eT.js inflating: ./Spoolman/spoolman/client/dist/assets/zh_TW-BxibSeAq.js inflating: ./Spoolman/spoolman/client/dist/assets/zh_TW-CGgdGckf.js inflating: ./Spoolman/spoolman/client/dist/assets/zm-BmHUGSoa.svg inflating: ./Spoolman/spoolman/client/dist/assets/zm-CNg0kgkw.svg inflating: ./Spoolman/spoolman/client/dist/assets/zw-Ceqd3Xj3.svg inflating: ./Spoolman/spoolman/client/dist/assets/zw-DGkTG73v.svg inflating: ./Spoolman/spoolman/client/dist/favicon.ico inflating: ./Spoolman/spoolman/client/dist/favicon.svg inflating: ./Spoolman/spoolman/client/dist/icon512_maskable.png inflating: ./Spoolman/spoolman/client/dist/icon512_rounded.png inflating: ./Spoolman/spoolman/client/dist/index.html inflating: ./Spoolman/spoolman/client/dist/kofi_s_logo_nolabel.png creating: ./Spoolman/spoolman/client/dist/locales/ creating: ./Spoolman/spoolman/client/dist/locales/cs/ inflating: ./Spoolman/spoolman/client/dist/locales/cs/common.json creating: ./Spoolman/spoolman/client/dist/locales/da/ inflating: ./Spoolman/spoolman/client/dist/locales/da/common.json creating: ./Spoolman/spoolman/client/dist/locales/de/ inflating: ./Spoolman/spoolman/client/dist/locales/de/common.json creating: ./Spoolman/spoolman/client/dist/locales/el/ inflating: ./Spoolman/spoolman/client/dist/locales/el/common.json creating: ./Spoolman/spoolman/client/dist/locales/en/ inflating: ./Spoolman/spoolman/client/dist/locales/en/common.json creating: ./Spoolman/spoolman/client/dist/locales/es/ inflating: ./Spoolman/spoolman/client/dist/locales/es/common.json creating: ./Spoolman/spoolman/client/dist/locales/et/ inflating: ./Spoolman/spoolman/client/dist/locales/et/common.json creating: ./Spoolman/spoolman/client/dist/locales/fr/ inflating: ./Spoolman/spoolman/client/dist/locales/fr/common.json creating: ./Spoolman/spoolman/client/dist/locales/hu/ inflating: ./Spoolman/spoolman/client/dist/locales/hu/common.json creating: ./Spoolman/spoolman/client/dist/locales/it/ inflating: ./Spoolman/spoolman/client/dist/locales/it/common.json creating: ./Spoolman/spoolman/client/dist/locales/lt/ inflating: ./Spoolman/spoolman/client/dist/locales/lt/common.json creating: ./Spoolman/spoolman/client/dist/locales/nb-NO/ inflating: ./Spoolman/spoolman/client/dist/locales/nb-NO/common.json creating: ./Spoolman/spoolman/client/dist/locales/nl/ inflating: ./Spoolman/spoolman/client/dist/locales/nl/common.json creating: ./Spoolman/spoolman/client/dist/locales/pl/ inflating: ./Spoolman/spoolman/client/dist/locales/pl/common.json creating: ./Spoolman/spoolman/client/dist/locales/pt/ inflating: ./Spoolman/spoolman/client/dist/locales/pt/common.json creating: ./Spoolman/spoolman/client/dist/locales/ro/ inflating: ./Spoolman/spoolman/client/dist/locales/ro/common.json creating: ./Spoolman/spoolman/client/dist/locales/ru/ inflating: ./Spoolman/spoolman/client/dist/locales/ru/common.json creating: ./Spoolman/spoolman/client/dist/locales/sv/ inflating: ./Spoolman/spoolman/client/dist/locales/sv/common.json creating: ./Spoolman/spoolman/client/dist/locales/uk/ inflating: ./Spoolman/spoolman/client/dist/locales/uk/common.json creating: ./Spoolman/spoolman/client/dist/locales/zh/ inflating: ./Spoolman/spoolman/client/dist/locales/zh/common.json inflating: ./Spoolman/spoolman/client/dist/manifest.json inflating: ./Spoolman/spoolman/Dockerfile inflating: ./Spoolman/spoolman/entrypoint.sh inflating: ./Spoolman/spoolman/LICENSE creating: ./Spoolman/spoolman/migrations/ inflating: ./Spoolman/spoolman/migrations/env.py inflating: ./Spoolman/spoolman/migrations/README.md inflating: ./Spoolman/spoolman/migrations/script.py.mako creating: ./Spoolman/spoolman/migrations/versions/ inflating: ./Spoolman/spoolman/migrations/versions/2023_05_27_2146-684d32cf7e4d_initial.py inflating: ./Spoolman/spoolman/migrations/versions/2023_05_28_2136-b47376d60c6d_add_extruder_and_bed_temperature_.py inflating: ./Spoolman/spoolman/migrations/versions/2023_06_01_1953-db385b808a20_add_filament_color_code.py inflating: ./Spoolman/spoolman/migrations/versions/2023_07_14_1217-92186a5f7b0f_add_spool_archived_field.py inflating: ./Spoolman/spoolman/migrations/versions/2023_08_12_2121-92793c8a937c_color_hex_alpha.py inflating: ./Spoolman/spoolman/migrations/versions/2023_12_30_0839-b82cd9e2aa6f_added_spool_prices.py inflating: ./Spoolman/spoolman/migrations/versions/2024_01_03_1346-ccbb17aeda7c_added_settings_table.py inflating: ./Spoolman/spoolman/migrations/versions/2024_01_04_2209-b8881bdb716c_added_extra_fields.py inflating: ./Spoolman/spoolman/migrations/versions/2024_03_26_0948-aafcd7fb0e84_spool_weights.py inflating: ./Spoolman/spoolman/migrations/versions/2024_03_26_1349-304a32906234_spool_weight_population.py inflating: ./Spoolman/spoolman/migrations/versions/2024_03_26_1507-5f069e51bd89_vendor_empty_spool_weight.py inflating: ./Spoolman/spoolman/migrations/versions/2024_05_12_1930-395d560284b3_added_external_id.py inflating: ./Spoolman/spoolman/migrations/versions/2024_05_28_1846-415a8f855e14_multi_colors.py inflating: ./Spoolman/spoolman/migrations/versions/__init__.py inflating: ./Spoolman/spoolman/migrations/__init__.py inflating: ./Spoolman/spoolman/pdm.lock inflating: ./Spoolman/spoolman/pyproject.toml inflating: ./Spoolman/spoolman/README.md inflating: ./Spoolman/spoolman/release_info.json inflating: ./Spoolman/spoolman/requirements.txt creating: ./Spoolman/spoolman/scripts/ inflating: ./Spoolman/spoolman/scripts/install.sh inflating: ./Spoolman/spoolman/scripts/start.sh creating: ./Spoolman/spoolman/spoolman/ creating: ./Spoolman/spoolman/spoolman/api/ creating: ./Spoolman/spoolman/spoolman/api/v1/ inflating: ./Spoolman/spoolman/spoolman/api/v1/externaldb.py inflating: ./Spoolman/spoolman/spoolman/api/v1/field.py inflating: ./Spoolman/spoolman/spoolman/api/v1/filament.py inflating: ./Spoolman/spoolman/spoolman/api/v1/models.py inflating: ./Spoolman/spoolman/spoolman/api/v1/other.py inflating: ./Spoolman/spoolman/spoolman/api/v1/router.py inflating: ./Spoolman/spoolman/spoolman/api/v1/setting.py inflating: ./Spoolman/spoolman/spoolman/api/v1/spool.py inflating: ./Spoolman/spoolman/spoolman/api/v1/vendor.py extracting: ./Spoolman/spoolman/spoolman/api/v1/__init__.py extracting: ./Spoolman/spoolman/spoolman/api/__init__.py inflating: ./Spoolman/spoolman/spoolman/bump.py inflating: ./Spoolman/spoolman/spoolman/client.py creating: ./Spoolman/spoolman/spoolman/database/ inflating: ./Spoolman/spoolman/spoolman/database/database.py inflating: ./Spoolman/spoolman/spoolman/database/filament.py inflating: ./Spoolman/spoolman/spoolman/database/models.py inflating: ./Spoolman/spoolman/spoolman/database/setting.py inflating: ./Spoolman/spoolman/spoolman/database/spool.py inflating: ./Spoolman/spoolman/spoolman/database/utils.py inflating: ./Spoolman/spoolman/spoolman/database/vendor.py extracting: ./Spoolman/spoolman/spoolman/database/__init__.py inflating: ./Spoolman/spoolman/spoolman/docs.py inflating: ./Spoolman/spoolman/spoolman/env.py inflating: ./Spoolman/spoolman/spoolman/exceptions.py inflating: ./Spoolman/spoolman/spoolman/externaldb.py inflating: ./Spoolman/spoolman/spoolman/extra_fields.py inflating: ./Spoolman/spoolman/spoolman/filecache.py inflating: ./Spoolman/spoolman/spoolman/main.py inflating: ./Spoolman/spoolman/spoolman/math.py creating: ./Spoolman/spoolman/spoolman/prometheus/ inflating: ./Spoolman/spoolman/spoolman/prometheus/metrics.py extracting: ./Spoolman/spoolman/spoolman/prometheus/__init__.py inflating: ./Spoolman/spoolman/spoolman/settings.py inflating: ./Spoolman/spoolman/spoolman/ws.py extracting: ./Spoolman/spoolman/spoolman/__init__.py creating: ./Spoolman/spoolman/tests_integration/ inflating: ./Spoolman/spoolman/tests_integration/docker-compose-cockroachdb.yml inflating: ./Spoolman/spoolman/tests_integration/docker-compose-mariadb.yml inflating: ./Spoolman/spoolman/tests_integration/docker-compose-postgres.yml inflating: ./Spoolman/spoolman/tests_integration/docker-compose-sqlite.yml inflating: ./Spoolman/spoolman/tests_integration/Dockerfile inflating: ./Spoolman/spoolman/tests_integration/requirements.txt inflating: ./Spoolman/spoolman/tests_integration/run.py creating: ./Spoolman/spoolman/tests_integration/tests/ inflating: ./Spoolman/spoolman/tests_integration/tests/conftest.py creating: ./Spoolman/spoolman/tests_integration/tests/fields/ inflating: ./Spoolman/spoolman/tests_integration/tests/fields/test_create.py inflating: ./Spoolman/spoolman/tests_integration/tests/fields/test_delete.py inflating: ./Spoolman/spoolman/tests_integration/tests/fields/test_get.py inflating: ./Spoolman/spoolman/tests_integration/tests/fields/test_utilize.py inflating: ./Spoolman/spoolman/tests_integration/tests/fields/__init__.py creating: ./Spoolman/spoolman/tests_integration/tests/filament/ inflating: ./Spoolman/spoolman/tests_integration/tests/filament/test_add.py inflating: ./Spoolman/spoolman/tests_integration/tests/filament/test_delete.py inflating: ./Spoolman/spoolman/tests_integration/tests/filament/test_find.py inflating: ./Spoolman/spoolman/tests_integration/tests/filament/test_get.py inflating: ./Spoolman/spoolman/tests_integration/tests/filament/test_update.py inflating: ./Spoolman/spoolman/tests_integration/tests/filament/__init__.py creating: ./Spoolman/spoolman/tests_integration/tests/setting/ inflating: ./Spoolman/spoolman/tests_integration/tests/setting/test_get.py inflating: ./Spoolman/spoolman/tests_integration/tests/setting/test_set.py inflating: ./Spoolman/spoolman/tests_integration/tests/setting/__init__.py creating: ./Spoolman/spoolman/tests_integration/tests/spool/ inflating: ./Spoolman/spoolman/tests_integration/tests/spool/test_add.py inflating: ./Spoolman/spoolman/tests_integration/tests/spool/test_delete.py inflating: ./Spoolman/spoolman/tests_integration/tests/spool/test_find.py inflating: ./Spoolman/spoolman/tests_integration/tests/spool/test_get.py inflating: ./Spoolman/spoolman/tests_integration/tests/spool/test_measure.py inflating: ./Spoolman/spoolman/tests_integration/tests/spool/test_update.py inflating: ./Spoolman/spoolman/tests_integration/tests/spool/test_use.py inflating: ./Spoolman/spoolman/tests_integration/tests/spool/__init__.py inflating: ./Spoolman/spoolman/tests_integration/tests/test_backup.py creating: ./Spoolman/spoolman/tests_integration/tests/vendor/ inflating: ./Spoolman/spoolman/tests_integration/tests/vendor/test_add.py inflating: ./Spoolman/spoolman/tests_integration/tests/vendor/test_delete.py inflating: ./Spoolman/spoolman/tests_integration/tests/vendor/test_find.py inflating: ./Spoolman/spoolman/tests_integration/tests/vendor/test_get.py inflating: ./Spoolman/spoolman/tests_integration/tests/vendor/test_update.py inflating: ./Spoolman/spoolman/tests_integration/tests/vendor/__init__.py inflating: ./Spoolman/spoolman/tests_integration/tests/__init__.py inflating: ./Spoolman/spoolman/tests_integration/__init__.py
The release zip was broken. Please delete any attempts and try again.
Issue fixed.
Describe the bug The script to update Spoolman as detailed in the README fails with the error:
bash: ./scripts/install.sh: No such file or directory
To Reproduce On an existing Spoolman install, follow the updating instructions in the README
Expected behavior Spoolman should be updated successfully
Spoolman Host (please complete the following information):
Desktop (please complete the following information):
Additional context Problem appears to be due to the zip file containing an incorrect directory structure:
Everything is unziped into
./Spoolman/spoolman/
instead of./Spoolman