Datovka: Tvorba instalačních balíků

Podobné dokumenty
Nástroje pro vývoj a publikaci mobilní aplikace v Qt. Martin Straka

Nástroje pro vývoj a publikaci mobilní aplikace v Qt. Martin Straka

Vývoj multiplatformní aplikace v Qt

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie,

ELEKTRONICKÉ PODÁNÍ OBČANA

ALEŠ LICHTENBERG KAISER DATA

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

Google Apps. Administrace

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Tablexia. Vývoj multiplatformních her pomocí opensource technologie libgdx. Matyáš Latner

O projektu OpenOffice.org a IBM OS/2 OS/2 a Open Source

Postup instalace umožňující el. podpis v IS KP14+ pro webové prohlížeče Google Chrome a Firefox.

KMI / TMA Tvorba mobilních aplikací

Vývoj software pro Linuxové distribuce. Installfest Praha,

Apache Cordova (PhoneGap 3)

O projektu Nasazení OpenOffice.org v praxi

1.2 Operační systémy, aplikace

Správa a zabezpečení mobilních zařízení. Jiljí Barouš

Zabezpečení mobilních bankovnictví

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Správa klientů pomocí Windows Intune

Domino 10 nové komponenty a související témata (node.js, ES )

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

Jakub Šesták. ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator

Reporting a Monitoring

- PC musí být připojené v lokální síti - je bezpodmínečně nutné, aby aplikace Outlook nebyla aktivní)

Bezpečná autentizace přístupu do firemní sítě

KMI / TMA Tvorba mobilních aplikací. 2. seminář ZS 2016/2017 Středa 13:15-15:45

Uživatelská příručka pro práci s Portálem VZP. Test kompatibility nastavení prohlížeče

Compatibility List. GORDIC spol. s r. o. Verze

Instalace Debianu pomocí debootstrap

Autodesk Inventor Tipy a Triky. Ladislav Horálek, CAD Studio a.s.

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

I.CA RemoteSeal. Ing. Filip Michl První certifikační autorita, a.s

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Poznámky k vydání pro Kerio Workspace 2.0.1

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

INSTALACE SW PROID+ V OS LINUX

úvod Historie operačních systémů

INSTALACE SOFTWARE A AKTIVACE PRODUKTU NÁVOD

iphone vývoj aplikací Jiří Vávrů

EPLAN Electric P8 2.7 s databázemi na SQL serveru

1. Pořízení dokumentu

SSL Secure Sockets Layer

Instalace pluginů pro formuláře na eportálu ČSSZ

Představení společnosti a produktů ESET ESET software, spol. s r.o. Petr Heřman

Projekt JetConf REST API pro vzdálenou správu

Instalace programu ProVIS

Messenger. Novell 1.0 UMÍSTĚNÍ DOKUMENTACE K PROGRAMU NOVELL MESSENGER. STRUČ NÁ ÚVODNÍ PŘ ÍRUČ KA

Doporučeno pro předpokládané využití serveru pro zpracování 2000 dokumentů měsíčně. HW: 3GHz procesor, 2 jádra, 8GB RAM

Certifikační autorita EET Modelové postupy vytvoření souboru žádosti o certifikát

Extrémně silné zabezpečení mobilního přístupu do sítě.

DŮVĚRYHODNÁ ELEKTRONICKÁ ARCHIVACE. Jan Tejchman Electronic Archiving Consultant

Instalace a první spuštění Programu Job Abacus Pro

Notes and Domino Social Edition 9. David Marko, TCL DigiTrade

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

NAS 243 Aplikace AiData pro mobilní zařízení

ZÁKLADNÍ POKYNY PRO INSTALACI PROID+ Z INSTALAČNÍHO MÉDIA

Software602 FormApps Server

Linux na mobilních telefonech

Emulátor psaní SMS na mobilním telefonu. (projekt do předmětu ITU)

PV239/WP. Vývoj univerzálních Windows Store aplikací. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP

Novinky v oblasti SAP Mobility. Martin Zikmund, Presale Mobility Platforms Miroslav Řehoř, Account Executive

VERZE 1.1.1, 1.1.2, 1.2 VIVO.LUNDEGAARD.EU

Chyby v prohlížečích, které v nich byly klidně deset let. Jiří Nápravník

Jak programovat Tinykeyer?

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP

Firmadat SMS Sender. aplikace pro odesílání SMS zpráv z Vašeho PC pomocí telefonu ZÁKLADNÍ INFORMACE A INSTALACE MILAN PASTOR, ROMAN NEPŠINSKÝ

Projekt implementace OS Linux do výuky informačních technologií

Identifikátor materiálu: ICT-1-17

Poznámky k vydání. pro Kerio Connect Release Candidate 1

Olga Rudikova 2. ročník APIN

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

SDC aplikace - návod k instalaci. Somfy Digital Control application

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný

Vzdálené připojení do sítě ČEZ VPN Cisco AnyConnect

Integrace mobilních zařízení do ICT, provoz tlustých aplikací na mobilních telefonech a tabletech Roman Kapitán, Citrix Systems Czech

Vytvoření bootovatelného média

