Jul 7 2010

Pakowanie aplikacji za pomocą ChocTop

Aplikacje działające w systemie MacOS X charakteryzują się specyficznym modelem dystrybucji. Otóż aplikacje takie są spakowane jako obraz dysku typu DMG. Taki obraz montuje się jako zewnętrzny nośnik i dopiero widzimy co jest w środku. Dodatkowo folder widoczny po zamontowaniu możemy w dowolny sposób upiększyć. Można dowolnie ustawić tło okienka i jego wielkość, można zmienić domyśle położenie ikonki i programu i jej wielkość. Wszystko po to, aby system nie był taki “suchy i jednolity”. Dodatkowo tak przygotowany obraz dysku umieszczamy gdzieś w sieci aby był dostępny do pobrania. Wszystko to musimy jednak robić ręcznie …chyba, że korzystamy z narzędzia ChocTop.

ChocTop jest specjalnie przygotowanym instalatorem działającym z lini poleceń, który przygotowany jest jako gem ruby’ego.

Pierwszym krokiem jest zainstalowanie ChocTop i inicjalizacja w folderze projektu;

sudo gem install choctop
install_choctop /sciezka/do/naszego/projektu

Wykonanie powyższych komend spowoduje utworzenie w folderze naszego projektu pliku Rakefile. uruchomienie tego pliku spowoduje wykonanie wszystkich czynności. Edytując ten plik ustalimy poszczególne ważne dane dla instalatora.

 
ChocTop::Configuration.new do |s|
  s.host     = 'fajnyprogram.com'
  s.base_url = 'http://fajnyprogram.com/beta'
  s.remote_dir = '/projekty/fajnyprogram/beta'
 
  s.background_file = "background.png"
  s.volume_icon = 'Icon.icns'
  s.app_icon_position = [106, 83]
  s.applications_icon_position = [422, 83]
end

Kolejno mamy zdefiniowane:
- nazwę hosta naszej aplikacji ,
- bezpośredni link do niej,
- folder, do którego jest kopiowany spakowany obraz,
- plik użyty jako tło folderu,
- ikonki ,
- pozycja ikonki aplikacji,
- pozycja ikonki folderu aplikacji.

Jeżeli korzystamy ze menadżera aplikacji Sparkle, możemy także dodać pliki niezbędne do współpracy z tym frameworkiem. Umożliwi to powiadomienie użytkowników naszej aplikacji o pojawieniu się nowej wersji.

Jeżeli wszystko zostało poprawnie skonfigurowane uruchamiamy

rake dmg

i zostanie utworzony nowy obraz dysku.
Jeżeli chcemy aby jednocześnie utworzony obraz dysku został skopiowany do zdalnego folderu wskazanego w konfiguracji uruchamiamy:

rake dmg upload

To wszystko, mam nadzieję, że komuś się przyda.

  • Wykop
  • Blip
  • Twitter
  • Facebook
  • DZone
  • Digg
  • Blinklist
  • Delicious
  • Evernote
  • LinkedIn
  • Google Bookmarks
  • Google Buzz
  • Google Reader
  • Share/Bookmark

Jun 1 2010

To że Windows jest…

dziurawy, to wie chyba każdy, kto interesuje się chociaż trochę bezpieczeństwem komputerów. Jednak dzisiaj potwierdziła to jedna z największych firm informatycznych świata – Google. Po ostatnich atakach chińskich hakerów na komputery stacjonarne pracowników firmy, zdecydowali oni, na całkowite porzucenie tego systemu operacyjnego. Do tej pory pracownicy Google mogli wybrać system operacyjny, na którym chcą pracować: Windows, Mac OSX albo Linux. Obecnie zostały do wyboru tylko dwa – pracownicy mogą przenieść się na platformę firmy z Cuppertino, albo na ich PC’tach zostanie zainstalowany Linux.

Oczywiście istnieje możliwość pozostania przy Windows, ale musi to być bardzo mocno argumentowane i zatwierdzone przez dyrektora działu informatyki.

Żródło: Fortune

  • Wykop
  • Blip
  • Twitter
  • Facebook
  • DZone
  • Digg
  • Blinklist
  • Delicious
  • Evernote
  • LinkedIn
  • Google Bookmarks
  • Google Buzz
  • Google Reader
  • Share/Bookmark

Nov 4 2009

Mysql i Snow Leopard

Po aktualizacji systemu do MacOS X 10.6 (Snow Leopard) zauważyłem, że nie startuje moja baza danych Mysql. Sprawdziłem ręcznie co jest nie tak:

cd /Library/StartupItems/MySQLCOM
sudo ./MySQLCOM start
Could not find MySQL startup script!


aha! Poszedłem więc do /usr/local i zrobiłem link symboliczny
sudo ln -s mysql* mysql
Po ponownej próbie uruchomienia bazy danych otrzymałem komunikat:
Starting MySQL database server
Czyli wszystko ok.

  • Wykop
  • Blip
  • Twitter
  • Facebook
  • DZone
  • Digg
  • Blinklist
  • Delicious
  • Evernote
  • LinkedIn
  • Google Bookmarks
  • Google Buzz
  • Google Reader
  • Share/Bookmark

Nov 4 2009

Kopiowanie z/na konsolę

Podczas pracy w terminalu, czasem zdaża mi się, że wynik, który otrzymuję muszę sprawnie przenieść do jakiegoś programu okienkowego. W przypadku dłuższych listingów przekierowywuję output na plik tekstowy i z niego potem odczytuję w drugim programie. Pracując na MacOS X znalazałem ułatwienie mojej pracy. Programy pbcopy i pbpaste odpowiedzialne są za wklejanie do i z pamięci podręcznej. Przekierowując output podczas np. listowania folderu na pbcopy mamy dostęp do tego listingu używając zwykłej fukncji ‘Wklej’ dowolnego okienkowego programu.

  • Wykop
  • Blip
  • Twitter
  • Facebook
  • DZone
  • Digg
  • Blinklist
  • Delicious
  • Evernote
  • LinkedIn
  • Google Bookmarks
  • Google Buzz
  • Google Reader
  • Share/Bookmark

Oct 27 2009

Java, TMPDIR i MacOS X

Prawie cały dzień spędziłem na bezefektywnej próbie uruchomienia starego jBossa wygrzebanego z backup’u na moim Macu. Po dłuższych analizach znalazłem przycznę. Otóż, podczas startu, serwer ustawiał zmienną java.io.tmpdir. W systemie MacOS X w takim momenie zostaje utworzony nowy folder w /private/var/folders.Problemem jest to, że w nazwie tego folderu występują znaki plus +, które przez niektóre mechanizmy (np. Xerces) są traktowane jako spacje. Obejściem tego problemu jest ustawienie parametru java.io.tmpdir w JAVA_OPTS. JAVA_OPTS="-Djava.io.tmpdir=/tmp/". Zmienna ta w przypadku serwera jBoss jest ustawiana w pliku run.conf, więc należy go edytować i dopisać co podałem.

  • Wykop
  • Blip
  • Twitter
  • Facebook
  • DZone
  • Digg
  • Blinklist
  • Delicious
  • Evernote
  • LinkedIn
  • Google Bookmarks
  • Google Buzz
  • Google Reader
  • Share/Bookmark