Libelektra: أضف صيغة البيرة لـ Elektra

تم إنشاؤها على ١٨ فبراير ٢٠١٦  ·  28تعليقات  ·  مصدر: ElektraInitiative/libelektra

يعد Homebrew أحد أشهر مديري الحزم لنظام التشغيل OS X. سيكون من الجيد أن نقدم صيغة Homebrew الرسمية - ويعرف أيضًا باسم الحزمة - لـ Elektra. قام شخص ما بالفعل بوضع صيغة أساسية هنا . ربما يمكننا أن نبني عملنا على ذلك.

enhancement usability

التعليق الأكثر فائدة

هل يمكنك تحديث doc/INSTALL.md وتوضيح موعد استخدام الصيغة الرسمية ...

لقد فعلت ذلك بالفعل في إصداري المحلي من المستودع. يحتوي طلب السحب رقم 1777 على هذه التغييرات.

... ومتى نستخدم الحنفية؟

يحتوي المستند التمهيدي الخاص بنا على هذه المعلومات بالفعل.

ال 28 كومينتر

tryge إذا كنت على ما يرام معها سأستولي على هذا الأمر

رجاءا واصل!

كما تمت مناقشته في # 1184 ، سيكون من الجيد أيضًا إنشاء ثنائيات mac os x باستخدام travis.

لكن إضافة Homebrew Formula لها الأولوية القصوى ، وآمل أن يتمكن شخص ما لديه جهاز Mac من اختيار هذا!

لقد قمت بإنشاء صيغة Homebrew والصنبور لـ Elektra.

@ markus2330 لقد قمت بنقل الريبو إليك إلى Markus ، لأنني كنت سأحتاج إلى حالة المسؤول لنقل الريبو إلى مؤسسة ElektraInitiative. هل يمكنك نقل المستودع من حسابك الشخصي إلى مؤسسة ElektraInitiative؟

لقد قمت بإنشاء صيغة Homebrew والصنبور لـ Elektra.

شكرا لك ، هذا رائع حقا!

هل يشمل أيضًا الحزم الثنائية لأحدث إصدار؟

لقد قمت بنقل الريبو إليك إلى Markus ، لأنني كنت سأحتاج إلى حالة المسؤول لنقل الريبو إلى مؤسسة ElektraInitiative. هل يمكنك نقل المستودع من حسابك الشخصي إلى مؤسسة ElektraInitiative؟

معذرة ، أين أجدها؟ في https://github.com/sanssecours/homebrew-elektra ليس لدي زر "الإعدادات" (والذي سيكون مطلوبًا للنقل).

لماذا لا يتم استنساخه ببساطة؟ (أو إعادة إنشاء واحد عن طريق دفع نفس الالتزامات فيه)

بالمناسبة. هل من الممكن إحضار هذه الصيغة أيضًا إلى المنبع للتخمير؟

omnidan هل يمكنك اختبار ما إذا كانت الحنفية / الزجاجة تناسبك أيضًا؟

هل يجب أن نخلق مشاكل حول الصنبور / الزجاجة هنا أو في
https://github.com/ElektraInitiative/homebrew-elektra؟

هل يشمل أيضًا الحزم الثنائية لأحدث إصدار؟

ليس بعد ، لا يبدو أن إنشاء حزمة ثنائية بهذه الصعوبة . سوف ألقي نظرة.

معذرة ، أين أجدها؟ في https://github.com/sanssecours/homebrew-elektra ليس لدي زر "الإعدادات" (والذي سيكون مطلوبًا للنقل).

شكرا لك على وصول المسؤول. لقد قمت للتو بتحويل الريبو .

بالمناسبة. هل من الممكن إحضار هذه الصيغة أيضًا إلى المنبع للتخمير؟

نعم. أردت أن أفعل ذلك أولاً ، لكن بقدر ما أستطيع أن أخبر مطوري Homebrew نوعًا ما من الصعب إرضاءهم بشأن ما يقبلونه . خاصة النص

نحن نستهجن من المؤلفين الذين يقدمون أعمالهم الخاصة إلا إذا كانت تحظى بشعبية كبيرة.

