Skip to content

Instantly share code, notes, and snippets.

@legoktm
Created September 7, 2022 22:16
Show Gist options
  • Save legoktm/61d28e6f045bbcb10500114b9ee8f1f4 to your computer and use it in GitHub Desktop.
Save legoktm/61d28e6f045bbcb10500114b9ee8f1f4 to your computer and use it in GitHub Desktop.
root@c625cacab3e2:/src# diffoscope /src/build/debbuild/packaging/securedrop-client_0.8.0+bullseye_all_old.deb /src/build/debbuild/packaging/securedrop-client_0.8.0+bullseye_all.deb
--- /src/build/debbuild/packaging/securedrop-client_0.8.0+bullseye_all_old.deb
+++ /src/build/debbuild/packaging/securedrop-client_0.8.0+bullseye_all.deb
├── file list
│ @@ -1,3 +1,3 @@
│ -rw-r--r-- 0 0 0 4 2022-07-06 04:06:23.000000 debian-binary
│ --rw-r--r-- 0 0 0 25396 2022-07-06 04:06:23.000000 control.tar.xz
│ --rw-r--r-- 0 0 0 3981260 2022-07-06 04:06:23.000000 data.tar.xz
│ +-rw-r--r-- 0 0 0 24344 2022-07-06 04:06:23.000000 control.tar.xz
│ +-rw-r--r-- 0 0 0 3980688 2022-07-06 04:06:23.000000 data.tar.xz
├── control.tar.xz
│ ├── control.tar
│ │ ├── file list
│ │ │ @@ -1,7 +1,5 @@
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2022-07-06 04:06:23.000000 ./
│ │ │ -rw-r--r-- 0 root (0) root (0) 84 2022-07-06 04:06:23.000000 ./conffiles
│ │ │ -rw-r--r-- 0 root (0) root (0) 357 2022-07-06 04:06:23.000000 ./control
│ │ │ -rw-r--r-- 0 root (0) root (0) 119667 2022-07-06 04:06:23.000000 ./md5sums
│ │ │ --rwxr-xr-x 0 root (0) root (0) 3945 2022-07-06 04:06:23.000000 ./postinst
│ │ │ --rwxr-xr-x 0 root (0) root (0) 947 2022-07-06 04:06:23.000000 ./prerm
│ │ │ --rw-r--r-- 0 root (0) root (0) 288 2022-07-06 04:06:23.000000 ./triggers
│ │ │ +-rwxr-xr-x 0 root (0) root (0) 1105 2022-07-06 04:06:23.000000 ./postinst
│ │ ├── ./control
│ │ │ @@ -1,10 +1,10 @@
│ │ │ Package: securedrop-client
│ │ │ Version: 0.8.0+bullseye
│ │ │ Architecture: all
│ │ │ Maintainer: SecureDrop Team <[email protected]>
│ │ │ -Installed-Size: 18669
│ │ │ +Installed-Size: 18665
│ │ │ Depends: python3-pyqt5, python3-pyqt5.qtsvg, apparmor-utils
│ │ │ Section: unknown
│ │ │ Priority: optional
│ │ │ Homepage: https://github.com/freedomofpress/securedrop-client
│ │ │ Description: securedrop client for qubes workstation
│ │ ├── ./md5sums
│ │ │ ├── ./md5sums
│ │ │ │┄ Files differ
│ │ ├── ./postinst
│ │ │ @@ -36,97 +36,9 @@
│ │ │ ;;
│ │ │ esac
│ │ │
│ │ │ # dh_installdeb will replace this with shell code automatically
│ │ │ # generated by other debhelper scripts.
│ │ │
│ │ │
│ │ │ -# Automatically added by dh_python2:
│ │ │ -# dh-virtualenv postinst autoscript
│ │ │ -set -e
│ │ │ -dh_venv_install_dir='/opt/venvs/securedrop-client'
│ │ │ -dh_venv_package='securedrop-client'
│ │ │ -
│ │ │ -# set to empty to enable verbose output
│ │ │ -test "${DH_VERBOSE:-0}" = "1" && DH_VENV_DEBUG="" || DH_VENV_DEBUG=:
│ │ │ -$DH_VENV_DEBUG set -x
│ │ │ -
│ │ │ -
│ │ │ -dh_venv_safe_interpreter_update() {
│ │ │ - # get Python version used
│ │ │ - local pythonX_Y=$(cd "$dh_venv_install_dir/lib" && ls -1d python[2-9].*[0-9] | tail -n1)
│ │ │ -
│ │ │ - local i
│ │ │ - for i in python ${pythonX_Y%.*} ${pythonX_Y}; do
│ │ │ - local interpreter_path="$dh_venv_install_dir/bin/$i"
│ │ │ -
│ │ │ - # skip any symlinks, and make sure we have an existing target
│ │ │ - test ! -L "$interpreter_path" || continue
│ │ │ - test -x "$interpreter_path" || continue
│ │ │ -
│ │ │ - # skip if already identical
│ │ │ - if cmp "/usr/bin/$pythonX_Y" "$interpreter_path" >/dev/null 2>&1; then
│ │ │ - continue
│ │ │ - fi
│ │ │ -
│ │ │ - # hardlink or copy new interpreter
│ │ │ - cp -fpl "/usr/bin/$pythonX_Y" "$interpreter_path,new" \
│ │ │ - || cp -fp "/usr/bin/$pythonX_Y" "$interpreter_path,new" \
│ │ │ - || rm -f "$interpreter_path,new" \
│ │ │ - || true
│ │ │ -
│ │ │ - # make a backup (once)
│ │ │ - test -f "$interpreter_path,orig" || ln "$interpreter_path" "$interpreter_path,orig"
│ │ │ -
│ │ │ - # atomic move
│ │ │ - if test -x "$interpreter_path,new" && mv "$interpreter_path,new" "$interpreter_path"; then
│ │ │ - echo "Successfully updated $interpreter_path"
│ │ │ - else
│ │ │ - echo >&2 "WARNING: Some error occured while updating $interpreter_path"
│ │ │ - fi
│ │ │ - done
│ │ │ -}
│ │ │ -
│ │ │ -
│ │ │ -case "$1" in
│ │ │ - configure|reconfigure)
│ │ │ - $DH_VENV_DEBUG echo "$0 $1 called with $# args:" "$@"
│ │ │ - dh_venv_safe_interpreter_update
│ │ │ - ;;
│ │ │ -
│ │ │ - triggered)
│ │ │ - $DH_VENV_DEBUG echo "$0 $1 called with $# args:" "$@"
│ │ │ - for trigger in $2; do
│ │ │ - case "$trigger" in
│ │ │ - /usr/bin/python?.*)
│ │ │ - # this trigger might be for the "wrong" interpreter (other version),
│ │ │ - # but the "cmp" in "dh_venv_safe_interpreter_update" and the fact we only
│ │ │ - # ever look at our own Python version catches that
│ │ │ - dh_venv_safe_interpreter_update
│ │ │ - ;;
│ │ │ - dh-virtualenv-interpreter-update)
│ │ │ - dh_venv_safe_interpreter_update
│ │ │ - ;;
│ │ │ - *)
│ │ │ - #echo >&2 "ERROR:" $(basename "$0") "called with unknown trigger '$2'"
│ │ │ - #exit 1
│ │ │ - ;;
│ │ │ - esac
│ │ │ - done
│ │ │ - ;;
│ │ │ -
│ │ │ - abort-upgrade|abort-remove|abort-deconfigure)
│ │ │ - ;;
│ │ │ -
│ │ │ - *)
│ │ │ - #echo >&2 "ERROR:" $(basename "$0") "called with unknown argument '$1'"
│ │ │ - #exit 1
│ │ │ - ;;
│ │ │ -esac
│ │ │ -
│ │ │ -$DH_VENV_DEBUG set +x
│ │ │ -# END dh-virtualenv postinst autoscript
│ │ │ -
│ │ │ -# End automatically added section
│ │ │ -
│ │ │
│ │ │ exit 0
├── data.tar.xz
│ ├── data.tar
│ │ ├── file list
│ │ │ @@ -9,15 +9,15 @@
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/
│ │ │ -rw-r--r-- 0 root (0) root (0) 40 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/.gitignore
│ │ │ drwxr-xr-x 0 root (0) root (0) 0 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/
│ │ │ -rw-r--r-- 0 root (0) root (0) 2374 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/activate
│ │ │ -rw-r--r-- 0 root (0) root (0) 1436 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/activate.csh
│ │ │ -rw-r--r-- 0 root (0) root (0) 3067 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/activate.fish
│ │ │ -rw-r--r-- 0 root (0) root (0) 1751 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/activate.ps1
│ │ │ --rw-r--r-- 0 root (0) root (0) 1230 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/activate.xsh
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1158 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/activate.xsh
│ │ │ -rw-r--r-- 0 root (0) root (0) 1199 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/activate_this.py
│ │ │ -rwxr-xr-x 0 root (0) root (0) 236 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/alembic
│ │ │ -rwxr-xr-x 0 root (0) root (0) 253 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/easy_install
│ │ │ -rwxr-xr-x 0 root (0) root (0) 253 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/easy_install-3.9
│ │ │ -rwxr-xr-x 0 root (0) root (0) 253 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/easy_install3
│ │ │ -rwxr-xr-x 0 root (0) root (0) 253 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/easy_install3.9
│ │ │ -rwxr-xr-x 0 root (0) root (0) 236 2022-07-06 04:06:23.000000 ./opt/venvs/securedrop-client/bin/mako-render
│ │ ├── ./opt/venvs/securedrop-client/bin/activate
│ │ │ @@ -42,15 +42,15 @@
│ │ │ unset -f deactivate
│ │ │ fi
│ │ │ }
│ │ │
│ │ │ # unset irrelevant variables
│ │ │ deactivate nondestructive
│ │ │
│ │ │ -VIRTUAL_ENV="/opt/venvs/securedrop-client"
│ │ │ +VIRTUAL_ENV='/opt/venvs/securedrop-client'
│ │ │ if ([ "$OSTYPE" = "cygwin" ] || [ "$OSTYPE" = "msys" ]) && $(command -v cygpath &> /dev/null) ; then
│ │ │ VIRTUAL_ENV=$(cygpath -u "$VIRTUAL_ENV")
│ │ │ fi
│ │ │ export VIRTUAL_ENV
│ │ │
│ │ │ _OLD_VIRTUAL_PATH="$PATH"
│ │ │ PATH="$VIRTUAL_ENV/bin:$PATH"
│ │ ├── ./opt/venvs/securedrop-client/bin/activate.csh
│ │ │ @@ -6,15 +6,15 @@
│ │ │ '
│ │ │
│ │ │ alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH:q" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT:q" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate && unalias pydoc'
│ │ │
│ │ │ # Unset irrelevant variables.
│ │ │ deactivate nondestructive
│ │ │
│ │ │ -setenv VIRTUAL_ENV "/opt/venvs/securedrop-client"
│ │ │ +setenv VIRTUAL_ENV '/opt/venvs/securedrop-client'
│ │ │
│ │ │ set _OLD_VIRTUAL_PATH="$PATH:q"
│ │ │ setenv PATH "$VIRTUAL_ENV:q/bin:$PATH:q"
│ │ │
│ │ │
│ │ │
│ │ │ if ('' != "") then
│ │ ├── ./opt/venvs/securedrop-client/bin/activate.fish
│ │ │ @@ -53,15 +53,15 @@
│ │ │ functions -e _fishify_path
│ │ │ end
│ │ │ end
│ │ │
│ │ │ # Unset irrelevant variables.
│ │ │ deactivate nondestructive
│ │ │
│ │ │ -set -gx VIRTUAL_ENV "/opt/venvs/securedrop-client"
│ │ │ +set -gx VIRTUAL_ENV '/opt/venvs/securedrop-client'
│ │ │
│ │ │ # https://github.com/fish-shell/fish-shell/issues/436 altered PATH handling
│ │ │ if test (echo $FISH_VERSION | head -c 1) -lt 3
│ │ │ set -gx _OLD_VIRTUAL_PATH (_bashify_path $PATH)
│ │ │ else
│ │ │ set -gx _OLD_VIRTUAL_PATH "$PATH"
│ │ │ end
│ │ ├── ./opt/venvs/securedrop-client/bin/activate.xsh
│ │ │ @@ -24,15 +24,15 @@
│ │ │ del aliases["deactivate"]
│ │ │
│ │ │
│ │ │ # unset irrelevant variables
│ │ │ _deactivate(["nondestructive"])
│ │ │ aliases["deactivate"] = _deactivate
│ │ │
│ │ │ -$VIRTUAL_ENV = r"/src/build/debbuild/packaging/securedrop-client/debian/securedrop-client/opt/venvs/securedrop-client"
│ │ │ +$VIRTUAL_ENV = r"/opt/venvs/securedrop-client"
│ │ │
│ │ │ $_OLD_VIRTUAL_PATH = $PATH
│ │ │ $PATH = $PATH[:]
│ │ │ $PATH.add($VIRTUAL_ENV + _get_sep() + "bin", front=True, replace=True)
│ │ │
│ │ │ if ${...}.get("PYTHONHOME", ""):
│ │ │ # unset PYTHONHOME if set
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment