At 15:27:10 on Tuesday Tuesday 25 May 2010, Ron Varburg <[email protected]> wrote: > I intend to file the following report. Any comments? > > Package: bsdmainutils > Version: 8.0.11 > Severity: normal > Tags: patch > > > calendar.judaic was last updated in 2007. Due to the nature of > the Jewish calendar, it renders the file unusable. To address the > difficulties facing the maintaner, a python script is included. This > script offers the maintainer a way to create the file as required. > The script is not limited to a single year. Just enter the desired > year as an argument in the command line. I suggest to keep this > script in the Debian directory of the source package.
In what way is the Jewish calaendar unstable? Here is a link to a website containing a list of very well-known articels and books describing calculations for calculating dates. I do not mean to imply by posting this link that it will be an innovation to anyone is is interested in the subject; I post it for the convenience of those who haven't considered these calculations previously. (I have lots of other references.) <http://emr.cs.uiuc.edu/~reingold/calendars.shtml> > $ cat calendarJudaic.py > #! /usr/bin/python > # Filename: calendarJudaic.py > # > # License: no warranty close + no license (public domain) > # > # Creates a calendar.judaic file, which is suitable for inclusion > # in Debian's bsdmainutils package. Up to the introductory of > # this script the calendar.judaic file was not updated regulary. > # Probably because updating it is time consuming. This python > # script let anyone create that file, for any year. Its output is > # written to stdout. It requires the libhdate-python package. > # A small part of the holidays might require manual editing > # because the state of Israel modifies the actual date by a few > # days due to various considerations. > > # References: > # http://www.mail-archive.com/[email protected]/msg58169.html > # http://www.mail-archive.com/[email protected]/msg58321.html > # http://www.mail-archive.com/[email protected]/msg58451.html > > > from string import Template > import hdate, optparse, sys, time > > > def main(): > > description = '''Description: > Creates a calendar.judaic file, which is suitable for inclusion > in Debian's bsdmainutils package. Up to the introductory of > this script the calendar.judaic file was not updated regulary. > Probably because updating it is time consuming. This python > script let anyone create that file, for any year. Its output is > written to stdout. It requires the libhdate-python package. > A small part of the holidays might require manual editing > because the state of Israel modifies the actual date by a few > days due to various considerations. > ''' > usage = "Usage: %prog [year]\n"\ > "\n"\ > "Example: %prog 2099" > version = "29-May-2010" > parser = optparse.OptionParser(description=description, > usage=usage, version=version) > (options, args) = parser.parse_args() > if len(args)> 1: > parser.error("\n " + str(len(args)) + " arguments were " > "given. At most 1, an integer represnting a year, " > "is expected." > ) > elif len(args) == 1: > # An integer represnting a year is expected. > try: > year = int(args[0]) > except ValueError: > parser.error("\n Could not convert the argument " + > args[0] + ", which should represent a year, to an integer." ) > else: # len(args) == 0, no args were given. Use the current year. > year = time.localtime().tm_year > > h = hdate.Hdate() > > template_for_header = '''/* > * Judaic Calendar. Created by calendar.judaic.py. > * Collaboratively authored by [email protected]. > * > * $$Debian GNU\Linux$$ > * > */ > > /* > * $$Id: calendarJudaic.py,v ${PLACE_HOLDER_FOR_VERSION}$$ > */ > > #ifndef _calendar_judaic_ > #define _calendar_judaic_ > > LANG=UTF-8 > > /* > * Jewish calendar for the CE year ${PLACE_HOLDER_FOR_THR_CE_YEAR} > * ${PLACE_HOLDER_FOR_THE_JEWISH_START_OF_THE_CE_YEAR} - > ${PLACE_HOLDER_FOR_THE_JEWISH_END_OF_THE_CE_YEAR} */ > > ''' > > footer = ''' > > #endif /* !_calendar_judaic_ */''' > > substitutions_for_header = { > 'PLACE_HOLDER_FOR_VERSION' : version, > 'PLACE_HOLDER_FOR_THR_CE_YEAR' : str(year) > } > h.set_gdate(1, 1, year) > substitutions_for_header[ > 'PLACE_HOLDER_FOR_THE_JEWISH_START_OF_THE_CE_YEAR'] = \ > h.get_format_date(h.get_julian()) + ' ' + \ > h.get_hebrew_year_string() > h.set_gdate(31, 12, year) > substitutions_for_header[ > 'PLACE_HOLDER_FOR_THE_JEWISH_END_OF_THE_CE_YEAR'] = \ > h.get_format_date(h.get_julian()) + ' ' + \ > h.get_hebrew_year_string() > header = Template(template_for_header).substitute( > substitutions_for_header) > print header > > h.set_gdate(1, 1, year) > julian = h.get_julian() > for i in range(0, 365): > h.set_jd(julian) > julian += 1 > day = h.get_gday() > month = h.get_gmonth() > holyday = h.get_holyday_string(1) > if holyday: > print "%02d/%02d* %s" % (day, month, holyday) > parasha = h.get_parasha_string(julian) > if parasha != 'none': > print "%02d/%02d* Parshat %s" % (day, month, parasha) > > print footer > > sys.exit() > > > if __name__ == "__main__": > main() > else: > # The following is useful from within an interactive Python > # interpreter, where calendarJudaic.py is in the same `pwd`: > # >>> import calendarJudaic > pass > > $ cat calendar.judaic.2010 > /* > * Judaic Calendar. Created by calendar.judaic.py. > * Collaboratively authored by [email protected]. > * > * $Debian GNU\Linux$ > * > */ > > /* > * $Id: calendarJudaic.py,v 29-May-2010$ > */ > > #ifndef _calendar_judaic_ > #define _calendar_judaic_ > > LANG=UTF-8 > > /* > * Jewish calendar for the CE year 2010 > * 15 Tevet 5770 - 24 Tevet 5771 > */ > > > 02/01* Parshat Vayechi > 09/01* Parshat Shemot > 16/01* Parshat Vaera > 23/01* Parshat Bo > 30/01* Tu B'Shvat > 30/01* Parshat Beshalach > 06/02* Parshat Yitro > 13/02* Parshat Mishpatim > 14/02* Family Day > 20/02* Parshat Terumah > 25/02* Ta'anit Esther > 27/02* Parshat Tetzaveh > 28/02* Purim > 01/03* Shushan Purim > 06/03* Parshat Ki Tisa > 13/03* Parshat Vayakhel-Pekudei > 20/03* Parshat Vayikra > 27/03* Parshat Tzav > 30/03* Pesach > 31/03* Hol hamoed Pesach > 01/04* Hol hamoed Pesach > 02/04* Hol hamoed Pesach > 03/04* Hol hamoed Pesach > 04/04* Hol hamoed Pesach > 05/04* Pesach VII > 10/04* Parshat Shmini > 12/04* Yom HaShoah > 17/04* Parshat Tazria-Metzora > 19/04* Yom HaZikaron > 20/04* Yom HaAtzma'ut > 24/04* Parshat Achrei Mot-Kedoshim > 01/05* Parshat Emor > 02/05* Lag B'Omer > 08/05* Parshat Behar-Bechukotai > 12/05* Yom Yerushalayim > 15/05* Parshat Bamidbar > 18/05* Erev Shavuot > 19/05* Shavuot > 22/05* Parshat Nasso > 29/05* Parshat Beha'alotcha > 05/06* Parshat Sh'lach > 12/06* Parshat Korach > 19/06* Parshat Chukat > 26/06* Parshat Balak > 29/06* Tzom Tammuz > 03/07* Parshat Pinchas > 10/07* Parshat Matot-Masei > 11/07* Zhabotinsky day > 17/07* Parshat Devarim > 20/07* Tish'a B'Av > 24/07* Parshat Vaetchanan > 26/07* Tu B'Av > 31/07* Parshat Eikev > 07/08* Parshat Re'eh > 14/08* Parshat Shoftim > 21/08* Parshat Ki Teitzei > 28/08* Parshat Ki Tavo > 04/09* Parshat Nitzavim-Vayeilech > 09/09* Rosh Hashana I > 10/09* Rosh Hashana II > 11/09* Parshat Ha'Azinu > 12/09* Tzom Gedaliah > 18/09* Yom Kippur > 23/09* Sukkot > 24/09* Hol hamoed Sukkot > 25/09* Hol hamoed Sukkot > 26/09* Hol hamoed Sukkot > 27/09* Hol hamoed Sukkot > 28/09* Hol hamoed Sukkot > 29/09* Hoshana raba > 30/09* Shmini Atzeret > 30/09* Parshat Vezot Habracha > 02/10* Parshat Bereshit > 09/10* Parshat Noach > 16/10* Parshat Lech-Lecha > 20/10* Rabin memorial day > 23/10* Parshat Vayera > 30/10* Parshat Chayei Sara > 06/11* Parshat Toldot > 13/11* Parshat Vayetzei > 20/11* Parshat Vayishlach > 27/11* Parshat Vayeshev > 02/12* Chanukah > 03/12* Chanukah > 04/12* Chanukah > 04/12* Parshat Miketz > 05/12* Chanukah > 06/12* Chanukah > 07/12* Chanukah > 08/12* Chanukah > 09/12* Chanukah > 11/12* Parshat Vayigash > 17/12* Asara B'Tevet > 18/12* Parshat Vayechi > 25/12* Parshat Shemot > > > #endif /* !_calendar_judaic_ */ > > > The file that is currently included in the distribution is the > following: > > $ cat /usr/share/calendar/calendar.judaic.2007 > /* > * Judaic Calendar. Maintained by Josef Grosch > <[email protected]>. * > * $FreeBSD$ > * > */ > > /* > * $Id: calendar.judaic,v 1.45 2007/01/01 22:24:53 jgrosch Exp $ > */ > > #ifndef _calendar_judaic_ > #define _calendar_judaic_ > > LANG=UTF-8 > > /* > * Jewish calendar for the CE year 2007 > * 11 Tevet 5767 - 22 tevet 5768 > */ > > > 01/06* Parshas Vayechi > 01/13* Parshas Shemos > 01/20* Parshas Vaera > 01/20* Rosh Chodesh Shevat (Beginning of the month of Shevat) > 01/27* Parshas Bo > 02/03* Parshas Beshalach > 02/03* Shabbos Shira > 02/03* Tu B'Shevat (Feast of Trees) > 02/10* Parshas Yisro > 02/17* Parshas Mishpatim > 02/17* Shabbos Shekalim > 02/18* Rosh Chodesh Adar (Beginning of the month of Adar) > 02/18* Be Happy! It's Adar > 02/19* Rosh Chodesh Adar (Beginning of the month of Adar) > 02/19* Be Happy! It's Adar > 02/24* Parshas Terumah > 03/01* Ta'anis Esther (Fast of Esther, Battle of Purim) > 03/03* Parshas Tetzaveh > 03/03* Shabbos Zachor > 03/04* Purim (Feast of Lots) > 03/05* Shushan Purim > 03/10* Parshas Ki Sisa > 03/10* Shabbos Parah > 03/17* Parshas Vayakhel-Pekudei > 03/17* Shabbos HaChodesh > 03/20* Rosh Chodesh Nissan (Beginning of the month of Nissan) > 03/24* Parshas Vayikra > 03/31* Parshas Tzav > 03/31* Shabbos Haggadol > 04/02* Erev Pesach > 04/02* Ta'anis Bechoros (Fast of the First Born) > 04/02* First Seder night > 04/03* Pesach (First Day of Passover; sabbatical) > 04/03* Second Sedar night > 04/04* Pesach (Second Day of Passover; sabbatical) > 04/04* Sefirat ha-Omer begins (Counting of the Omer) > 04/05* Omer 2nd day > 04/05* Pesach (Third Day of Passover; sabbatical) > 04/05* Hol Hamoed > 04/06* Omer 3rd day > 04/06* Pesach (Fourth Day of Passover) > 04/06* Hol Hamoed > 04/07* Omer 4th day > 04/07* Pesach (Fifth Day of Passover) > 04/07* Hol Hamoed > 04/08* Omer 5th day > 04/08* Pesach (Sixth Day of Passover) > 04/08* Hol Hamoed > 04/09* Omer 6th day > 04/09* Pesach (Seventh Day of Passover) > 04/10* Omer 7th day > 04/10* Pesach (Last Day of Passover; 8th day of Pesach; sabbatical) > 04/10* Yizkor > 04/11* Omer 8th day > 04/12* Omer 9th day > 04/13* Omer 10th day > 04/14* Omer 11th day > 04/14* Parshas Shmini > 04/15* Omer 12th day > 04/15* Yom HaShoah (Holocaust Memorial Day) > 04/16* Omer 13th day > 04/17* Omer 14th day > 04/18* Omer 15th day > 04/18* Rosh Chodesh Iyar (Beginning of the month of Iyar) > 04/19* Omer 16th day > 04/19* Rosh Chodesh Iyar (Beginning of the month of Iyar) > 04/20* Omer 17th day > 04/21* Omer 18th day > 04/21* Parshas Tazria-Metzora > 04/22* Omer 19th day > 04/23* Omer 20th day > 04/23* Yom HaZikaron > 04/24* Omer 21st day > 04/24* Yom HaAtzma'ut (Israel Independence Day) > 04/25* Omer 22nd day > 04/26* Omer 23th day > 04/27* Omer 24th day > 04/28* Omer 25th day > 04/28* Parshas Achrei Kedoshim > 04/29* Omer 26th day > 04/30* Omer 27th day > 05/01* Omer 28th day > 05/02* Omer 29th day > 05/03* Omer 30th day > 05/04* Omer 31st day > 05/05* Omer 32nd day > 05/05* Parshas Emor > 05/06* Lag B'Omer (Commemoration of the Great Rebellion) > 05/06* Omer 33th day > 05/07* Omer 34th day > 05/08* Omer 35th day > 05/09* Omer 36th day > 05/10* Omer 37th day > 05/11* Omer 38th day > 05/12* Omer 39th day > 05/12* Parshas Behar-Bechukosai > 05/13* Omer 40th day > 05/14* Omer 41st day > 05/15* Omer 42nd day > 05/16* Omer 43th day > 05/16* Yom Yerushalayim (Reunification of Jerusalem) > 05/17* Omer 44th day > 05/18* Omer 45th day > 05/18* Rosh Chodesh Sivan (Beginning of the month of Sivan) > 05/19* Omer 46th day > 05/19* Parshas Bamidbar > 05/20* Omer 47th day > 05/21* Omer 48th day > 05/22* Erev Shavuos > 05/22* Omer 49th day > 05/23* Shavuos (Festival of Weeks; sabbatical) > 05/24* Shavuos (Festival of Weeks; sabbatical) > 05/24* Yizkor > 05/26* Parshas Nasso > 06/02* Parshas Beha'aloscha > 06/09* Parshas Shelach Lecha > 06/16* Parshas Korach > 06/16* Rosh Chodesh Tammuz (Beginning of the month of Tammuz) > 06/17* Rosh Chodesh Tammuz (Beginning of the month of Tammuz) > 06/23* Parshas Chukas > 06/30* Parshas Balak > 07/03* Fast of Shiv'a Asar B'Tammuz (Romans breach Wall of > Jerusalem; fast day) 07/03* Tzom Tammuz > 07/07* Parshas Pinchas > 07/14* Parshas Matos-Masei > 07/16* Rosh Chodesh Av (Beginning of the month of Av) > 07/21* Parshas Devarim > 07/21* Shabbos Hazon > 07/24* Fast of Tish'a B'Av (Babylon/Rome destroys Holy Temple; fast > day) 07/28* Parshas Vaeschanan > 07/28* Shabbos Nachamu > 07/30* Tu B'Av > 08/04* Parshas Eikev > 08/11* Parshas Re'eh > 08/14* Rosh Chodesh Elul (Beginning of the month of Elul) > 08/15* Rosh Chodesh Elul (Beginning of the month of Elul) > 08/18* Parshas Shoftim > 08/25* Parshas Ki Tetze > 09/01* Parshas Ki Savo > 09/08* Parshas Nitzavim-Vayeilech > 09/12* Erev Rosh Hashana > 09/13* First Day of Rosh Hashanah (Jewish New Year; 5768; > sabbatical) 09/13* Rosh Chodesh Tishrei (Beginning of the month of > Tishrei) 09/14* Rosh Hashanah (sabbatical) > 09/15* Parshas Ha'Azinu > 09/15* Shabbos Shuvah > 09/16* Fast of Gedalya (Murder of Gedalya and subsequent Exile; fast > day) 09/16* Tzom Gedaliah > 09/21* Erev Yom Kippur > 09/22* Yom Kippur (Day of Atonement; sabbatical, fast day) > 09/22* Yizkor > 09/26* Erev Sukkos > 09/27* Succos (Festival of Tabernacles; sabbatical) > 09/28* Succos (sabbatical) > 09/28* Sukkos (Second day of Sukkos) > 09/29* Sukkos (Third day of Sukkos) > 09/29* Hol Hamoed > 09/30* Sukkos (Fourth day of Sukkos) > 09/30* Hol Hamoed > 10/01* Sukkos (Fifth day of Sukkos) > 10/01* Hol Hamoed > 10/02* Sukkos (Sixth day of Sukkos) > 10/02* Hol Hamoed > 10/03* Hoshanah Rabba (Seventh day of Succos) > 10/03* Sukkos (Seventh day of Sukkos) > 10/04* Shmini Atzeres (8th Day of Gathering; sabbatical) > 10/04* Yizkor > 10/05* Simchas Torah (Rejoicing of the Law; sabbatical) > 10/06* Parshas Bereshis > 10/12* Rosh Chodesh Heshvan (Beginning of the month of Heshvan) > 10/13* Parshas Noach > 10/13* Rosh Chodesh Heshvan (Beginning of the month of Heshvan) > 10/20* Parshas Lech-Lecha > 10/27* Parshas Vayera > 11/03* Parshas Chayei Sara > 11/10* Parshas Toldos > 11/11* Rosh Chodesh Kislev (Beginning of the month of Kislev) > 11/17* Parshas Vayetzei > 11/24* Parshas Vayishlach > 12/01* Parshas Vayeshev > 12/04* Erev Chanukah > 12/04* Light 1st candle > 12/05* Chanukah (First Day) > 12/05* Light 2nd candle > 12/06* Chanukah (Second Day) > 12/06* Light 3rd candle > 12/07* Chanukah (Third Day) > 12/07* Light 4th candle > 12/08* Chanukah (Fourth Day) > 12/08* Parshas Miketz > 12/08* Light 5th candle > 12/09* Chanukah (Fifth Day) > 12/09* Light 6th candle > 12/10* Chanukah (Sixth Day) > 12/10* Rosh Chodesh Tevet (Beginning of the month of Tevet) > 12/10* Light 7th candle > 12/11* Chanukah (Seventh Day) > 12/11* Light 8th candle > 12/12* Chanukah (Eight Day) > 12/15* Parshas Vayigash > 12/19* Asara B'Tevet > 12/19* Fast of Asara B'Tevet (Babylonians put siege on Jerusalem; > fast day) 12/22* Parshas Vayechi > 12/29* Parshas Shemos > > > #endif /* !_calendar_judaic_ */ > > > _________________________________________________________________ > Hotmail: שירות דואר אלקטרוני מהימן ועשיר המסופק בחינם. > https://signup.live.com/signup.aspx?id=60969 > _______________________________________________ > Linux-il mailing list > [email protected] > http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il -- Stan Goodman Qiryat Tiv'on Israel _______________________________________________ Linux-il mailing list [email protected] http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
