انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: علی ۵۰۰ در 06 مهر 1395، 09:24 قظ
-
سلام
آموزش بسیار ساده ساخت بسته snap برای برنامههایی که از qmake استفاده میکنن.
مرحله۱:
ابتدا به جایی که فایل .pro شما موجود است، بروید و درون فایل .pro خود، ۲ خط زیر را اضافه کنید.
target.path = /user/local/myprogram
INSTALLS += target
(http://forum.ubuntu.ir/index.php?action=dlattach;topic=140646.0;attach=45116;image)
مرحله۲:
دستور زیر را اجرا کنید تا فایل snapcraft.yaml ساخته و مقداردهی اولیه شود:
snapcraft init
(http://forum.ubuntu.ir/index.php?action=dlattach;topic=140646.0;attach=45126;image)
مرحله۳:
فایل snapcraft.yaml را باز کنید و محتویات زیر را درون آن بنویسید:
name: my-snap-name # you probably want to 'snapcraft register <name>'
version: '0.1' # just for humans, typically '1.2+git' or '1.3.2'
summary: Single-line elevator pitch for your amazing snap # 79 char long summary
description: |
This is my-snap's description. You have a paragraph or two to tell the
most important story about your snap. Keep it under 100 words though,
we live in tweetspace and your description wants to look good in the snap
store.
grade: devel # must be 'stable' to release into candidate/stable channels
confinement: devmode # use 'strict' once you have the right plugs and slots
apps:
base:
command: start
parts:
my-part:
# See 'snapcraft plugins'
plugin: qmake
source: .
qt-version: qt5
مرحله۴:
دستور snapcraft را وارد کنید تا فایل snap شما ساخته شود.
(http://forum.ubuntu.ir/index.php?action=dlattach;topic=140646.0;attach=45136;image)
مرحله۵:
فایلهای اضافه را با دستور snapcraft clean پاک کنید.
(http://forum.ubuntu.ir/index.php?action=dlattach;topic=140646.0;attach=45146;image)
مرحله۶:
اگر دوستداشتید محتویات فایلهای خود را ببینید.
(http://forum.ubuntu.ir/index.php?action=dlattach;topic=140646.0;attach=45156;image)
-
حالا با دستور زیر میتوانید بسته snap خود را نصب کنید:
sudo snap install my-snap-name_0.1_amd64.snap
اما مشاهده میکنید که بسته نصب نمیشود. به دو دلیل:
دلیل ۱: چون ما فایل snap را به صورت devmode ساختیم ( به درون فایل snapcraft.yaml نگاه کنید ) باید از آرگومان زیر برای نصب کردن استفاده کنیم.
sudo snap install --devmode my-snap-name_0.1_amd64.snap
اما باز مشاهده میکنید که بسته نصب نمیشود. به این دلیل که:
دلیل ۲: چون ما فایل رو به صورت درستی نساختیم میتوانیم از دستور زیر برای نصب کردن استفاده کنیم.
sudo snap install --devmode --force-dangerous my-snap-name_0.1_amd64.snap
(http://forum.ubuntu.ir/index.php?action=dlattach;topic=140646.0;attach=45166;image)
حالا برنامهٔ شما نصب شد و شما میتوانید آن را با دستور زیر اجرا کنید:
my-snap-name.base
برای دیدن فایلهای snap نصب شده، از دستور زیر استفاده کنید:
snap list
(http://forum.ubuntu.ir/index.php?action=dlattach;topic=140646.0;attach=45176;image)
برای حذف این بستهٔ snap ای که ساختهایم از دستور زیر استفاده کنید:
sudo snap remove my-snap-name
(http://forum.ubuntu.ir/index.php?action=dlattach;topic=140646.0;attach=45186;image)
-
ممکنه که مطالبی که در بالا نوشتم دارای مشکلاتی باشه، خوشحال میشم اگر مشکلی پیدا کردید به من هم اطلاع بدید. :)
یک اشتباهی که من در آموزش بالا کردم ( البته فکر نکنم برای ساخت بستههای snap مهم باشه ) این است که usr را اشتباهی user نوشتم.
اگر اشتباه نکنم این فایل توانایی نصب بر روی تمام لینوکسهای ۶۴ بیتی (چون روی سیستم من به صورت ۶۴ بیتی کامپایل شده)، که دارای مدیربسته snap هستند، را داراست. چون پیشنیازهای این برنامه، درون فایل snap موجود است.
-
ممکنه که مطالبی که در بالا نوشتم دارای مشکلاتی باشه، خوشحال میشم اگر مشکلی پیدا کردید به من هم اطلاع بدید. :)
یک اشتباهی که من در آموزش بالا کردم ( البته فکر نکنم برای ساخت بستههای snap مهم باشه ) این است که usr را اشتباهی user نوشتم.
اگر اشتباه نکنم این فایل توانایی نصب بر روی تمام لینوکسهای ۶۴ بیتی (چون روی سیستم من به صورت ۶۴ بیتی کامپایل شده)، که دارای مدیربسته snap هستند، را داراست. چون پیشنیازهای این برنامه، درون فایل snap موجود است.
از این میشه به عنوان مدیر بسته اصلی یه توزیع استفاده کرد ؟
-
ممکنه که مطالبی که در بالا نوشتم دارای مشکلاتی باشه، خوشحال میشم اگر مشکلی پیدا کردید به من هم اطلاع بدید. :)
یک اشتباهی که من در آموزش بالا کردم ( البته فکر نکنم برای ساخت بستههای snap مهم باشه ) این است که usr را اشتباهی user نوشتم.
اگر اشتباه نکنم این فایل توانایی نصب بر روی تمام لینوکسهای ۶۴ بیتی (چون روی سیستم من به صورت ۶۴ بیتی کامپایل شده)، که دارای مدیربسته snap هستند، را داراست. چون پیشنیازهای این برنامه، درون فایل snap موجود است.
از این میشه به عنوان مدیر بسته اصلی یه توزیع استفاده کرد ؟
سلام
در اوبونتو ۱۶٫۰۴ به صورت پیشفرض مدیربستهٔ اِسنَپ نصبه.
-
ممکنه که مطالبی که در بالا نوشتم دارای مشکلاتی باشه، خوشحال میشم اگر مشکلی پیدا کردید به من هم اطلاع بدید. :)
یک اشتباهی که من در آموزش بالا کردم ( البته فکر نکنم برای ساخت بستههای snap مهم باشه ) این است که usr را اشتباهی user نوشتم.
اگر اشتباه نکنم این فایل توانایی نصب بر روی تمام لینوکسهای ۶۴ بیتی (چون روی سیستم من به صورت ۶۴ بیتی کامپایل شده)، که دارای مدیربسته snap هستند، را داراست. چون پیشنیازهای این برنامه، درون فایل snap موجود است.
از این میشه به عنوان مدیر بسته اصلی یه توزیع استفاده کرد ؟
سلام
در اوبونتو ۱۶٫۰۴ به صورت پیشفرض مدیربستهٔ اِسنَپ نصبه.
خب اپت هم هست. و همیشه استفاده میشه.
الان به درجه ای رسیده که یک توزیع کامل از اسنپ استفاده کنه؟
-
نه. و قرار هم نیست یه توزیع کامل از اسنپ استفاده کنه. مگر اینم که روی هستهٔ اسنپی بنا شده باشه.
-
نه. و قرار هم نیست یه توزیع کامل از اسنپ استفاده کنه. مگر اینم که روی هستهٔ اسنپی بنا شده باشه.
هسته اسنپی؟
نمیشه مدیر بسته رو پاک کرد یکی جدید ریخت؟
-
نه. به این سادگی نیست. apt آمار هرچی که روی سیستم هست رو داره و اگه اسنپ نصب کنی، تنظیماتشون ممکنه با هم تداخل کنه.