يبدو وكأنه مشكلة.

لقد قمت للتو بتحويل الريبو.
ليس بعد ، لا يبدو أن إنشاء حزمة ثنائية بهذه الصعوبة. سوف ألقي نظرة.

شكرا!

شكرا لك على وصول المسؤول.

في أي وقت مرة أخرى إذا كنت في حاجة إليها. يمكننا أيضًا مناقشة الوصول الدائم للمسؤول.

نعم. أردت أن أفعل ذلك أولاً ، لكن بقدر ما أستطيع أن أخبر مطوري Homebrew نوعًا ما من الصعب إرضاءهم بشأن ما يقبلونه. خاصة النص

إنه لأمر جيد أن نحصل على بعض التعليقات ، حتى لو لم يقبلوها.

نحن نستهجن من المؤلفين الذين يقدمون أعمالهم الخاصة إلا إذا كانت تحظى بشعبية كبيرة.

أفهم هذه الجملة أنه لا يجب عليك تقديم نموذج رسمي لعملك الخاص (= الريبو الذي كتبته أنت وحدك). هذا ليس هو الحال هنا.

حزمة Homebrew الثنائية (زجاجة) متاحة الآن. إذا أراد شخص ما تجربة الصيغة ، يرجى اتباع الخطوات أدناه.

  1. الرجاء تشغيل brew doctor وإزالة جميع أجزاء Elektra التي يبلغ عنها الأمر.
  2. اضغط على المستودع: brew tap ElektraInitiative/homebrew-elektra .
  3. إذا كنت تريد التثبيت

    • الزجاجة تستخدم brew install elektra .

    • قم بإصدار 0.8.19 من المصدر ، ثم استخدم brew install --build-from-source elektra .

    • أحدث إصدار من Elektra ، ثم استخدم brew install --HEAD elektra .

  4. للتحقق مما إذا كان التثبيت يعمل ، يمكنك استخدام الأمر brew test elektra .

إنه لأمر جيد أن نحصل على بعض التعليقات ، حتى لو لم يقبلوها.

حسنًا. إذا كان لدي وقت سأحاول فتح طلب سحب غدًا.

هذه أخبار رائعة مرة أخرى!

هل يمكنك تحديث الملف README.md الخاص بالمشروب المنزلي - elektra ليحتوي على هذا الوصف الأطول؟

هل لديك بعض سجلات البناء التي تم تمكين الإضافات والارتباطات منها؟ على وجه الخصوص ، سأكون مهتمًا إذا تم تضمين روابط python2 (والعمل: هل يمكنك محاولة import kdb في مترجم Python)؟

هل يمكنك تحديث الملف README.md الخاص بالمشروب المنزلي - elektra ليحتوي على هذا الوصف الأطول؟

حسنًا ، يمكنك إلقاء نظرة على المستند التمهيدي المحدث هنا .

هل لديك بعض سجلات البناء التي تم تمكين الإضافات والارتباطات منها؟

يجب أن تكون قائمة المكونات الإضافية واسعة جدًا ، حيث قمت بتثبيت الكثير من تبعيات Elektra الاختيارية على جهازي. هذا هو السجل الذي أنتجه brew install --build-from-source -debug -verbose elektra .

على وجه الخصوص ، سأكون مهتمًا إذا تم تضمين روابط python2 (والعمل: هل يمكنك محاولة import kdb في مترجم Python)؟

يجب تضمينها (انظر السجل أعلاه) ، ولكن مع ذلك ، يشير import kdb إلى الخطأ التالي في كل من إصدار نظام Python ( /usr/bin/python ) وفي الإصدار المثبت عبر Homebrew ( /usr/local/bin/python ):

import kdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named kdb

.

حسنًا ، يمكنك إلقاء نظرة على الملف التمهيدي المحدث

رائع شكرا لك!

