Kaynak dosyalardan Popcorn Time yükleyin


28

Patlamış Mısır Saati beta nasıl yükleyebilirim ?

Web sitelerinde yalnızca 64 bitlik bir yükleme dosyası sunduğunu, ancak kaynakların açık olduğunu görüyorum.

Her zamanki gibi kullanamam ./configure && make. Öyleyse ne yapabilirim ?


64 bit xubuntu 14.04 adresindeyim, beta 3.0 paketini sitelerden indirdim, sıkıştırılmış halde açtım ve koştum ./Popcorn-Time20 dakika gibi oldu, diyor ki initializing popcorn please wait... Sonunda işe yarayacak mı yoksa yerine çalışmak için yönergelerinize uymalı mıyım? bekliyor
Lynob

işe yaramazsa, başlatılması benim için yaklaşık 0,3 saniye sürer. Sorun başka bir yerde olmalı, bunun geliştirme koduna (alfa) dayanmak yerine bunun resmi sürümden nasıl değişeceğini bilmiyorum. Rapor sorunları: github.com/popcorn-official/popcorn-app/issues
MrVaykadji

İkinci cevabınızı takip etmeye çalıştım, python dosyasını düzeltmeye çalıştım, hataları düzeltmeyi umdum, işe yaramadı, ilk cevabınızı izledim ve teşekkür etti. Lütfen bağımlılıkların yüklenip yüklenmediğini kontrol etmek için betiğinizi düzenleyebilmenizin iyi olacağını unutmayın, betiğinizi çalıştırmadan önce onları yükledim, yine de betiğiniz onları yüklemeye çalışırken 5 dakika sürdü, kolayca bu bölümü atlayabilir. Ve lütfen install allbirisini
Mac’in

Neden birinin bir macbook havası ve ubuntu-windows'lu bir bilgisayarı olmasın? Seçebilmenin 'seçeneğinin' noktası budur. Eğer "tümü" nin oluşturulmasını istemiyorsanız, "tümü" yazmamalısınız. Bağımlılıklar için, eğer düğümlerden bahsediyorsanız ve zaten kullanıyorsanız, sadece bir 'apt-get update' üzerinden geçersiniz, önemli değil. Eğer npm bağımlılıklarından bahsediyorsanız, o zaman bilgisayar üzerinde başka bir yere değil, kullanacağımız zaman klasörün içine yerleştirilmeleri gerekir: bu yüzden gereklidir.
MrVaykadji

ama zaten web sitelerinde windows ve mac için paketleri var. Çalışmıyorlar mı? Linux paketi gibi inşa edilmeleri gerekiyor mu?
Lynob

Yanıtlar:


21

Bu komut dosyası , Github kaynaklarından Ubuntu Linux'ta Popcorn Time dev-0.3 oluşturmanıza yardımcı olacaktır .

Ubuntu 12.04 ve 14.04 64bits üzerinde kusursuz çalışır, ancak her korunan sürümde ve her mimaride çalışması gerekir.

İnşa etmek ve kaynaklardan Popcorn-Time yüklemek için gerekir nodejsve npm. npmkullanır bowerve grunt-clidosyaları oluşturmak için: bu yüzden her zamanki gibi kullanamazsınız./configure

Not: şu anda kurulum dosyalarında 1 hata var: nodejsikili isminin yanlış olması, 'nodejs' ile 'node' arasındaki basit bir bağlantı ile düzeltebilirsiniz.

Not: 12.04'te libudev.so.1 yok, bu yüzden libudev.so.0'dan bağlamamız gerekecek

NASIL

  1. Aşağıdaki satırları kopyalayıp bir metin dosyasına yapıştırın , örnek için komut dosyasını adlandırın .

  2. Ardından terminalinizi kullanın ve betiği başlatın:

    bash script
    
  3. Ekrandaki talimatları izleyin:

    • Yasal uyarıyı kabul et
    • Oluşturmak istediğiniz plaka şeklini seçin (mac, win, linux32-64)
    • İsterseniz Popcorn-Time'ı kısayollarla ve komut satırı seçenekleriyle yükleyin
    • Artık istemediğiniz takdirde oluşturma dosyalarını kaldırın
    • Gelecekte istemiyorsanız, bu komut dosyası tarafından PT oluşturmak için kullanılan paketleri kaldırın.
    • işte.

