Code Monkey home page Code Monkey logo

lastore-daemon's Introduction

Lastore Daemon

Lastore Daemon is based on dbus and support apt backend (And Currently only support apt). The project is mainly support Linux Application Store. Currently it power deepin store 4.0.

Dependencies

You can also check the "Depends" provided in the debian/control file.

Build dependencies

You can also check the "Build-Depends" provided in the debian/control file.

Runtime dependencies

  • apt-get
  • apt-cache
  • apt

Installation

Debian 8.0 (jessie)

Install prerequisites

$ sudo apt-get install make \
                       golang-go \
                       pkg-config \
                       libglib2.0-dev

Build

$ make
$ sudo make install

Or, generate package files and install Deepin Terminal with it

$ debuild -uc -us ...
$ sudo dpkg -i ../lastore-daemon*deb

Usage

lastore-daemon and lastore-session-helper

lastore-daemon need run as root user. It will autostart by systemd as system service.

And the lastore-session-helper need run as current session owner user. It will autostart by dbus-daemon as session service.

There has two group of interface. The Manager and the Updater. see [Hacking guide] for Detail information.

Normal you don't need use this. Just run deepin-appstore.

But you can use it by tools like d-feet, dbus-send or busctl.

For example, use the PackageDesktopPath api to query the desktop path of any installed package.

dbus-send --print-reply --system --dest=org.deepin.dde.Lastore1 /org/deepin/dde/Lastore1 org.deepin.dde.Lastore1.Manager.PackageDesktopPath string:"gedit"

lastore-tools

lastore-tools is used generate some index file in /var/lib/lastore

% lastore-tools -h
NAME:
   lastore-tools - help building dstore system.

USAGE:
   lastore-tools [global options] command [command options] [arguments...]

VERSION:
   0.9.18

COMMANDS:
   update	Update appstore information from server
   test		Run test job using lastore-daemon
   help, h	Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --debug, -d		show verbose message
   --help, -h		show help
   --version, -v	print the version

The update has two group job. The first group jobs are pull data from server. lastore-daemon will use this to update meta data.

  • categories
  • applications
  • xcategories
  • mirrors

And the second group jobs are update data when local system changed. dpkg hook will use this to update meta data.

  • desktop
  • update_infos

NOTE: Don't use lastore-remove and lastore-install jobs. The is just for internal testing . It will install or remove ALL OF APPLICATIONS in dstore, So it very likely to broke your system.

lastore-smartmirror

It's the helper utils for apt with smartmirror patch. Can't be used alone.

Build Configure for mirrors

  1. ./var/lib/lastore/mirrors.json

The package maintainer should rewrite the content if the initial values doesn't match the target system.

Note:

  • It's safely remove this file from package.
  • It will update automatically at runtime by configuration.
  1. ./var/lib/lastore/repository_info.json

The lastore-tools will parse this file, according "/etc/apt/sources.list".

This file support three field:

  1. name : the repository name. It will be send to server when update mirror lists.

  2. url : the official repository url which will be parsed with sources.list and get the correct name

  3. mirror (optional): the default mirror url

  4. disable automatically notify system upgrade information

  5. rm /var/lib/lastore/update_infos.json

  6. run systemctl mask lastore-build-system-info.service for disable notify upgrade information.

  7. (DON'T DO THIS) run systemctl mask lastore-update-metadata-info.timer for disable update lastore metadata infos

Getting help

Any usage issues can ask for help via

Getting involved

We encourage you to report issues and contribute changes

License

Lastore Daemon is licensed under GPL-3.0-or-later.

lastore-daemon's People

Contributors

chengbo7135 avatar decodetalkers avatar deepin-bot[bot] avatar deepinzhangshuang avatar dengbo11 avatar electricface avatar gs342 avatar hubenchang0515 avatar huwei-eaco avatar hy-uniontech avatar iceyer avatar jouyouyun avatar laplac2 avatar leaeasy avatar longqi1993 avatar myml avatar oiosnc avatar robertkill avatar rocet92 avatar snyh avatar ssk-wh avatar weizhixiangcoder avatar wubowen011157 avatar yixinshark avatar zeno-sole avatar zsien avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.