يجب أن تكون قائمة المكونات الإضافية واسعة جدًا ، حيث قمت بتثبيت الكثير من تبعيات Elektra الاختيارية على جهازي.

  • يبدو أن رون مفقود (لذا لا توجد صفحات بشرية)
  • يبدو أنك لا تقوم بتضمين أي ربط (باستثناء cpp) ، يبدو أنك بحاجة إلى -DBINDINGS=ALL
  • يحتاج kdb gen إلى فهد من نوع python للعمل و --install-layout . يبدو أنه من الصعب إصلاحه (من الأفضل ترك ذلك الآن وتعطيل gen from TOOLS).

يجب تضمينها (انظر السجل أعلاه)

أعتقد أنك قمت بخلط روابط python والمكونات الإضافية ، الروابط غير موجودة (لا يوجد -- Include Binding swig_python2 ).

  • يبدو أن رون مفقود (لذا لا توجد صفحات بشرية)

يبدو فقط أنه مفقود. لقد قمت بتثبيت ronn عبر rbenv . يبدو أن بيئة Homebrew تستخدم قيمة مختلفة لـ PATH والتي لا تتضمن ~/.rbenv/shims . بعد إجراء بعض الأبحاث ، وجدت طريقة لإضافة ronn كاعتماد اختياري على Ruby. في الوقت الحالي ، لا تتعرف الصيغة على تثبيت ronn . آمل أن أجد حلاً لهذه المشكلة.

  • يبدو أنك لا تتضمن أي ربط (باستثناء cpp) ، يبدو أنك بحاجة إلى -DBINDINGS=ALL

أنت على حق ، شكرا لك. أضفت الخيار إلى حجج CMake للصيغة.

أعتقد أنك قمت بخلط روابط python والمكونات الإضافية ، الروابط غير موجودة (لا يوجد -- Include Binding swig_python2 ).

أنت على حق مرة أخرى: س). سوف أتحقق مما إذا كانت الارتباطات تعمل لاحقًا.

تحديث

صفحات الرجل

أضفت ronn كتبعية مطلوبة لعملية الإنشاء هنا . لا أعتقد أن طلب ronn للإصدار يمثل مشكلة ، لأن معظم الناس سيستخدمون فقط النسخة المعبأة في زجاجات من الصيغة على أي حال.

قد تسأل لماذا لم أقم بإضافة ronn كتبعية اختيارية. كان سبب ذلك هو ناتج brew info ، والذي يبدو نوعًا ما سخيفًا وخاطئًا أيضًا إذا أضفت العلامة :optional :

…
==> Dependencies
Build: cmake ✔
==> Requirements
Build: ronn (ruby module) ✔
Optional: ronn (ruby module) ✔
==> Options
--with-languagemodule
    Build with languagemodule support
…

. يوضح النص أدناه الناتج الحالي brew info elektra :

elektrainitiative/elektra/elektra: stable 0.8.19 (bottled), HEAD
Configuration Framework
https://web.libelektra.org
Not installed
From: https://github.com/ElektraInitiative/homebrew-elektra/blob/master/Formula/elektra.rb
==> Dependencies
Build: cmake ✔
==> Requirements
Build: ronn (ruby module) ✔

.

الارتباطات

بعد أن أضفت -DBINDINGS=ALL إلى CMake خيارات الصيغة brew audit --strict elektra تظهر الرسالة التالية (بعد أن قمت بتثبيت Elektra):

elektrainitiative/elektra/elektra:
  * python modules have explicit framework links
    These python extension modules were linked directly to a Python
    framework binary. They should be linked with -undefined dynamic_lookup
    instead of -lpython or -framework Python.
      /usr/local/Cellar/elektra/0.8.19/lib/python2.7/site-packages/_kdb.so
      /usr/local/Cellar/elektra/0.8.19/lib/python3.5/site-packages/_kdb.so
Error: 1 problem in 1 formula

. إذا حاولت استخدام import kdb في إصدار Hombrew من Python ، فسيتعطل مترجم Python ، ويعرض رسالة الخطأ التالية:

Fatal Python error: PyThreadState_Get: no current thread
fish: '/usr/local/bin/python' terminated by signal SIGABRT (Abort)