Bu işlemin tamamlanması yaklaşık 10-30 dakika sürer.


#!/bin/bash
#Written by MrVaykadji - http://github.com/MrVaykadji
#Thanks to Andrew for func_apt, nodejs PPA and libudev fix - http://webupd8.org
#licensed under GPLv3
#for Ubuntu 12.04 and newer

installdir="/opt"
version="master"
OfficialURL="http://popcorntime.io"
githubURL="https://github.com/popcorn-official/popcorn-app"
issueURL="https://github.com/popcorn-official/popcorn-app/issues"
icon="https://github.com/popcorn-official/popcorn-app/raw/master/src/app/images/icon.png"
log="$HOME/popcorn-build.log"
buildscriptURL="https://raw.githubusercontent.com/MrVaykadji/misc/master/Popcorn-Time/0.3.0/"
buildscript="build-popcorn"
[ $(arch) == "x86_64" ] && arch=64 || arch=32
buildtime="`date +%Y.%m.%d-%Hh%M`"

#FUNCTIONS
func_apt() {
for lock in synaptic update-manager software-center apt-get "dpkg " aptitude
do
 if ps -U root -u root u | grep "$lock" | grep -v grep > /dev/null; then 
  echo "
Unexpected Error:
=================
Please close $lock then try again.";
  exit 1
 fi
done 
}

func_root() {
[ "$EUID" == "0" ] && 
echo "Error. You need to run this without 'root' or 'sudo' privileges." && 
exit 2
}

func_error() {
[ -n $error ] && return 0
echo "
Unexpected Error:
================="
cat $log
echo "
Please try again."
exit 1 
}

