Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Snap packaging improvements #207

Merged
merged 4 commits into from
Mar 29, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion snap/local/launchers/gallery-dl-launch
Original file line number Diff line number Diff line change
Expand Up @@ -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 "${@}"
23 changes: 17 additions & 6 deletions snap/snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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