(command.CommandList children: [ (C {(sudo)} {(apt-get)} {(update)}) (C {(sudo)} {(apt-get)} {(-y)} {(-q)} {(upgrade)}) (C {(sudo)} {(apt-get)} {(install)} {(-y)} {(-q)} {(libboost-all-dev)} {(libusb-1.0.0-dev)} {(libssl-dev)} {(cmake)} {(libprotobuf-dev)} {(protobuf-c-compiler)} {(protobuf-compiler)} {(git)} ) (C {(sudo)} {(apt-get)} {(-y)} {(-q)} {(install)} {(build-essential)} {(libfontconfig1-dev)} {(libdbus-1-dev)} {(libfreetype6-dev)} {(libicu-dev)} {(libsqlite3-dev)} {(libssl-dev)} {(libjpeg9-dev)} {(libglib2.0-dev)} {(bluez)} {(libbluetooth-dev)} {(libasound2-dev)} {(libgstreamer0.10-dev)} {(libgstreamer-plugins-base1.0-dev)} {(libxkbcommon-dev)} {(libwayland-dev)} {(libasound2-dev)} {(libgstreamer0.10-dev)} {(libgstreamer-plugins-base0.10-dev)} {(build-essential)} {(libfontconfig1-dev)} {(libdbus-1-dev)} {(libfreetype6-dev)} {(libicu-dev)} {(libinput-dev)} {(libxkbcommon-dev)} {(libsqlite3-dev)} {(libglib2.0-dev)} {(libraspberrypi-dev)} {(libxcb1-dev)} {(libfontconfig1-dev)} {(libfreetype6-dev)} {(libx11-dev)} {(libxext-dev)} {(libxfixes-dev)} {(libxi-dev)} {(libxrender-dev)} {(libxcb1-dev)} {(libx11-xcb-dev)} {(libxcb-glx0-dev)} {(libts-dev)} {(pulseaudio)} {(libpulse-dev)} {(librtaudio5a)} {(librtaudio-dev)} {(libraspberrypi-bin)} {(libraspberrypi-dev)} ) (C {(sudo)} {(apt-get)} {(-y)} {(-q)} {(install)} {(rpi-update)}) (C {(sudo)} {(apt-get)} {(remove)} {(--purge)} {(-y)} {(-q)} {(libqt5multimedia5)} {(libqt5multimedia5-plugins)} {(libqt5multimediawidgets5)} {(qtmultimedia5-dev)} {(libqt5bluetooth5)} {(libqt5bluetooth5-bin)} {(qtconnectivity5-dev)} ) (C {(sudo)} {(apt-get)} {(install)} {(-y)} {(-q)} {(pulseaudio)} {(librtaudio-dev)} {(librtaudio5a)}) (C {(sudo)} {(apt-get)} {(-y)} {(-q)} {(install)} {(pv)} {(unzip)} {(kpartx)} {(zerofree)} {(qemu-user-static)} {(binfmt-support)} ) (C {(sudo)} {(apt-get)} {(clean)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:updatecheck) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:267) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(sudo)} {(Id.Lit_VarLike 'JUST_CHECK=') (1)} {(rpi-update)}) (C {(grep)} {(commit)}) ] negated: F ) ] ) ) } spids: [266] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$updatecheck')} {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ )} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:297) ) ] action: [ (C {(sudo)} {(rpi-update)}) (C {(echo)} {(DQ ('############################################################################'))} ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('Firmware was updated - please reboot now!'))}) (C {(echo)} {(DQ ('You can run next step after reboot.'))}) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('############################################################################'))} ) ] spids: [284 299] ) ] else_action: [ (C {(echo)} {(DQ ('############################################################################'))} ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('System ready - you can run next step now.'))}) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('############################################################################'))} ) ] ) ] )