func_clean() {
case $1 in 
    -save)
        sudo mkdir -p /tmp/popcorn-config
        sudo cp -r $HOME/.config/Popcorn-Time/data /tmp/popcorn-config/ &> /dev/null
        sudo rm -rf $HOME/.config/Popcorn-Time/*
        sudo cp -r /tmp/popcorn-config/data $HOME/.config/Popcorn-Time/ &> /dev/null && 
        sudo chown -Rf $USER:$USER $HOME/.config/Popcorn-Time/data && 
        sudo chmod -R 774 $HOME/.config/Popcorn-Time/data
        ;;
    -all)
        sudo rm -rf $installdir/Popcorn-Time /usr/share/pixmaps/popcorntime.png /usr/bin/popcorn-time $HOME/tmp $HOME/popcorn-app-$version $HOME/npm-debug.log $HOME/.npm $HOME/.cache/bower $HOME/.config/configstore/insight-bower.yml $HOME/.config/configstore/update-notifier-bower.yml $HOME/.local/share/bower $log $HOME/$version.zip $HOME/.npm/
        ;;
    -package)
        sudo apt-get purge nodejs -y &> /dev/null && 
        sudo apt-get autoremove -y &> /dev/null && 
        sudo rm -rf /usr/bin/node && 
        sudo add-apt-repository -yr ppa:chris-lea/node.js &> /dev/null && 
        echo -e "... Done.\n" 
        ;;
    -building)
 sudo rm -rf $HOME/tmp $HOME/popcorn-app-$version $HOME/npm-debug.log $HOME/.npm $HOME/.cache/bower $HOME/.config/configstore/insight-bower.yml $HOME/.config/configstore/update-notifier-bower.yml $HOME/.local/share/bower $log $HOME/.npm && 
        echo -e "... Done.\n"
        ;;
esac
}

func_ptexists() {
if [ "$1" == "-update" ] ; then
    func_clean -save
else
    [ -e "$installdir/Popcorn-Time" ] && 
    read -p "
WARNING: Popcorn-Time is already installed in '$installdir' and will be erased. Do you want to keep the configuration files (bookmarks, watched list, settings, ...) [y/n] ? "
    if [ "$REPLY" == "y" ] ; then
        func_clean -save
    else    
        sudo rm -rf $HOME/.config/Popcorn-Time/
    fi
    sudo rm -rf /usr/share/applications/popcorn-time.desktop
fi
func_clean -all
}

func_dependencies() {
#package dep
[[ -n `egrep -v '^#|^ *$' /etc/apt/sources.list /etc/apt/sources.list.d/* | grep chris-lea/node.js` ]] && nodeppa=1 || nodeppa=0
if [ -n "`dpkg-query -W -f='${Status}\n' nodejs wget unzip | grep not`" ] || [ $nodeppa == "0" ] ; then
    echo "- Checking for dependencies 'nodejs', 'wget' and 'unzip'..."
    sudo apt-add-repository -y ppa:chris-lea/node.js &> $log && 
    sudo apt-get update &> $log

    sudo apt-get install nodejs wget unzip -y &> $log && echo -e "  ...Ok !" || error=1
    func_error
fi

#npm dep
if [ -e "/usr/lib/node_modules/bower" ] && [ -e "/usr/lib/node_modules/grunt-cli" ] ; then
    echo -e "\n- Updating NPM 'grunt-cli' and 'bower'..."
else
    echo -e "\n- Installing NPM 'grunt-cli' and 'bower'..."
fi
sudo npm install -g grunt-cli bower &> $log && echo -e "  ...Ok !\n" || error=1
func_error

#repair broken nodejs symlink
[ ! -e /usr/bin/node ] && sudo ln -s /usr/bin/nodejs /usr/bin/node 

#symlink libudev.so on 12.04
[ `lsb_release -cs` == "precise" ] && [ ! -e /lib/$(arch)-linux-gnu/libudev.so.1 ] && sudo ln -s /lib/$(arch)-linux-gnu/libudev.so.0 /lib/$(arch)-linux-gnu/libudev.so.1 
}

func_build() {
#get sources
echo "- Downloading sources (branch:$version) from GitHub..."
cd
wget $githubURL/archive/$version.zip -O $version.zip &> $log && unzip -o $version.zip &> $log && rm $version.zip && echo -e "  ...Ok !\n" || error=1
func_error

#npm
cd popcorn-app-$version
echo "- Running 'npm install'..."
sudo chown -Rf $USER:$USER $HOME/popcorn-app-$version/ $HOME/tmp $HOME/.npm
npm install --yes &> $log && echo -e "  ...Ok !\n" || error=1
func_error

#build
if [ "$1" == "-update" ] ; then
 buildcommand="linux$arch"
else
 buildvar=0
 echo -e "You can build for this machine only (linux$arch) or for all platforms, including : Mac, Windows, Linux 32-bits, Linux 64-bits.\n\nFor what platforms do you wish to build (for multiple builds, separate each platform with a comma)"
 read -p "[mac/win/linux32/linux64/all] : " input
 IFS=',' read -a options <<< "$input"
 shopt -s extglob
 for option in "${options[@]}"; do
    case "$option" in
        win|mac|linux32|linux64|all)
            buildcommand="${buildcommand:+$buildcommand,}$option"
            buildvar=1;;
        *)
            printf 'Invalid option "%s" ignored.\n' "$option";;
    esac
 done
 if (( !buildvar )); then
    echo "Incorrect input. Default build 'linux$arch' selected."
    buildcommand="linux$arch"
 fi
 [[ -n "`echo $buildcommand | grep all`" ]] && buildcommand="all"
fi

echo -e "\n- Building with 'grunt'..."
grunt build --platforms=$buildcommand &> $log && echo -e "   ...Ok !\n" || error=1
func_error

echo -e "Popcorn-Time has been built in :\n  «$HOME/popcorn-app-$version/build/releases/Popcorn-Time/»\n" 
}

func_install() {
[ "`echo $buildcommand | grep -v linux$arch`" ] && exit 0

if [ "$1" != "-update" ] ; then
read -p "Do you wish to install Popcorn-Time on this computer [y/n] ? "
[ "$REPLY" != "y" ] && exit 0
fi  

sudo mkdir -p $installdir
sudo cp -r $HOME/popcorn-app-$version/build/releases/Popcorn-Time/linux$arch/Popcorn-Time $installdir

echo -e "\n- Creating commandline launcher..."
echo "#!/bin/bash
echo \"Popcorn Time
============\"

[ \"\$EUID\" == \"0\" ] && echo \"Error: You need to run this without 'root' or 'sudo' privileges.\" && exit 2

helpsection() {
echo \"Version $version 
Built on $buildtime from $githubURL
Official website : $OfficialURL

Options:
  -h, --help        Display this help.
  -q,--quiet        Launch Popcorn-Time without output.
  --flush       Flush databases.
  --fix-node        Fix the node-webkit 'blank' error.
  --uninstall       Uninstall Popcorn-Time.
  --issue       Report an issue.
  --build       Build latest version from sources.\"
}

flush_all() {
echo \"- Flushing databases...\"
sudo rm -rf $HOME/.config/Popcorn-Time
}

uninstall() {
echo \"- Uninstalling Popcorn-Time and removing configuration files...\"
sudo bash $installdir/Popcorn-Time/uninstall.sh
}

popcorntimequiet() {
echo \"Starting...\"
nohup $installdir/Popcorn-Time/Popcorn-Time &> /dev/null &
exit 0
}

popcorntime() {
$installdir/Popcorn-Time/Popcorn-Time
}

reportissue() {
echo \"Here is what a great bug report looks like:


###############################
Describe the problem here

Version: $version for Linux $arch bits
         Built on $buildtime
Downloaded from: $githubURL
OS: `lsb_release -si` `lsb_release -sr` `arch`
Connection: X mbps

How to reproduce:
 - Step 1
 - Step 2
 - Step 3
Actual result:
 - X goes wrong
Expected result:
 - X should go like that
###############################\"
xdg-open $issueURL &> /dev/null
}

fix_node() {
echo \"Fixing node-webkit...\"
rm -rf $HOME/.config/node-webkit
}

build_pt() {
cd
echo \"Building script fetched from GitHub...\"
wget -q $buildscriptURL$buildscript
bash $buildscript -update
}

case \$1 in
    -h|--help)
        helpsection
        ;;
    --uninstall)
        uninstall
        ;;
    --flush)
        flush_all
        ;;
    --fix-node)
        fix_node
        ;;
    --issue)
        reportissue
        ;;
    -q|--quiet)
        popcorntimequiet
        ;;
    --build)
        build_pt
        ;;
    *)
        popcorntime
        ;;
esac" | sudo tee /usr/bin/popcorn-time &> /dev/null
sudo chmod +x /usr/bin/popcorn-time
echo -e "    «/usr/bin/popcorn-time»\n"

echo "- Creating launcher... "
sudo wget $icon -qO /tmp/popcorntime.png && sudo cp /tmp/popcorntime.png /usr/share/pixmaps/
echo "[Desktop Entry]
Comment=Watch movies in streaming with P2P.
Comment[fr]=Regarder des films en streaming.
Name=Popcorn Time
Exec=/usr/bin/popcorn-time
StartupNotify=false
Type=Application
Icon=popcorntime
Actions=ForceClose;ReportIssue;FlushDB;FixNode;BuildUpdate;
Keywords=P2P;streaming;movies;tv;series;shows;
Keywords[fr]=P2P;streaming;films;séries;télévision;tv;

[Desktop Action ForceClose]
Name=Force close
Name[fr]=Forcer la fermeture
Exec=killall Popcorn-Time
OnlyShowIn=Unity;

[Desktop Action ReportIssue]
Name=Report Issue
Name[fr]=Rapporter un problème
Exec=sh -c \"popcorn-time --issue\"
OnlyShowIn=Unity;

[Desktop Action FlushDB]
Name=Flush databases
Name[fr]=Vider les bases de données
Exec=sh -c \"killall Popcorn-Time ; rm -rf $HOME/.config/Popcorn-Time ; /usr/bin/popcorn-time\"
OnlyShowIn=Unity;

[Desktop Action FixNode]
Name=Fix Node-Webkit
Name[fr]=Réparer Node-Webkit
Exec=sh -c \"rm -rf $HOME/.config/node-webkit ; killall Popcorn-Time ; /usr/bin/popcorn-time\"
OnlyShowIn=Unity;

[Desktop Action BuildUpdate]
Name=Build latest version
Name[fr]=Construire la dernière version
Exec=sh -c 'killall Popcorn-Time ; xterm -fa monaco -fs 13 -bg black -fg white -title \"Build latest Popcorn Time\" -e \"popcorn-time --build\" ; /usr/bin/popcorn-time'
OnlyShowIn=Unity;" | sudo tee /usr/share/applications/popcorn-time.desktop &> /dev/null
sudo chmod +x /usr/share/applications/popcorn-time.desktop
echo -e "    «/usr/share/applications/popcorn-time.desktop»\n"

echo "- Creating uninstall script..."
echo "#!/bin/bash
#uninstallation script for Popcorn-Time

#clean directory
sudo rm -rf $installdir/Popcorn-Time

#clean config
sudo rm -rf $HOME/.config/Popcorn-Time

#clean icon
sudo rm -rf /usr/share/pixmaps/popcorntime.png

#clean launchers
sudo rm -rf /usr/bin/popcorn-time
sudo rm -rf /usr/share/applications/popcorn-time.desktop
" | sudo tee $installdir/Popcorn-Time/uninstall.sh &> /dev/null
sudo chmod +x $installdir/Popcorn-Time/uninstall.sh
echo -e "    «$installdir/Popcorn-Time/uninstall.sh»\n" 
}

func_end() {
if [ "$buildcommand" == "linux$arch" ] ; then
 if [ "$1" == "-update" ] ; then
    func_clean -building
    sudo rm -rf $0
 else
  read -p "Do you wish to remove all the building files [y/n] ? "
  [ "$REPLY" == "y" ] && func_clean -building
 fi
fi

if [ "$nodeppa" == "0" ] ; then
    read -p "Do you wish to uninstall the packages installed for this build, they will be needed in case of new build [y/n] ? "
    [ "$REPLY" == "y" ] && func_clean -package
fi 
}

#SCRIPT#
func_root
func_apt

echo "
Popcorn-Time $version for Ubuntu-Linux
=====================================
Popcorn Time streams movies from Torrents.
Downloading copyrighted material may be illegal in your country.
!!! Use at your own risk !!!
"

sudo test 

case $1 in
    -update)
        option="-update"
        ;;
    *)
        [ -n "$1" ] && echo -e "\nUnauthorized option '$1' will be ignored."
        ;;
esac

func_ptexists $option
func_dependencies
func_build $option
func_install $option
func_end $option

echo "=================================================
Popcorn-Time is now installed !

Type «popcorn-time --help» for more information."
exit 0

kaldırma

Basit bir popcorn-time --uninstallyeterli olmalı. Değilse, bu dosyaları temizleyin:

  • / Opt / Patlamış mısır Zamanlı
  • ~ / .Config / Patlamış Zamanlı
  • /usr/share/pixmaps/popcorntime.png
  • / Usr / bin / patlamış mısır zamanı
  • /usr/share/applications/popcorn-time.desktop

Bu harika, teşekkürler! Sadece başkalarının bilgisi için, grunt-cli kurulumunun başarısız olmasını önlemek için daha sonraki bir nodejs sürümüne yükseltme yapmak zorunda kaldım. Ubuntu kaynakları yalnızca 0.6 sürümüne kadar desteklemektedir. Yükseltme talimatları burada mevcuttur: stackoverflow.com/questions/7214474/…
Templar 13.03

Bu hatalarla da bağlantı kurabilseniz harika olurdu ... bu yüzden bir geçici çözüm olması veya düzeltilmesi durumunda, gönderiyi kolayca düzenleyip koruyabiliriz. Onları birbirine bağlamaya çalıştım, ama tam olarak bahsettiğiniz konu hakkında emin değilim .. :)
Aditya

14 Mart itibariyle, Patlamış Mısır Saati artık düştü.
MrVaykadji

Bu güncel mi?
Seth

14 Mart'tan bu yana proje terk edilmiş görünüyor: / bu,
github'daki

7

El ile:

1) Dosyaları al

Repo'yu klonla git(gerekirse yükle):

git clone https://git.popcorntime.io/popcorntime/desktop.git

2) node.js dosyasını kurun

sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

3) node.js gerekli bağımlılıkları yükleyin

sudo npm install -g grunt-cli bower

4) dizine girin

cd desktop

5) Patlamış Mısır-Zaman bağımlılıklarını kurun

npm install

6) hırıltı ile inşa

grunt build

7) inşa yürütülebilir alın

Yürütülebilir dosyayı build/releasesklasörün içinde bulabilirsiniz.

7bis) Canlı gelişimi başlat

grunt start
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.