Archivace dat s využitím DÚ CESNET

Předpoklady správného fungování formulářů

Hana Jedličková Novell Tour Praha,

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

Mobile application developent

Citrix klient a OneTimePass moje.cpas.cz. Uživatelský návod pro interní uživatele České pojišťovny a.s.

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 11. Testovaný generátor: Portecle 1.

MATURITNÍ PRÁCE dokumentace

Řešení služby tisku na vyžádání od HP

DŮVĚRYHODNÁ ELEKTRONICKÁ ARCHIVACE. Petr Dolejší Senior Solution Consultant

faktura, LaTeX, open source, freeware, Python, multiplatformní program

informačního systému Uživatelská příručka Konfigurace klientských statnic

Virtualbox/2. Warpstock 2008 CZ Brno Virtualbox/2 prakticky Lubomír Černý

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Server Security, Serverové produkty

DNSSEC Validátor - doplněk prohlížečů proti podvržení domény

SDC aplikace - návod k instalaci. Somfy Digital Control application

Transkript:

Datovka: Tvorba instalačních balíků Nástroje vývoj překlad balíkování distribuce novinky Martin Straka martin.straka@nic.cz Karel Slaný karel.slany@nic.cz 12. 11. 2020

Obsah prezentace Aplikace Datovka Tvorba instalačních balíčků překladový systém, architektury závislosti balíčkování distribuce Novinky Plány do budoucna

Datovka Datovka je multiplatformní aplikace pro přístup k datovým schránkám. trvalé uchovávání datových zpráv v lokální databázi operace a manipulace s datovými zprávami libovolné množství schránek v jedné aplikaci podobnost s emailovými klienty open-souce Varianty pro desktop a mobilní zařízení Vyvíjená ve frameworku Qt www.datovka.cz

Struktura aplikace v Qt Qt: multiplatformní vývojový framework Struktura projektu popsána projektovým souborem. Modulární design backend: Qt C++ (OOP) GUI: XML, QtQuick (QML + javascript) lokalizace, zdroje (resources), pomocné soubory, ikony... Qt Creator (editor kódu, UI návrh, překlad, debugger) Překlad: qmake, make

Cílové platformy Datovka pro desktop: Linux x86_64, i386 Zveřejňujeme zdrojové soubory, používáme opensuse Build Service. Windows x86, (x86_64) samostatná aplikace pro GUI a CLI Windows nedovoluje GUI aplikaci výstup do konzole. MacOS / OS X 64bit / 32bit Mobilní Datovka: Android arm64, armv7, x86 a x86_64 ios již jen arm64 Linux lze použit, ale nedistribuujeme

Výroba spustitelné binárky desktop Knihovny, na kterých Datovka závisí: libisds komunikace s ISDS libcurl ustavení komunikačního kanálu s ISDS libxml2 zpracování přenášených dat OpenSSL/GPGme čtení obsahu podepsaných datových zpráv OpenSSL ověření podpisů, certifikátů a razítek datových zpráv Překlad: Linux - gcc/clang, autotools, make Windows - MinGW, autotools, make MacOS CommandLine Tools, autotools, gmake

Desktop: překlad a balíčky pro Linux Některé distribuce balí Datovku relativně rychle. Pro některé distribuce máme své repozitáře v OBS. Slouží nám také k testování překladu aplikace. opensuse Build Service Systém pro překlad a sestavování distribučních balíků. Podporuje mnoho distribucí. Každý typ balíku je popsán specifickým způsobem. (rpm, deb)

Desktop: překlad pro Windows Qt pro Windows (5.15.1), MinGW Git Bash, qmake, mingw32-make.exe Automatizovaný překlad pomocí skriptu. Překlad v prostředí Git Bash, překlad je podobný jako na Linux. libisds a OpenSSL překládáme pomocí MinGW na Linuxu. Po překladu se doplní závislé knihovny třetích stran. windeployqt - doplní knihovny a pluginy Qt Zatím jen 32bit verze. Přenosná verze - upravené cesty, ukládá vše do aplikačního adresáře. Pro použití na USB klíčenkách a pro přenášení mezi PC. (libisds, openssl, curl, libxml)

Desktop: balíčky pro Windows Všechny binární soubory i instalační balíčky se podepíšou. podepsaný = vyšší důvěra OS a i uživatele Comodo certifikát - klíč je uložen na klíčence. podpis pomocí signtool (součást VS). EXE $ signtool sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /n SIGN_CERT_ID %filelist% Dva typy instalačních balíčků. exe - Vyrábíme pomocí NSIS. msi - Vyrábíme pomocí WiX. Jde vzdáleně nainstalovat. Přenosná verze - balíček v zip archivu. Ke stažení (exe, msi, zip) na stránkách projektu Datovka. MSI

Desktop: překlad pro macos Qt pro macos (5.15.1), Qt pro OS X (5.7.1) Xcode (12.1, 9.2) + Command LineTools autotools, gmake z MacPorts Automatizovaný překlad z terminálu pomocí skriptu. 64bit/32bit architektura zvlášť (Catalina/El Capitan) Po překladu se doplní závislé knihovny třetích stran macdeployqt - doplní knihovny a pluginy Qt. install_name_tool - upraví rpath přibalených knihoven (cesta pro vyhledávání knihoven za běhu). Vznikne funkční datovka.app - možno spouštět a zabalit do instalačních balíčků. Distribuce instalačních balíčků přes stránky projektu Datovka. (libisds, openssl, curl, libxml)