يبدو أن هذا أمر طبيعي ، نظرًا لأن ninja test - في دليل الإنشاء المعتاد - فشل أيضًا ، حيث أظهر الأخطاء التالية:

     31 - testpy2_kdb.py (OTHER_FAULT)
     32 - testpy2_key.py (OTHER_FAULT)
     33 - testpy2_keyset.py (OTHER_FAULT)
     34 - test_kdb.py (OTHER_FAULT)
     35 - test_key.py (OTHER_FAULT)
     36 - test_keyset.py (OTHER_FAULT)
     40 - testruby_kdb (OTHER_FAULT)
     41 - testruby_key (OTHER_FAULT)
     42 - testruby_keyset (OTHER_FAULT)

. لقد استخدمت الأمر التالي لإنشاء مشروع Ninja:

    cmake ..                        \
          -GNinja                       \
          -DENABLE_TESTING=ON               \
          -DENABLE_DEBUG=ON                 \
          -DENABLE_LOGGER=OFF               \
          -DBUILD_PDF=ON                    \
          -DCMAKE_EXPORT_COMPILE_COMMANDS=ON        \
          -DPDFLATEX_COMPILER=`which latexmk`       \
          -DPDFLATEX_COMPILER_OPTIONS='-pdf;-f;-quiet'  \
          -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5        \
          -DTOOLS=ALL                   \
          -DBINDINGS=ALL

. يبدو أن روابط Lua تعمل بشكل جيد. على الأقل require 'kdb' لا تظهر أية رسائل خطأ.

شكرا على مجهودك!

صفحات الرجل

نعم ، أوافق على أن الناس يفضلون النسخة المعبأة في زجاجات. كما أن عدم وجود صفحات بشرية يمثل مشكلة كبيرة في قابلية الاستخدام ، لذا فإن المطلب معقول ..

تحطم import kdb

manuelm lm هل لديك فكرة لماذا تحطم الارتباطات؟

sanssecours ربما يكون إصدار swig قديمًا جدًا ، أو تم استخدام جرعة خاطئة؟

يجب ربطها بـ dynamic_lookup -undefined بدلاً من -lpython أو -framework Python.

ربما يجب علينا ببساطة تمرير -framework في حالة APPLE إلى target_link_libraries. وفقًا لـ cmake docu ، يبدو أن هناك معاملة خاصة مقابل -framework .

ربما ملف cmake للبيثون تالف؟ هنا نقاش طويل حول ملفات python cmake المكسورة. (قد لا تكون ذات صلة ، على الرغم من ذلك) لا يمكنني المساعدة هنا ، فالمشكلة خاصة بنظام التشغيل Mac OS X.

sanssecours ربما إصدار swig قديم جدًا ...

كلا ، لقد قمت بتثبيت أحدث إصدار من swig ( 3.0.10 ) عبر Homebrew.

... ، أو استخدام غنيمة خاطئة؟

انا لا اظن ذلك. أقوم بالبحث السريع عبر locate swig يظهر فقط الإصدار المثبت عبر Homebrew.

@ markus2330 نعم إنه يعمل! شكرًا جزيلاً على صيغة البيرة ، sanssecours : ok_hand:

لدي مشكلة صغيرة ، ولكن قد يكون ذلك بسبب أن sudo make uninstall لا يقوم بإلغاء تثبيت elektra بشكل نظيف:

> brew install elektra
==> Installing elektra from elektrainitiative/elektra
==> Downloading https://github.com/ElektraInitiative/homebrew-elektra/releases/download/0.
==> Downloading from https://github-cloud.s3.amazonaws.com/releases/76387201/caf85aac-c307
######################################################################## 100.0%
==> Pouring elektra-0.8.19.sierra.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/elektra/test_data/lua/batterytotracker.lua
/usr/local/share/elektra/test_data/lua is not writable.

You can try again using:
  brew link elektra
==> Summary
🍺  /usr/local/Cellar/elektra/0.8.19: 2,668 files, 54.1M
> brew link elektra
Linking /usr/local/Cellar/elektra/0.8.19...
Error: Could not symlink lib/elektra/libelektra-storage.so
Target /usr/local/lib/elektra/libelektra-storage.so
already exists. You may want to remove it:
  rm '/usr/local/lib/elektra/libelektra-storage.so'

