Forum myiPhone.com.pl : wszystkie tajemnice iPhone'a, iPada, iOS, Apple w Twoim zasięgu

Własne repozytorium dla Cydii (bez Mac OS, czy Linuxa).

Tutoriale, Pewne i skuteczne sposoby użytkowników

Postprzez rudi N, 5 kwi 2009, 20:44:28

Cześć!
W tym tutorialu opiszę jak stworzyć proste repozytorium za pomocą iPhone'a - niezależnie od systemu operacyjnego posiadanego komputera. (JUPI!)

UWAGA!!
Jako, że pisanie tutoriali jest okropnie nudnym zajęciem, a i tak mało kto wszystko przeczyta - przygotujcie się na masę głupot z mojej strony, mało obrazków, i dużo czytania, co musicie zaakceptować stawiając fistaszka w odpowiednim miejscu, o, tutaj:
[ ] Wyrażam zgodę na czytanie tych bredni.
[ ] Nie wyrażam zgody, jestem drętwy jak kłoda i opuszczam natychmiast to miejsce.


1. Co nam będzie potrzebne?
  • iPhone lub iPod Touch - po jailbreaku, z Cydią i dostępem do internetu.
  • Komputer z klientem SSH, i SFTP.*
  • Sieć WIFI w które pracuje iPhone oraz nasz komputer.*
  • Prosty serwer http - jeśli chcemy repo udostępnić innym w internecie.
  • Przykładową paczkę np. jakiś swój motyw.
  • Trochę cierpliwości oraz umiejętność polizania prawego łokcia.
* Gdybyśmy przypadkiem mieszkali w dżungli możemy się obejść i bez tego, jednak dla ułatwienia - komputer się przyda.

