Snap packaging improvements (#207)
* fixup! snap: Support official config paths via *-files confinement interfaces (#197) * FIXME no longer applied * Obsoleted HOME environment variable assignment Signed-off-by: 林博仁(Buo-ren Lin) <Buo.Ren.Lin@gmail.com> * snap: Migrate to selective-checkout The selective-pull stage snap is superseded by selective-checkout, prefer the new one. Refer-to: Selective-checkout: Check out the tagged release revision if it isn't promoted to the stable channel <https://forum.snapcraft.io/t/the-selective-pull-scriptlet-stage-snap-workaround/10389> Signed-off-by: 林博仁(Buo-ren Lin) <Buo.Ren.Lin@gmail.com> * snap: Support bash completion Refer-to: Scriptlets <https://docs.snapcraft.io/scriptlets/4892> Refer-to: Tab completion for snaps <https://docs.snapcraft.io/tab-completion-for-snaps/2261> Signed-off-by: 林博仁(Buo-ren Lin) <Buo.Ren.Lin@gmail.com> * snap: Implement interface connection warning in the launcher This patch ensures that the user will be acknowledge the missing connection to the `removable-media` interface. Signed-off-by: 林博仁(Buo-ren Lin) <Buo.Ren.Lin@gmail.com>master
parent
c689bc2971
commit
81d4d49234
|
@ -8,12 +8,25 @@ set \
|
|||
-o pipefail
|
||||
|
||||
# Use user's real home directory for canonical configuration path access
|
||||
# FIXME: Waiting for Snap Store assertion
|
||||
declare REALHOME="$(
|
||||
getent passwd "${USER}" \
|
||||
| cut --delimiter=: --fields=6
|
||||
)"
|
||||
HOME="${REALHOME}"
|
||||
|
||||
if ! test -f "${SNAP_USER_COMMON}"/marker_disable_interface_warning; then
|
||||
# Warn if the `removable-media` interface isn't connected
|
||||
if ! ls /media &>/dev/null; then
|
||||
printf -- \
|
||||
"It seems that this snap isn't connected to the \`removable-media\` security confinement interface. If you want to save the files under \`/media\`, \`/run/media\`, or \`/mnt\` directories you need to connect this snap to the \`removable-media\` interface by running the following command in a terminal:\\n\\n sudo snap connect %s:removable-media\\n\\n" \
|
||||
"${SNAP_NAME}" \
|
||||
>&2
|
||||
printf -- \
|
||||
"To disable this warning create an empty file at the following path:\\n\\n %s/marker_disable_interface_warning\\n\\n" \
|
||||
"${SNAP_USER_COMMON}" \
|
||||
>&2
|
||||
fi
|
||||
fi
|
||||
|
||||
# Finally run the next part of the command chain
|
||||
exec "${@}"
|
||||
|
|
|
@ -55,22 +55,34 @@ parts:
|
|||
organize:
|
||||
'*': bin/
|
||||
|
||||
selective-pull:
|
||||
# Check out the tagged release revision if it isn’t promoted to the stable channel
|
||||
# https://forum.snapcraft.io/t/selective-checkout-check-out-the-tagged-release-revision-if-it-isnt-promoted-to-the-stable-channel/10617
|
||||
selective-checkout:
|
||||
plugin: nil
|
||||
build-packages:
|
||||
- git
|
||||
stage-snaps:
|
||||
- selective-pull
|
||||
- selective-checkout
|
||||
|
||||
gallery-dl:
|
||||
after:
|
||||
- selective-pull
|
||||
- selective-checkout
|
||||
|
||||
source: .
|
||||
override-pull: $SNAPCRAFT_STAGE/scriptlets/selective-pull
|
||||
override-pull: |
|
||||
snapcraftctl pull
|
||||
$SNAPCRAFT_STAGE/scriptlets/selective-checkout
|
||||
|
||||
plugin: python
|
||||
build-packages:
|
||||
- make
|
||||
python-packages:
|
||||
- youtube_dl
|
||||
override-build: |
|
||||
# build manpages and bash completion
|
||||
make
|
||||
|
||||
snapcraftctl build
|
||||
|
||||
ffmpeg:
|
||||
plugin: nil
|
||||
|
@ -94,11 +106,10 @@ apps:
|
|||
command-chain:
|
||||
- bin/gallery-dl-launch
|
||||
command: bin/gallery-dl
|
||||
completer: etc/bash_completion.d/gallery-dl.bash_completion
|
||||
environment:
|
||||
LANG: C.UTF-8
|
||||
LC_ALL: C.UTF-8
|
||||
|
||||
# Satisfy FFmpeg's libpulsecommon dependency
|
||||
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pulseaudio
|
||||
|
||||
HOME: $SNAP_USER_COMMON
|
||||
|
|
Loading…
Reference in New Issue