LINUX.ORG.RU

Disk Utility -> File -> New Image -> Imager From Folder. Для гуя.

hdiutil create && hdiutil convert

xpahos ★★★★★
()

pkgbuild

Простейший пример инсталлятор pkgbuild и productbuild

Создать файл «distribution.xml»

<?xml version="1.0" encoding="utf-8"?>
<installer-gui-script minSpecVersion="1">
  <title>Program_name</title>
  <background file="/Volumes/Users/user/Projects/Build_package/bg1.png"/>
  <welcome file="/Volumes/Users/user/Projects/Build_package/welcome.txt"/>
  <readme file="/Volumes/Users/user/Projects/Build_package/readme.txt"/>
  <license file="/Volumes/Users/user/Projects/Build_package/license_en.txt"/>
  <options rootVolumeOnly="false"/>
  <options customize="allow"/>
  <choices-outline>
  <line choice="Program_name"/>
  </choices-outline>
  <choice id="Program_name" visible="true" title="Program_name" description="Main application file">    
  <pkg-ref id="com.Company_Name.Program_name.pkg">#MyApp.pkg</pkg-ref>
  </choice>
</installer-gui-script>

=== 1 ===

Terminal command:

cd ~/Example ls -alh

sudo su

chown -R root:wheel /Volumes/x300/Users/user/Example

chmod 755

pkgbuild --identifier com.company.Example --version 1.0 --install-location /Applications --root /Volumes/Users/user/Example /Volumes/Users/user/Example.pkg

pkgbuild --identifier com.company.Example \ --version 1.0 \ --install-location /Applications \ --root /Volumes/Users/user/Example \ /Volumes/Users/user/Example.pkg

=== 2 ===

Build application install package include pages «Welcome», «Readme», «License», and «Aplication.app». Open file «distribution.xml», and go to bottom file, find line like this:

{ <pkg-ref id=«com.prosc.RemoteExecution.install.pkg»>#/Volumes/Users/user/Example.pkg</pkg-ref> }

and change after char «#» your full path to the application «/Volumes/Users/user/MyInstall.pkg»

save file and exit.

Terminal command:

cd /Volumes/Users/user/Projects/Build_package productbuild --distribution distribution.xml --resources ./ «MyInstaller.pkg»

Result:

user$productbuild --distribution /Volumes/Users/user/distribution.xml --resources /Volumes/Users/user/Example/Example.app «MyInstaller.pkg» productbuild: Wrote product to MyInstaller.pkg

user$productbuild --distribution distribution.xml --resources ./ «MyInstaller.pkg»

sudo productbuild --component «AppName.app» /Applications --sign «Mac Developer: FirstName LastName» --product «AppName.app/Contents/info.plist» AppName.pkg

styxriver
()
Ответ на: pkgbuild от styxriver

Спасибо, я как раз до этого дошёл. Не понял вот только, зачем нужен промежуточный шаг с pkgbuild? Если у меня есть example.app и example.support.files, нельзя сразу сделать pkg из этого минуя, pkgbuild?

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

Скорее всего, нельзя. Смысл в том, что pkgbuild создает простой пакет, и его вполне хватает для установки программы, однако там нет «опций» выбора устанавливаемых файлов и добавления скриптов итд. Поэтому, только так.

styxriver
()
Ответ на: комментарий от styxriver

Я имел ввиду использовать только productbuild. Зачем мне простой пакет, если я могу создать нужный со всеми опциями сразу?

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

Зачем мне простой пакет, если я могу создать нужный со всеми опциями сразу?

затем, что на самом деле не можешь.

waker ★★★★★
()
Ответ на: комментарий от waker

мм.. окей, понял, буду дальше пробовать, спасибо.

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

productbuild может только добавлять файлы и скрипты в готовый пакет, он не умеет создавать пакет, для этого и предназначен pkgbuild.

styxriver
()
Ответ на: pkgbuild от styxriver

sudo su

Не надо так делать. Используйте либо sudo, либо su.

Deleted
()
Ответ на: комментарий от styxriver

productbuild может только добавлять файлы и скрипты в готовый пакет, он не умеет создавать пакет, для этого и предназначен pkgbuild.

Как это не умеет? Я вчера только создал с помощью него без предоставления ему какого-либо пакета.

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

Как это не умеет? Я вчера только создал с помощью него без предоставления ему какого-либо пакета.

А можно увидеть команду productbuild с помощью которой был создан пакет без pkgbuild?

styxriver
()
Ответ на: комментарий от styxriver

А можно увидеть команду productbuild с помощью которой был создан пакет без pkgbuild?

Можно, вечером домой приду, покажу.

UVV ★★★★★
() автор топика
Ответ на: комментарий от styxriver

Если по памяти было что-то типа этого:

productbuild --version "1.0" --component my.app my.pkg

UVV ★★★★★
() автор топика
Ответ на: pkgbuild от styxriver

Кстати, мой productbuild выставляет набор пакетов как:

    <choices-outline>
        <line choice="default">
            <line choice="blabla/>
В таком случае, при Cmd+I все файлы валяются под одним деревом. Кто знает, зачем так делается и нужен ли этот default?

UVV ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.