2. Przygotowania:

  • Potrzebne paczki dostępne na Cydii:
    Uruchamiamy Cydię, i instalujemy następujące paczuszki, ew. sprawdzamy, czy już je mamy:
    • Cydia Installer (tego pewnie nie macie!)
    • Find Utilities (Telesphoreo)
    • bzip2 (Telesphoreo)
    • Debian Packager (Telesphoreo)
    • APT i kupę innych, które się powinny zainstalować wraz z Cydią, albo o których zapomniałem..
    Uwaga! Niektóre paczki mogą nie być widoczne dopóki nie ustawimy w Cydii trybu "Developer".
    (Manage -> Settings (na górze po lewej) -> Developer)


  • Uruchamianie skryptów Perl
    (potrzebne do automatycznego tworzenia listy paczek w repozytorium - jeśli jesteśmy masochistami - krok ten pomijamy)
    I tutaj zaczyna się zabawa. Musimy dodać repozytorium CoreDev.nl - żeby było zabawniej, oczywiście musimy zrobić wszystko ręcznie. W tym celu odpalamy na komputerze lub tosterze klienta SSH, SFTP, FBI, ABS, ESP, lub VHS. Mówiąc po ludzku - pewnie macie Windowsa, więc najprościej będzie przez WinSCP.
    Logujemy się i wędrujemy do /etc/apt/sources.list.d/ gdzie tworzymy plik zwany coredev.nl.list, z taką oto zawartością:

    Kod: Zaznacz cały
    deb http://coredev.nl/cydia iphone main

    Teraz ściągamy plik coredev.pub (zawierający klucze), który umieszczamy w iPhonie, w powyższym folderze. Odpalamy terminal (można to zrobić na miliardy sposobów, ale skoro już jesteśmy w WinSCP wciskamy Ctrl+T (Commands -> Open Terminal). Wpisujemy:

    Kod: Zaznacz cały
    apt-key add coredev.pub

    Po udanej akcji powinniśmy otrzymać wiadomość "OK". Możemy usunąć ten plik, nie będzie on już więcej potrzebny.
    TADAM! Repo dodane. Odpalamy więc Cydię, i szukamy paczki zwanej "perl". Tak! Znajduje się ona na końcu litery P, obok 798 innych paczek. Miłego szukania.
    Instalujemy ją (automatycznie powinny dodać się inne paczki).

3. Tworzenie paczek:

  • Przygotowanko! Wszystko opiszę na przykładzie motywu. (Uwaga, pierwszy obrazek!)

    Obrazek

    Tworzymy cuś takiego - układamy pliki w folderach dokładnie takich - jak mają być poukładane po instalacji na iPhonie, przy czym dodatkowo tworzymy folder DEBIAN, w nim plik pusty control. (Ważne, żeby plik control, nie miał żadnego rozszerzenia!)
    Teraz edytujemy zawartość pliku zgodnie z przykładem:
      Kod: Zaznacz cały
      Package: com.ksywka.nazwa
      Name: Nazwa paczki
      Version: 1.0
      Architecture: iphoneos-arm
      Description: Krótki opis paczuszki.
      Homepage: http://cydia.myiphone.com.pl/
      Depiction: http://cydia.myiphone.com.pl/
      Maintainer: cydia.myiPhone.com.pl <cydia@myiphone.com.pl>
      Author: Imię Nazwisko (ksywka) <ty@cośtam.com>
      Sponsor: myiPhone <http://myiPhone.com.pl/>
      Section: MyiPhone.com.pl
      Installed-Size: rozmiar-paczki-w-kB


      EDIT (iAdmin): pozwoliłem sobie dostosować szablon pliku control do obecnego schematu


      A teraz wytłumaczonko:
      • Package: to identyfikator paczki np. com.rudi.motywzkosmosu
      • Architecture: to pozostawiamy tak jak jest, by APT wiedziało, że to paczka specjalnie dla nas.
      • Homepage: to strona która wyświetla się po kliknięciu w "More Informations" w Cydii.
      • Depiction: to strona, która wyświetla się nam bezpośrednio już w Cydii - np. dodatkowe przyciski typu Podgląd, czy np. reklamy - czego nie polecam, bo i tak nic nie zarobicie, HA!
      • Section: to sekcja w której wyświetli się nasza paczka, może to być np. Themes (Complete) jak w przykładzie, albo własna sekcja - jedynie dla paczek z naszego repo.
      • Installed-Size: tutaj podajemy wielkość paczki (czyli wszystkich folderów oprócz DEBIAN) w kilobajtach (bajty/1024).
      Oczywiście pola typu Sponsor, czy Depiction możemy pominąć.
      WAŻNE. Ostatnia linia pliku control powinna być pusta.

    • Pakowanko!
      Ładnie przygotowany folder Motyw (patrz piękny obrazek powyżej) wrzucamy na iPhona przykładowo do /var/repo/. Odpalamy ponownie terminal (w tym folderze), i usuwamy niepotrzebne syfy wpisując linijka po linijce komendy - każdą zatwierdzając enterem.

      Kod: Zaznacz cały
      find . -name .DS_Store -ls -exec rm {} \;
      find . -name Thumbs.db -ls -exec rm {} \;
      find . -name pspbrwse.jbf -ls -exec rm {} \;
      find . -name *.pspimage -ls -exec rm {} \;

      Warto zrobić to dla pewności, by się nic nie gryzło. I teraz jest pięknie, można paczkować paczki. W terminalu znów wyklikowujemy:

      Kod: Zaznacz cały
      dpkg-deb -b Motyw

      Oczywiście, jeśli folder w którym znajduje się paczka zwany jest Motyw. Czekamy chwilkę, i widzimy nowy plik zwany Motyw.deb. Ojej! Co z tym zrobić? - Zapytujesz pewnie! Otóż już mówię. Tworzymy przykładowo folder deb na gotowe paczki, który przyda się nam w następnym punkcie. (Ścieżka wygląda tak: /var/repo/deb/)
      Folder Motyw możemy już z iPhona usunąć.

      No i ten.. to tyle. Punkt 3 ponawiamy dla każdej nowej paczki.

    4. Tworzenie repo z prawdziwego zdarzenia!

    • Lista "paczków!"
      Noo, to jedziemy - jesteśmy w /var/repo/ - i widzimy jedynie folder deb w którym (co zaskakujące) znajdują się wszystkie pliki .deb.
      Jako, że nie lubimy robić nic samemu - zasysamy więc super-specjalny skrypt dpkg-scansources, który to wrzucamy do /var/repo/. Teraz trzeba uczynić go wykonywalnym (np. chmod 755). Jeśli jesteśmy w WinSCP klikamy nań prawym klawiszem i wybieramy Properties - zaznaczamy wszystkie X'y, albo wpisujemy 777 (a co!).
      Teraz odpalamy terminal, i wpisujemy:

      Kod: Zaznacz cały
      ./dpkg-scanpackages deb / > Packages

      Może sypnąć błędami, ale jeśli utworzy się plik Packages i ma więcej niż 0 bajtów - jest 'fporzontku'.
      Teraz kolej na pakowanko:

      Kod: Zaznacz cały
      bzip2 -fks Packages

      (f - coby nadpisać plik, k - coby zatrzymać wejściowe pliki, i s - by mniej zajmowało pamięci.)

    • Informacje dotyczące repo.
      W /var/repo/ (obok folderu deb, Packages, i Packages.bz2) tworzymy plik o nazwie Release:

      Kod: Zaznacz cały
      Origin: Dłuższa nazwa repo
      Label: Krótka nazwa
      Suite: stable
      Version: 0.9
      Codename: tangelo
      Architectures: iphoneos-arm
      Components: main
      Description: Opis zawartości repozytorium.

      Wytłumaczonko tu chyba niepotrzebne. Suite, Codename, Architectures, i Components najlepiej pozostawić bez zmian.

    • Repo - srepo. (już mi się nie chce)
      Poniższe pliki wrzucamy ma serwer http. Przykładowo do http://www.naszserwer.pl/repo/
      Obrazek

      Odpalamy Cydię, dodajemy repo (http://www.naszserwer.pl/repo/) , i cieszymy się brzydkim repo bez ikonki.

    5. A gdzie ikonka?! : O

    • Ikonka powinna być w formacie PNG najlepiej 60x60px.
      Ikonki "moszna" podzielić na dwa rodzaje - ikony repozytorium i ikony danej sekcji. (Section)
      Żeby nasz cudowny obrazek był widoczny w Cydii, musimy niestety zrobić dodatkową paczkę .deb, która wgra odpowiedni plik w odpowiednie miejsce:
      Jedziemy do /Applications/Cydia.app
      • Ikonki sekcji znajdują się w folderze Sections, z nazwą Nazwa Sekcji.png - Cydia automatycznie ją pobierze.
      • Ikony repo natomiast znajdują się w (uwaga..) Sources! I tutaj ikonka powinna mieć nazwę zgodną z adresem repozytorium:
        np. jeśli repo znajduje się w http://www.naszserwer.pl/repo/ odpowiednia nazwa to ciąg znaków pomiędzy "http://" a pierwszym slashem "/" -> w tym wypadku będzie to www.naszserwer.pl.png

    To chyba tyle. Dziękuję za uwagę, bolą mnie palce.

    Uwaga! Jest wielce prawdopodobne, że o czymś zapomniałem. Jeśli tak się stało, lub coś nie działa - napisz.

    Tutorial jest moim autorstwem, pisałem go z pomocą czterech kanapek i kubka herbaty.
    Proszę nie kopiować bez zezwolenia, bo pourywam jajca. :ok:
    Bóg zapłać.
    Ostatnio edytowano Pn, 6 kwi 2009, 14:56:46 przez rudi, łącznie edytowano 7 razy
    Avatar użytkownika
    rudi
     
    Posty: 212
    Dołączył(a): Cz, 26 lut 2009, 17:12:30
    Mój: brak
    iOS: 3.1.3
    Jailbreak: Tak


    Postprzez rafek_11 N, 5 kwi 2009, 20:59:35

    Trochę to skomplikowane i pracochłonne, dobra teraz przydało się żeby ktoś zrobił repozytorium myiphone.com.pl
    Obrazek
    Avatar użytkownika
    rafek_11
     
    Posty: 337
    Dołączył(a): Wt, 11 lis 2008, 20:29:07
    Mój: iPhone
    iOS: 3.1.2
    Jailbreak: Tak

    Postprzez Lita Pn, 6 kwi 2009, 07:29:16

    WOW.... jak przeczytam to jeszcze kilka razy to może4 się nawet za to zabiorę ;) Na razie dochodzę do siebie po zasranym weekendzie :evil: Może w święta? Zobaczę. Tylko nie wiem co mi z tego wyjdzie... trochę to pokręcone ;)
    naprawdę naprawdę razem, na pewno po prostu oddzielnie ... w ogóle, wziąć, ączać i wyłączać.
    _________
     Telefon: iPhone 6, 64GB,
     Komputer: MacBook Pro 13" 2010,
     Tablet: iPad Pro 9,7 Cellular
    Apple Watch Series 2
    Apple TV2 JB
    Apple TV3
    Avatar użytkownika
    Lita
     
    Posty: 5853
    Dołączył(a): So, 6 wrz 2008, 17:57:30
    Mój: iPhone 6
    iOS: 10.2.1ß
    Jailbreak: Nie
    Game Center: Lita13

    Postprzez FiTzu Pn, 6 kwi 2009, 10:54:41

    Heh, w porównaniu do tutków na necie to ten jest chyba pierwszym zrozumiałym. Gratulacje Rudi!! Miejmy tylko nadzieje, że ułatwi to sprawę z "oby kiedyś" repozytorium myiphone.com.pl :D

    iAdmin
    i co ty na to?? Da radę?
    Nie pomagam na PW. Do zadawania pytań służy forum.
    Chcesz wygrać aplikację? Sprawdź aktywne konkursy -> Konkursy myiPhone
    .Bombing.For.Peace.Is.Like.Fucking.For.Virginity.
    Avatar użytkownika
    FiTzu
     
    Posty: 8256
    Dołączył(a): Pn, 15 wrz 2008, 12:58:05
    Lokalizacja: Sosnowiec
    Mój: iPhone 6
    iOS: 9.3
    Jailbreak: Nie
    Game Center: iFiTzu

    Postprzez rudi Pn, 6 kwi 2009, 12:05:23

    Się polecam.
    Kombinowałem trochę żeby to wszystko działało na iPhonie. I w sumie chyba działa.
    Zebrałem więc wszystko w kupę, i oto jest tu.
    Może się komuś przyda.

    A i ten.. przetestowałby ktoś?
    Avatar użytkownika
    rudi
     
    Posty: 212
    Dołączył(a): Cz, 26 lut 2009, 17:12:30
    Mój: brak
    iOS: 3.1.3
    Jailbreak: Tak

    Postprzez iAdmin Pn, 6 kwi 2009, 14:29:39

    Bardzo dobry tutorial, aż zaczynam rozważać stworzenie repo ;]

    Co do samego tutoriala to cała pierwsza część jest ok z małą nieścisłością

    W pliku control po ostatniej linii trzeba dać enter (musi być wolna jedna linia na końcu).
    Pomagam TYLKO na forum.
    PW Tylko w sprawach administracyjnych/technicznych (na inne nie odpowiadam).

    Regulamin forum, iPhone - strona główna myiPhone.com.pl

    Konkursy myiphone - sprawdź, co możesz dziś wygrać.
    Avatar użytkownika
    iAdmin
    Administrator
     
    Posty: 15111
    Dołączył(a): Pt, 12 paź 2007, 19:56:24
    Lokalizacja: /System root#
    Mój: iPhone 5S
    iOS: 9.0.2
    Jailbreak: Tak

    Postprzez FiTzu Pn, 6 kwi 2009, 14:37:18

    iAdmin napisał(a):aż zaczynam rozważać stworzenie repo ;]


    Jupi!!

    Fajnie byłoby też dodać takie coś jak mają w iSpazio. Czyli stronkę (powiedzmy że dostępną dla zarejestrowanych użytkowników) w formie formularza, w której były by wszystkie potrzebne okienka, w które wpisywalibyśmy lub wklejalibyśmy linki, opisy, screeny itp.

    Ale trochę się zagalopowałem :P To tylko taka mała sugestia przy okazji tworzenia repa :D

    iAdmin liczę na to, że twoje rozważania będą cały czas za, bo na forum chyba nie znajdziesz żadnego przeciw :D
    Nie pomagam na PW. Do zadawania pytań służy forum.
    Chcesz wygrać aplikację? Sprawdź aktywne konkursy -> Konkursy myiPhone
    .Bombing.For.Peace.Is.Like.Fucking.For.Virginity.
    Avatar użytkownika
    FiTzu
     
    Posty: 8256
    Dołączył(a): Pn, 15 wrz 2008, 12:58:05
    Lokalizacja: Sosnowiec
    Mój: iPhone 6
    iOS: 9.3
    Jailbreak: Nie
    Game Center: iFiTzu

    Postprzez rudi Pn, 6 kwi 2009, 14:55:10

    iAdmin napisał(a):W pliku control po ostatniej linii trzeba dać enter (musi być wolna jedna linia na końcu).


    Fakt. Zapomniałem. Choć i tak wyświetli komunikat o braku nowej linii.
    Już poprawiam.

    FiTzu:
    Formularze na pewno by się przydały - ułatwiłoby to z pewnością pracę osobie zajmującej się repo. Pozostałoby mu tylko przygotowanie paczki, i uaktualnienie listy.

    btw. gdyby ktoś jeszcze zauważył jakieś pomyłki, proszę o informacje.
    Avatar użytkownika
    rudi
     
    Posty: 212
    Dołączył(a): Cz, 26 lut 2009, 17:12:30
    Mój: brak
    iOS: 3.1.3
    Jailbreak: Tak

    Postprzez iAdmin Pn, 6 kwi 2009, 14:58:24

    Do iSpazio nawet nie mam się co porównywać ;]

    Pierwszy problem z tworzeniem repo na serwerze: na obecnym serwerze (home.pl), na którym strona jest umieszczona nie da rady stworzyć takiego repo z uwagi na konfigurację serwera (repo zwraca błąd 403 - dostęp zabroniony do katalogu /deb)
    Ale.. testowałem na innym serwerze i .. działa

    Testowy motyw w zasadzie skopiowane tylko pliki do dialera z innego motywu, repo działa, próba instalacji testowej paczki - ok, motyw widoczny w winterboard, włączenie motywu w winterboard - ok, czyli wszystko działa ;]

    Jest jedno ale..


    EDIT: nie ma już ale, z repo problemu nie będzie
    Pomagam TYLKO na forum.
    PW Tylko w sprawach administracyjnych/technicznych (na inne nie odpowiadam).

    Regulamin forum, iPhone - strona główna myiPhone.com.pl

    Konkursy myiphone - sprawdź, co możesz dziś wygrać.
    Avatar użytkownika
    iAdmin
    Administrator
     
    Posty: 15111
    Dołączył(a): Pt, 12 paź 2007, 19:56:24
    Lokalizacja: /System root#
    Mój: iPhone 5S
    iOS: 9.0.2
    Jailbreak: Tak

    Postprzez luk4sz Pn, 6 kwi 2009, 15:01:43

    Moim zdaniem lepiej zrobić tak, żeby repo byłoby pod jedną domeną razem z forum i stroną. Najlepiej zrobić to jakoś w nocy skoro strona byłaby niedostępna, zrobić komunkat za ile zacznie działać i po sprawie.
    luk4sz
     

    Dodaj do:  Wypowiedź dla Wykop  Wypowiedź dla Facebook  Wypowiedź dla Delicious  Wypowiedź dla Google  Wypowiedź dla Gwar  Wypowiedź dla Digg  Wypowiedź dla Wyczaj.to  Wypowiedź dla Technorati  Wypowiedź dla YahooMyWeb  Wypowiedź dla Furl  Wypowiedź dla Magnolia  Wypowiedź dla Reddit  Wypowiedź dla Simpy  Wypowiedź dla Slashdot
    Następna strona

    Powrót do Sprawdzone porady, Tutoriale (Software)

    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 2 gości

    cron