Desktop: balíčky pro macos Balíky ve formátu.dmg pro 64bit/32bit. komprimovaný podepsaný image souborového systému s obsahem instalačního balíku. Balík i jednotlivé binární soubory musí být podepsány. Firemní certifikát přímo od CA Apple. Musí být instalován v keychainu macos. Od verze macos Mojave musí aplikace projít kontrolou Apple Postup sestavení podepsaného dmg balíku: Podepsání všech souborů aplikace a vytvoření dmg balíčku (64bit). $ xcrun altool --notarize-app --primary-bundle-id cz.nic.datovka --username martin.straka@nic.cz --file *.dmg Výsledek notifikace přijde na email Zapsání výsledku notarizace do aplikace datovka.app (cca do 10 minut) (64bit). (64bit). $ xcrun stapler staple datovka.app Vytvoření nového balíčku dmg Finální podepsání celého balíčku dmg (32/64bit). $ codesign --force --deep --timestamp --options runtime --sign Developer certificate name datovka.app Odeslání dmg na notarizaci do Apple (notarizace) (64bit). (32/64bit). $ codesign --force --deep --timestamp --options runtime --sign Developer certificate name *.dmg.

Mobilní aplikace: překlad pro Android Možné na Linux, Windows, macos Qt pro Android (5.15.1), QtCreator Android SDK, NDK, Java Jdk, Gradle Qt C++, QML + javascript Nastaveny cesty v QtCreatoru. Architektury 64bit: arm64, x86_64 32bit: armv7, x86 Dominují arm64 a armv7 Závislost: OpenSSL Vlastní nebo výchozí z QT pro Android.

Mobilní aplikace: překlad pro Android Překlad debug/release Volba cílové architektury Balíky musí být podepsány. podepisující vývojářský certifikát (keystore) Musí být instalovaný a odemčený v QtCreateru v době sestavování. Volba SDK Android Level pro překlad. AndroidManifest.xml identifikátor, verze, codeverze, oprávnění minimální podporovaná verze API Překlad: QtCreator qmake Build Run

Mobilní aplikace: balíčky pro Android Balíčky typu.apk a.abb APK: jeden apk, jedna architektura, optimalizace v době sestavování balíku. AAB: Android App Bundles, 4 architektury v balíku, optimalizace až v obchodě. Lze instalovat přímo do zařízení, nahrát do obchodu. Nejde instalovat přímo do zařízení, pouze pro nahrávání do obchodu. Sestavují se pomocí Gradle v době překladu. Zajistí QtCreator. Distribuce přes GooglePlay - Console. Nutný účet u Google (placené) Stačí nahrát podepsaný balík apk/aab s vyšším codeversion. APK balíčky také k dispozici na stránkách projektu Datovka.

Mobilní aplikace: překlad pro ios macos (Catalina) Qt pro ios (5.15.1), QtCreator Xcode (12.1) Platný ios Developer certifikát pro Xcode (placený) Musí být instalovaný v Keychainu OS. Architektura už jen arm64. Závislost na OpenSSL Vlastní překlad OpenSSL pro ios pomocí Xcode. Překlad: QtCreator qmake projekt.xcodeproj Xcode (projekt.xcodeproj) Certifikát Povolit přístup na icloud Build Run Je potřeba telefon pro vývoj a testování. Simulátor ios

Mobilní aplikace: balíčky pro ios Archiv.ipa balíček pro nahrávání do App Store Obsahuje metadata popisující balík. Xcode (projekt.xcodeproj) Archive (.ipa) Upload to AppleStore ios distribuční kanál zabezpečený certifikátem (placený) Distribuce přes App Strore. Vyžaduje účet na itunes connect.

Mobilní aplikace: překlad pro Librem 5 Librem 5 je otevřený telefon. Překlad podobný jako pro Linux. Testováno na vývojovém kitu díky Davidu Heidelbergovi

Datovka: Co je nového? Datovka pro desktop stínové účty reportování stavu schránky pro spisovou službu zlepšena odezva GUI automatické stahování a spouštění instalace aktualizací Mobilní Datovka překlad pro Librem nový kód pro komunikaci s ISDS

Datovka: Plány do budoucna Doplnění dalších funkcí do libisds a Datovky. Zvažujeme fork libisds. Umožnění spolupráce více uživatelů. sdílení tagů serverové řešení pro sdílení datových zpráv mezi uživateli

Jsme rádi, že aplikaci používáte Datovka je pro uživatele k dispozici zdarma. Stránky projektu: https://www.datovka.cz/ Podpora: datove-schranky@labs.nic.cz Můžete přispět formou finančního daru na její rozvoj.

Děkuji za pozornost Martin Straka martin.straka@nic.cz Karel Slaný karel.slany@nic.cz 12. 11. 2020