To force the link and overwrite all conflicting files:
  brew link --overwrite elektra

To list all files that would be deleted:
  brew link --overwrite --dry-run elektra

بعد تشغيل brew link --overwrite elektra ، فإنه يعمل بشكل جيد ، على الرغم من ذلك.

إذا حاولت استيراد kdb في إصدار Hombrew من Python ، فسيتعطل مترجم Python ، ويعرض رسالة الخطأ التالية:

خطأ Python فادح: PyThreadState_Get: لا يوجد مؤشر ترابط حالي
الأسماك: '/ usr / local / bin / python' تم إنهاؤه بواسطة إشارة SIGABRT (إحباط)

إذن python -c "import kdb" يعطي الخطأ الفادح أعلاه؟ يبدو غريبًا لأن الارتباطات (على عكس المكوّن الإضافي) لا تلمس أي حالات خيط أو مترجمين على الإطلاق.

إذن python -c "import kdb" يعطي الخطأ الفادح أعلاه؟

نعم ، يقوم الأمر /usr/local/bin/python -c "import kdb" بطباعة رسالة الخطأ هذه ، إذا قمت بتثبيت Elektra باستخدام إصدار قديم من الصيغة . النبأ السار هو أن /usr/local/bin/python3 -c "import kdb" يعمل.

راجع للشغل ألق نظرة على https://github.com/ElektraInitiative/libelektra/blob/master/.travis.yml#L52

إذا أضفت التعريفات الإضافية وقمت بتعطيل pyenv ، فإن اختبارات Python - في دليل الإنشاء المعتاد - تعمل بشكل جيد. شكرا لك.

شكرا لك عمل رائع!

لأي شخص مهتم: فتحت مؤخرًا طلب سحب لـ Elektra 0.8.21 بسعر homebrew-core هنا .

من الرائع أن يتم قبول صيغة البيرة! https://github.com/Homebrew/homebrew-core/pull/22049

شيء بسيط: في http://brewformulas.org/Elektra وصف "مستودع لمشاركة مقتطفات التكوين" خاطئ بعض الشيء ، فهل من الممكن تعديل ذلك عبر الصيغة؟ أو هل نحتاج إلى إرسال مشكلة في أداة التتبع الخاصة بهم لتغيير هذا النص؟

لا أعتقد أن http://brewformulas.org هو موقع البيرة الرسمي. يمكنك العثور على الوصف الصحيح للصيغة :

إطار عمل للوصول إلى إعدادات التكوين في قاعدة بيانات مفتاح عمومي

في الصفحة الرئيسية الرسمية للجائزة .

شكرًا لك ، يبدو أن الصفحة الأخرى غير الرسمية التي تحتوي على وصف خاطئ حصلت على مرتبة أعلى في بحثي على الإنترنت. ثم لا توجد مشكلة في الوصف من جانبنا.

شكرا مرة أخرى على مثابرتك للحصول على صيغة البيرة الرسمية.

هل يمكنك تحديث doc/INSTALL.md وتوضيح موعد استخدام الصيغة الرسمية ومتى تستخدم الصنبور؟

هل يمكنك تحديث doc/INSTALL.md وتوضيح موعد استخدام الصيغة الرسمية ...

لقد فعلت ذلك بالفعل في إصداري المحلي من المستودع. يحتوي طلب السحب رقم 1777 على هذه التغييرات.

... ومتى نستخدم الحنفية؟

يحتوي المستند التمهيدي الخاص بنا على هذه المعلومات بالفعل.

ماذا عن إبقاء هذا مفتوحًا لتتبع حالة صيغة البيرة لكل إصدار؟ إذا كان مفضلاً ، فيمكننا أيضًا إضافة مشكلة جديدة للتتبع.

ماذا عن إبقاء هذا مفتوحًا لتتبع حالة صيغة البيرة لكل إصدار؟

كما أظهرت بالفعل من خلال النشر هنا 😊 ، لا نحتاج إلى إبقاء هذه المشكلة مفتوحة لإضافة تعليقات جديدة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات