[SailfishDevel] Scriptlets in RPM hot allowed to Harbour

David Greaves david.greaves at jolla.com
Sun Jan 12 12:43:58 UTC 2014


All run as user:

(Aside: the "chum" repository is something I'm doing with my community hat on,
not my Jolla one. It's intended to be run ***and QA'ed*** by the community. More
on this 'soon')

On 11/01/14 21:45, Semuonov Basil wrote:> I guess, that I am the person who
started this story about scriptlets.
> Ssu does have "global" repositories, and "user" repositories. By using
> packagekit you can only enable and disable repositories. You should use ssu to
> add or remove  repositories. But as "nemo" user, you cannot add/remove "user"
> repositories, root permissions are required to perform actual repository list
> update (ssu ur).


[nemo at localhost ~]$ ssu ar chum
http://repo.merproject.org/obs/sailfishos:/chum:/1.0.2.5/1.0.2.5_armv7hl/


[nemo at localhost ~]$ ssu lr
Enabled repositories (global):
 - adaptation0 ...
https://store-repository.jolla.com/releases/1.0.2.5/jolla-hw/adaptation-android-common/armv7hl/
 - adaptation1 ...
https://store-repository.jolla.com/releases/1.0.2.5/jolla-hw/adaptation-qualcomm-sbj/armv7hl/
 - aliendalvik ...
https://store-repository.jolla.com/releases/1.0.2.5/aliendalvik/SbJ/
 - apps        ... https://releases.jolla.com/jolla-apps/1.0.2.5/armv7hl/
 - hotfixes    ... https://releases.jolla.com/releases/1.0.2.5/hotfixes/armv7hl/
 - jolla       ... https://releases.jolla.com/releases/1.0.2.5/jolla/armv7hl/

Enabled repositories (user):
 - chum      ...
http://repo.merproject.org/obs/sailfishos:/chum:/1.0.2.5/1.0.2.5_armv7hl/
 - jolla     ... https://releases.jolla.com/releases/1.0.2.5/jolla/armv7hl/
 - mer-tools ...
https://releases.jolla.com/releases/1.0.2.5/mer-tools/builds/armv7hl/packages/
 - store     ... https://store-repository.jolla.com/SbJ/armv7hl/

Disabled repositories (global, might be overridden by user config):

Disabled repositories (user):
 - home ... https://download.jollamobile.com/home:/honeybadger/latest_armv7hl/


[nemo at localhost ~]$ pkcon refresh
Refreshing cache              [=========================]
Waiting in queue              [=========================]
Waiting for authentication    [=========================]
Waiting in queue              [=========================]
Starting                      [=========================]
Refreshing software list      [=========================]



[nemo at localhost ~]$ pkcon install mosh
Installing                    [=========================]
Waiting in queue              [=========================]
Starting                      [=========================]
Refreshing software list      [=========================]
Querying                      [=========================]
Resolving dependencies        [=========================]
Installing packages           [=========================]
The following packages have to be installed:
 mosh-1.2.4-1.2.1.armv7hl       Mobile shell that supports roaming and
intelligent local echo
 make-3.81-1.1.1.armv7hl        A GNU tool which simplifies the build process
for users
 openssl-1.0.1c-1.1.1.armv7hl   Utilities from the general purpose cryptography
library with TLS implementation
 protobuf-2.5.0-1.1.1.armv7hl   Protocol Buffers - Google's data interchange format
Proceed with changes? [N/y] y

                              [=========================]
Installing                    [=========================]
Waiting in queue              [=========================]
Waiting for authentication    [=========================]
Waiting in queue              [=========================]
Starting                      [=========================]
Refreshing software list      [=========================]
Querying                      [=========================]
Resolving dependencies        [=========================]
Installing packages           [=========================]
Downloading packages          [=========================]
Installing packages           [=========================]


[nemo at localhost ~]$ mosh
Usage: /usr/bin/mosh [options] [--] [user@]host [command...]
        --client=PATH        mosh client on local machine
                                (default: "mosh-client")
        --server=COMMAND     mosh server on remote machine
                                (default: "mosh-server")

        --predict=adaptive      local echo for slower links [default]
-a      --predict=always        use local echo even on fast links
-n      --predict=never         never use local echo
        --predict=experimental  aggressively echo even when incorrect

-p PORT[:PORT2]
        --port=PORT[:PORT2]  server-side UDP port or range

        --ssh=COMMAND        ssh command to run when setting up session
                                (example: "ssh -p 2222")
                                (default: "ssh")

        --no-init            do not send terminal initialization string

        --help               this message
        --version            version and copyright information

Please report bugs to mosh-devel at mit.edu.
Mosh home page: http://mosh.mit.edu


Don't expect happy results if you mess around:

[nemo at localhost ~]$ ssu lr
Enabled repositories (global):
 - adaptation0 ...
https://store-repository.jolla.com/releases/1.0.2.5/jolla-hw/adaptation-android-common/armv7hl/
 - adaptation1 ...
https://store-repository.jolla.com/releases/1.0.2.5/jolla-hw/adaptation-qualcomm-sbj/armv7hl/
 - aliendalvik ...
https://store-repository.jolla.com/releases/1.0.2.5/aliendalvik/SbJ/
 - apps        ... https://releases.jolla.com/jolla-apps/1.0.2.5/armv7hl/
 - hotfixes    ... https://releases.jolla.com/releases/1.0.2.5/hotfixes/armv7hl/
 - jolla       ... https://releases.jolla.com/releases/1.0.2.5/jolla/armv7hl/
<snip>

[nemo at localhost ~]$ ssu dr jolla

[nemo at localhost ~]$ ssu lr
Enabled repositories (global):
 - adaptation0 ...
https://store-repository.jolla.com/releases/1.0.2.5/jolla-hw/adaptation-android-common/armv7hl/
 - adaptation1 ...
https://store-repository.jolla.com/releases/1.0.2.5/jolla-hw/adaptation-qualcomm-sbj/armv7hl/
 - aliendalvik ...
https://store-repository.jolla.com/releases/1.0.2.5/aliendalvik/SbJ/
 - apps        ... https://releases.jolla.com/jolla-apps/1.0.2.5/armv7hl/
 - hotfixes    ... https://releases.jolla.com/releases/1.0.2.5/hotfixes/armv7hl/
<snip>

Disabled repositories (user):
 - home  ... https://download.jollamobile.com/home:/honeybadger/latest_armv7hl/
 - jolla ... https://releases.jolla.com/releases/1.0.2.5/jolla/armv7hl/


^^^ This is not a nice position for a non-technical end user.


[nemo at localhost ~]$ ssu er jolla

[nemo at localhost ~]$ ssu lr
Enabled repositories (global):
<snip>
 - apps        ... https://releases.jolla.com/jolla-apps/1.0.2.5/armv7hl/
 - hotfixes    ... https://releases.jolla.com/releases/1.0.2.5/hotfixes/armv7hl/
 - jolla       ... https://releases.jolla.com/releases/1.0.2.5/jolla/armv7hl/
<snip>


As a note, IMHO apps should not do this on devices that do not have developer
(or sideloading) enabled simply because it imposes a significant risk on the
device owner that updates will not work. My app which is essentially
warehouse-for-chum makes that check and won't operate on non-developer devices.
It also has a mechanism to disable the repos which may be useful before an update.

David



More information about the Devel mailing list