Skip to content

Instantly share code, notes, and snippets.

@codekeyz
Forked from SanderTheDragon/postman-deb.sh
Created April 9, 2019 20:55
Show Gist options
  • Save codekeyz/8b504f79c6a28c207accdd7de508a998 to your computer and use it in GitHub Desktop.
Save codekeyz/8b504f79c6a28c207accdd7de508a998 to your computer and use it in GitHub Desktop.

Revisions

  1. @SanderTheDragon SanderTheDragon revised this gist May 28, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion postman-deb.sh
    Original file line number Diff line number Diff line change
    @@ -62,7 +62,7 @@ mkdir -p "postman_$version/DEBIAN"
    touch "postman_$version/DEBIAN/control" "postman_$version/DEBIAN/postinst" "postman_$version/DEBIAN/prerm"

    echo "Copying files"
    cp "Postman/resources/app/assets/icon.png" "postman_$version/usr/share/icons/hicolor/128x128/apps/postman.png"
    cp "Postman/app/resources/app/assets/icon.png" "postman_$version/usr/share/icons/hicolor/128x128/apps/postman.png"
    cp -R "Postman/"* "postman_$version/opt/postman/"

    echo "Writing files"
  2. @SanderTheDragon SanderTheDragon revised this gist Mar 31, 2018. 1 changed file with 12 additions and 5 deletions.
    17 changes: 12 additions & 5 deletions postman-deb.sh
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,11 @@
    #!/bin/sh

    script=`basename "$0"`

    if [ $# -gt 0 ] && [ "$1" = "-e" ]; then
    e="-e"
    fi

    echo "Removing old Postman tarballs"
    rm -f $(ls Postman*.tar.gz)

    @@ -60,10 +66,10 @@ cp "Postman/resources/app/assets/icon.png" "postman_$version/usr/share/icons/hic
    cp -R "Postman/"* "postman_$version/opt/postman/"

    echo "Writing files"
    echo "[Desktop Entry]\nType=Application\nName=Postman\nGenericName=Postman API Tester\nIcon=postman\nExec=postman\nPath=/opt/postman\nCategories=Development;" > "postman_$version/opt/postman/Postman.desktop"
    echo "Package: Postman\nVersion: $version\nSection: devel\nPriority: optional\nArchitecture: amd64\nDepends: gconf2\nMaintainer: You\nDescription: Postman\n API something" > "postman_$version/DEBIAN/control"
    echo "if [ -f \"/usr/bin/postman\" ]; then\n\tsudo rm -f \"/usr/bin/postman\"\nfi\n\nsudo ln -s \"/opt/postman/Postman\" \"/usr/bin/postman\"\n\ndesktop-file-install \"/opt/postman/Postman.desktop\"" > "postman_$version/DEBIAN/postinst"
    echo "if [ -f \"/usr/bin/postman\" ]; then\n\tsudo rm -f \"/usr/bin/postman\"\nfi" > "postman_$version/DEBIAN/prerm"
    echo $e "[Desktop Entry]\nType=Application\nName=Postman\nGenericName=Postman API Tester\nIcon=postman\nExec=postman\nPath=/opt/postman\nCategories=Development;" > "postman_$version/opt/postman/Postman.desktop"
    echo $e "Package: Postman\nVersion: $version\nSection: devel\nPriority: optional\nArchitecture: amd64\nDepends: gconf2\nMaintainer: You\nDescription: Postman\n API something" > "postman_$version/DEBIAN/control"
    echo $e "if [ -f \"/usr/bin/postman\" ]; then\n\tsudo rm -f \"/usr/bin/postman\"\nfi\n\nsudo ln -s \"/opt/postman/Postman\" \"/usr/bin/postman\"\n\ndesktop-file-install \"/opt/postman/Postman.desktop\"" > "postman_$version/DEBIAN/postinst"
    echo $e "if [ -f \"/usr/bin/postman\" ]; then\n\tsudo rm -f \"/usr/bin/postman\"\nfi" > "postman_$version/DEBIAN/prerm"

    echo "Setting modes"
    chmod 0775 "postman_$version/DEBIAN/postinst"
    @@ -79,6 +85,7 @@ dpkg-deb -b "postman_$version" > /dev/null

    if [ $? -gt 0 ]; then
    echo "Failed to build 'postman_$version.deb'"
    echo "If the error contained \"character '\' not allowed\", try \`$script -e\`"
    exit
    fi

    @@ -109,4 +116,4 @@ if [ $? -gt 0 ]; then
    fi

    echo "Removing 'postman_$version.deb'"
    rm -f "postman_$version.deb"
    rm -f "postman_$version.deb"
  3. @SanderTheDragon SanderTheDragon revised this gist Mar 23, 2018. 1 changed file with 3 additions and 8 deletions.
    11 changes: 3 additions & 8 deletions postman-deb.sh
    Original file line number Diff line number Diff line change
    @@ -1,10 +1,5 @@
    #!/bin/sh

    versionMaj="1"
    versionMin="0"
    versionRev="1"
    version="$versionMaj.$versionMin-$versionRev"

    echo "Removing old Postman tarballs"
    rm -f $(ls Postman*.tar.gz)

    @@ -65,9 +60,9 @@ cp "Postman/resources/app/assets/icon.png" "postman_$version/usr/share/icons/hic
    cp -R "Postman/"* "postman_$version/opt/postman/"

    echo "Writing files"
    echo "[Desktop Entry]\nType=Application\nName=Postman\nGenericName=Postman API Tester\nIcon=postman\nExec=postman\nPath=/opt/postman\nCategories=Development;" > "postman_$version/usr/share/applications/Postman.desktop"
    echo "Package: Postman\nVersion: $version\nSection: devel\nPriority: optional\nArchitecture: amd64\nDepends: \nMaintainer: You\nDescription: Postman\n API something" > "postman_$version/DEBIAN/control"
    echo "if [ -f \"/usr/bin/postman\" ]; then\n\tsudo rm -f \"/usr/bin/postman\"\nfi\n\nsudo ln -s \"/opt/postman/Postman\" \"/usr/bin/postman\"" > "postman_$version/DEBIAN/postinst"
    echo "[Desktop Entry]\nType=Application\nName=Postman\nGenericName=Postman API Tester\nIcon=postman\nExec=postman\nPath=/opt/postman\nCategories=Development;" > "postman_$version/opt/postman/Postman.desktop"
    echo "Package: Postman\nVersion: $version\nSection: devel\nPriority: optional\nArchitecture: amd64\nDepends: gconf2\nMaintainer: You\nDescription: Postman\n API something" > "postman_$version/DEBIAN/control"
    echo "if [ -f \"/usr/bin/postman\" ]; then\n\tsudo rm -f \"/usr/bin/postman\"\nfi\n\nsudo ln -s \"/opt/postman/Postman\" \"/usr/bin/postman\"\n\ndesktop-file-install \"/opt/postman/Postman.desktop\"" > "postman_$version/DEBIAN/postinst"
    echo "if [ -f \"/usr/bin/postman\" ]; then\n\tsudo rm -f \"/usr/bin/postman\"\nfi" > "postman_$version/DEBIAN/prerm"

    echo "Setting modes"
  4. @SanderTheDragon SanderTheDragon revised this gist Aug 27, 2017. No changes.
  5. @SanderTheDragon SanderTheDragon revised this gist Jul 12, 2017. 1 changed file with 16 additions and 20 deletions.
    36 changes: 16 additions & 20 deletions postman-deb.sh
    Original file line number Diff line number Diff line change
    @@ -5,22 +5,20 @@ versionMin="0"
    versionRev="1"
    version="$versionMaj.$versionMin-$versionRev"

    if [ -f "postman.tar.gz" ]; then
    echo "Removing old 'postman.tar.gz'"
    rm -f "postman.tar.gz"
    fi
    echo "Removing old Postman tarballs"
    rm -f $(ls Postman*.tar.gz)

    echo "Downloading latest 'postman.tar.gz'"
    echo "Downloading latest Postman tarball"
    curlExists=$(command -v curl)

    if [ -z $curlExists ]; then
    wget -q --show-progress "https://dl.pstmn.io/download/latest/linux64" -o "postman.tar.gz"
    wget -q --show-progress "https://dl.pstmn.io/download/latest/linux64" --content-disposition
    else
    curl -# "https://dl.pstmn.io/download/latest/linux64" -o "postman.tar.gz"
    curl -# "https://dl.pstmn.io/download/latest/linux64" -O -J
    fi

    if [ $? -gt 0 ]; then
    echo "Failed to download 'postman.tar.gz'"
    echo "Failed to download Postman tarball"
    exit
    fi

    @@ -29,22 +27,20 @@ if [ -d "Postman" ]; then
    rm -rf "Postman/"
    fi

    echo "Extracting 'postman.tar.gz'"
    tar -xf "postman.tar.gz"
    echo "Extracting Postman tarball"
    tar -xf $(ls Postman*.tar.gz)

    if [ $? -gt 0 ]; then
    echo "Failed to extract 'postman.tar.gz'"
    echo "Failed to extract Postman tarball"
    exit
    fi

    if [ -f "Postman/version" ]; then
    versionMaj=$(cat "Postman/version" | awk -F '.' '{ print $1 }' | sed 's/[^0-9]*//g')
    versionMin=$(cat "Postman/version" | awk -F '.' '{ print $2 }')
    versionRev=$(cat "Postman/version" | awk -F '.' '{ print $3 }')
    version="$versionMaj.$versionMin-$versionRev"

    echo "Postman V$version"
    fi
    versionMaj=$(ls Postman*.tar.gz | awk -F '-' '{ print $4 }' | awk -F '.' '{ print $1 }')
    versionMin=$(ls Postman*.tar.gz | awk -F '-' '{ print $4 }' | awk -F '.' '{ print $2 }')
    versionRev=$(ls Postman*.tar.gz | awk -F '-' '{ print $4 }' | awk -F '.' '{ print $3 }')
    version="$versionMaj.$versionMin-$versionRev"

    echo "Postman V$version"

    if [ -d "postman_$version" ]; then
    echo "Removing old 'postman_$version/'"
    @@ -92,7 +88,7 @@ if [ $? -gt 0 ]; then
    fi

    echo "Cleaning up"
    rm -f "postman.tar.gz"
    rm -f $(ls Postman*.tar.gz)
    rm -rf "Postman/"
    rm -rf "postman_$version/"

  6. @SanderTheDragon SanderTheDragon revised this gist May 25, 2017. 1 changed file with 7 additions and 1 deletion.
    8 changes: 7 additions & 1 deletion postman-deb.sh
    Original file line number Diff line number Diff line change
    @@ -11,7 +11,13 @@ if [ -f "postman.tar.gz" ]; then
    fi

    echo "Downloading latest 'postman.tar.gz'"
    curl -# "https://dl.pstmn.io/download/latest/linux64" -o "postman.tar.gz"
    curlExists=$(command -v curl)

    if [ -z $curlExists ]; then
    wget -q --show-progress "https://dl.pstmn.io/download/latest/linux64" -o "postman.tar.gz"
    else
    curl -# "https://dl.pstmn.io/download/latest/linux64" -o "postman.tar.gz"
    fi

    if [ $? -gt 0 ]; then
    echo "Failed to download 'postman.tar.gz'"
  7. @SanderTheDragon SanderTheDragon revised this gist May 25, 2017. No changes.
  8. @SanderTheDragon SanderTheDragon created this gist May 25, 2017.
    115 changes: 115 additions & 0 deletions postman-deb.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,115 @@
    #!/bin/sh

    versionMaj="1"
    versionMin="0"
    versionRev="1"
    version="$versionMaj.$versionMin-$versionRev"

    if [ -f "postman.tar.gz" ]; then
    echo "Removing old 'postman.tar.gz'"
    rm -f "postman.tar.gz"
    fi

    echo "Downloading latest 'postman.tar.gz'"
    curl -# "https://dl.pstmn.io/download/latest/linux64" -o "postman.tar.gz"

    if [ $? -gt 0 ]; then
    echo "Failed to download 'postman.tar.gz'"
    exit
    fi

    if [ -d "Postman" ]; then
    echo "Removing old 'Postman/'"
    rm -rf "Postman/"
    fi

    echo "Extracting 'postman.tar.gz'"
    tar -xf "postman.tar.gz"

    if [ $? -gt 0 ]; then
    echo "Failed to extract 'postman.tar.gz'"
    exit
    fi

    if [ -f "Postman/version" ]; then
    versionMaj=$(cat "Postman/version" | awk -F '.' '{ print $1 }' | sed 's/[^0-9]*//g')
    versionMin=$(cat "Postman/version" | awk -F '.' '{ print $2 }')
    versionRev=$(cat "Postman/version" | awk -F '.' '{ print $3 }')
    version="$versionMaj.$versionMin-$versionRev"

    echo "Postman V$version"
    fi

    if [ -d "postman_$version" ]; then
    echo "Removing old 'postman_$version/'"
    rm -rf "postman_$version/"
    fi

    echo "Creating 'postman_$version' folder structure and files"
    mkdir -p "postman_$version"

    mkdir -p "postman_$version/usr/share/applications"
    touch "postman_$version/usr/share/applications/Postman.desktop"

    mkdir -p "postman_$version/usr/share/icons/hicolor/128x128/apps"

    mkdir -p "postman_$version/opt/postman"

    mkdir -p "postman_$version/DEBIAN"
    touch "postman_$version/DEBIAN/control" "postman_$version/DEBIAN/postinst" "postman_$version/DEBIAN/prerm"

    echo "Copying files"
    cp "Postman/resources/app/assets/icon.png" "postman_$version/usr/share/icons/hicolor/128x128/apps/postman.png"
    cp -R "Postman/"* "postman_$version/opt/postman/"

    echo "Writing files"
    echo "[Desktop Entry]\nType=Application\nName=Postman\nGenericName=Postman API Tester\nIcon=postman\nExec=postman\nPath=/opt/postman\nCategories=Development;" > "postman_$version/usr/share/applications/Postman.desktop"
    echo "Package: Postman\nVersion: $version\nSection: devel\nPriority: optional\nArchitecture: amd64\nDepends: \nMaintainer: You\nDescription: Postman\n API something" > "postman_$version/DEBIAN/control"
    echo "if [ -f \"/usr/bin/postman\" ]; then\n\tsudo rm -f \"/usr/bin/postman\"\nfi\n\nsudo ln -s \"/opt/postman/Postman\" \"/usr/bin/postman\"" > "postman_$version/DEBIAN/postinst"
    echo "if [ -f \"/usr/bin/postman\" ]; then\n\tsudo rm -f \"/usr/bin/postman\"\nfi" > "postman_$version/DEBIAN/prerm"

    echo "Setting modes"
    chmod 0775 "postman_$version/DEBIAN/postinst"
    chmod 0775 "postman_$version/DEBIAN/prerm"

    if [ -f "postman_$version.deb" ]; then
    echo "Removing old 'postman_$version.deb'"
    rm -f "postman_$version.deb"
    fi

    echo "Building 'postman_$version.deb'"
    dpkg-deb -b "postman_$version" > /dev/null

    if [ $? -gt 0 ]; then
    echo "Failed to build 'postman_$version.deb'"
    exit
    fi

    echo "Cleaning up"
    rm -f "postman.tar.gz"
    rm -rf "Postman/"
    rm -rf "postman_$version/"

    while true; do
    read -p "Do you want to install 'postman_$version.deb'[Y/n] " yn

    if [ -z $yn ]; then
    yn="y"
    fi

    case $yn in
    [Yy]* ) break;;
    [Nn]* ) exit;;
    esac
    done

    echo "Installing"
    sudo apt install "./postman_$version.deb"

    if [ $? -gt 0 ]; then
    echo "Failed to install 'postman_$version.deb'"
    exit
    fi

    echo "Removing 'postman_$version.deb'"
    rm -f "postman_$version.deb"