משתמשי דביאן – לא לשדרג את redmine ב־testing

מי שהתקין את redmine לפני כמה חודשים/שבועות קיבל את גרסה 0.8.3 (או 9? לא זוכר). ביום רביעי נכנס שידרוג שהכניס את 1.0.0 אל testing. הבעייה היא שהגרסה הזאת לא עובדת כלל עם הגרסה של rails שיש בדביאן. זאת בעייה מתועדת ואני מניח שבקרוב תבוא חבילה שתתקן את זה.

בינתיים – לא לשדרג.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=592672
http://www.redmine.org/issues/5608

Share

המלצה לתוכנה – strace

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

נתקלתי בבעייה שהתבקשתי לפתור: לחיבור telnet של המכשירים שמייצרים אין ססמה (אל תשאלו, לאט לאט אני אעביר אותם ל־dropbear). הפעלה של passwd במכשירים נופלת (זה לא מבקש ססמה כלל וישר אומר שהססמה פשוטה מדי), וכאשר שמים ססמאות ב־‎/etc/passwd הססמאות לא עובדות. אני מסתכל על ה־FS של ה־device ואני רואה שרובו מבוסס busybox יחסית חדש. לעומת זאת login הוא קישור סימבולי ל־tinylogin (פרוייקט שמוזג אל busybox ב־2003 אם אני לא טועה). הורדתי מהאינטרנט את הקוד של tinylogin (כמובן שהיו מספיק חכמים רק לקבל build ולא source) ואני מתחיל להסתכל על הקוד. אני יושב שעתיים ועושה static debugging כדי לנסות להבין מה בדיוק נופל ואני אחרי שעתיים עקבתי אחרי הקוד, למקום שבוא "קוראים את הססמה מהמשתמש" ולא מצאתי את ה־implementation של הפונקציה הזאת.

בשלב הזה המפתח של ה־image עלה על זה שה־image המקורי שממנו הוא עשה את ה־image שלו כן עובד, משמע הוא באמת "גילח" משהו מיותר (אני הזהרתי… אבל למה שיקשיבו לי, הרי אני צודק). עכשיו החליטו שאני אפסיק לעבור על הקוד ופשוט נעשה מין binary search כדי להבין מה נמחק ועצם גרם לבעייה. אחרי שעה וחצי התבררה הבעייה: ה־device node tty ושמו בישראל: ‎/dev/tty. הסבר קצר: login לא קורא את הססמה מ־stdin (כדי שלא יעשו לזה redirect ואז יחטפו את סממה) אלא פותח ישירות את ה־tty וקורא ממנו. אני הכרתי את ‎/dev/tty[0-9]‎ והחברים, אבל לא ידעתי ש־tty הוא "ה־tty שלי". עכשיו הכל ברור.

מה שהכי כואב, זה שאם היה לי ב־image את התוכנה strace התהליך הזה היה לוקח לי 10 דקות. מסקנה: תמיד תתקינו strace במחשב שלכם.

Share

תודה למאיר

לפני כמה שבועות מאיר קיבל בתיבה שלו ב־whatsup איזה הודעה מוזרה ממני: היו בה קישורים לשתי הודעות באתר שלו, הוא לא הבין על מה העיניין. באתי אליו למשרד והסברתי לו: אלו היו מודעות שהובילו לראיונות עבודה. בזכות המודעות האלו אני כילכלתי את עצמי במשך 4 שנים.

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

למי שלא הבין, אני מדבר על מאיר קריחלי, mksoft והאתר שלו http://whatsup.co.il. זוכה בפרס המקור בשנת 2008.

תודה מאיר!

Share