גרסה חדשה של fakeroot-ng

לכל מי שלא עוקב, מזה כשנתיים אני כותב פרוייקט תוכנה חופשית בשם fakeroot-ng. הפרוייקט התפתח, מבחינת כמות קוד ומבחינת יכולות, מאוד מהר, עד לנקודה שבה הוא כבר ממש שימושי כפי שהוא היום.

לפני כשנה התחלתי פרוייקט בעבודה אצל לקוח, שבו היה צריך להשתמש בטכנולוגית fakeroot מסוג כלשהו. מדרך הטבע, הבחירה שלי היתה בכיוון של fakeroot-ng. כשניסיתי להשתמש בו, גיליתי ש-RedHat עשו שינוי בקרנל שלהם (כולל ב-Fedora), שגורם לזה שהתוכנה לא עובדת כמו שצריך שם. התחלתי לעבוד על תיקון, אבל הפרוייקט דרש יותר מידי תשומת לב, והעניין נדחק הצידה.

בימים אלו הסתיים הפרוייקט, ובשבועיים האחרונים אני מנצל את הזמן כדי לעבוד על תיקון של הבעיה. השינויים בקוד שהיו דרושים כדי לעשות את זה היו מרחיקי לכת, והשינויים הם שינויים מאוד משמעותיים בקוד, אבל בסופו של דבר הצלחתי. הגרסה האחרונה של fakeroot-ng תומכת בכל פלטפורמות הלינוקס שעליה היא יודעת להתקמפל.

החלק המבאס בכל הסיפור הוא שעבדתי נורא קשה, ועשיתי המון שינויים, רק כדי שבסוף אני אוכל לכתוב את השורה הלאקונית "עובד תחת Fedora ו-RedHat". ההתרגשות שלי מהגרסה החדשה שקולה, כמעט, להתרגשות שהיתה בפעם הראשונה שהצלחתי לעבור את המכשול הגדול הרציני של הפרוייקט, זה שהראה שהפרוייקט באמת אפשרי. למרות ההתרגשות שלי מהגרסה החדשה, כלפי העולם הכל מסתכם ב"היה באג, הוא תוקן".

אני אפילו לא יודע אם לקטלג את זה תחת "הסיבות שבגללן אני כל כך אוהב לתכנת" או תחת "רגעי התסכול שכל מתכנת חווה".

שחר

מאת

שחר שמש

מייסד ומנכ"ל "לינגנו ייעוץ קוד פתוח בע"מ" חבר ועד בעמותת "המקור" וסתם פעיל קוד פתוח ולינוקס

4 thoughts on “גרסה חדשה של fakeroot-ng”

  1. מזל טוב!

    זה ממש כיף כשפרוייקט ממריא עם עוד תיקוני באגים, עוד מערכות שהוא עובד עליהן ושיפורים. תיקון באג שגורם לתוכנה לעבוד של רדהאט זה תיקון גדול וחשוב. יש להם נתח גדול מאוד בשוק המסחרי.

    סתם מתענייו – מה מצב ה adoption של הפרוייקט? יש כבר פרוייקטים גדולים שעוברים לשימוש בו?

  2. תשובה חלקית לשאלה של שלומי: יש התקדמות בנוגע ל־mount?

    tzafrir@sweetmorn:~/Proj/Live/Min$ lh_config –use-fakeroot /usr/bin/fakeroot-ng
    P: Considering defaults defined in /etc/default/live-helper
    tzafrir@sweetmorn:~/Proj/Live/Min$ lh_build
    P: Setting up cleanup function
    P: Begin caching bootstrap stage…
    P: Begin bootstrapping system…
    E: need root privileges
    P: Begin unmounting filesystems…
    tzafrir@sweetmorn:~/Proj/Live/Min$ echo $?
    1

  3. צפריר,

    כרגע אין שום טיפול מיוחד ב-mount, מה שאומר שהוא כנראה לא יעבוד. אני לא כל כך בטוח איזה טיפול אפשר לעשות, למען האמת.

    מתוך עניין – האם הפקודה הנ"ל עובדת עם fakeroot הרגיל?

    שחר

סגור לתגובות.