summaryrefslogtreecommitdiffstats
path: root/UPDATING
blob: ed14d14b8fadd8c4fb62feda9647ebf26628209c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
-----------------------------------------------------------------------------
PTT BBS [Current] Updating Log (in Big5 encoding)
$Id$
-----------------------------------------------------------------------------

這裡是 PTT Current 的重大更新記錄,主要是「檔案格式」或位置的重要改變、
通常是更新程式碼時要注意一起更新的部份。

跟著 Current 一起昇級的朋友們要注意是否有跨過下列的版號,若有請依序手動更新。
會列在這裡的版號,強烈建議先整個關站再更新。

關於該版號的進一步訊息,可用 https://opentrac.csie.org/pttbbs/changeset/
來查詢,如下面列 r2273 的查詢網址就是
https://opensvn.csie.org/traccgi/pttbbs/changeset/2273

註: 昇級時的檔案很多在 upgrade 目錄底下,若是有 *.c 的,多半用
    make XXXX 就可以編譯出來,如
    make r3968_chicken
    make r4035_regnew
    make r4194_passwd
    make r4826_numlogin
    make r4848_watermode
    make r4871_uflag

-----------------------------------------------------------------------------
r4886: [dbcs]
加了 repeat detection 的 DBCS 還不錯,所以正式脫離使用 detection 界面的日子
有需要作全站轉換的人請自見拿 r4871 去改
NOTE: 或許未來可以把 DBCSAWARE 的 conditional compile flag 拿掉

r4871: [uflag]
由於兩個 uflag 實在太容易令人寫錯、而且 uflag 的空間還很大,
決定把 uflag/uflag2 整合。
請注意 util/bbsmail 要重 build (因為它會看 (cuser.uflags2 & REJ_OUTTAMAIL))

r4848: [water mode]
決定把 uflag2 的 WATERMODE (2 bit) 移出來放到獨立的變數。
uflag / uflag2 還是放單一 bit 的東西較好。

r4841: [shm size tag]
由於站台設定變動後導致 SHM 大小不同 (eg, MAX_BOARDS) 然後有 utility 沒 build
到的問題再次發生,所以我們開啟了 size check. 請重 build 所有程式並重開 SHM。

r4826: [numlogindays, lastseen]
numlogins 的算法有調整,並且改名為 numlogindays;
lastlogin 也多了一個叫 lastseen (別人 talk->query 到的值)
lastlogin 只要登入就一定會更新,lastseen 則否。
另,這個 r4826 的 upgrade 是 optional 的,不跑也不 ok,
只是看你要不要一併調整 numlogin 的值。

r4483: [mbbsd command option]
從這版開始, mbbsd 的 command line 參數改變. 使用 getopt 處理參數.
譬如原本
 $ mbbsd 23 3000
改成
 $ mbbsd -d -p 23 -p 3000

mbbsd, bbsrf, bbsctl 得一起更新, 並記得 install.
若自己有另外寫 start-up script, 記得修改.

r4306: [SHM/from_alias]
故鄉從此版起有所調整。
原 from_alias 改成 from_ip 方便直接照 IP 排序。 (SHM 大小理應沒有變動)
currutmp->from 改為純顯示用。
為正確排序也避免舊 talk.c 把 from_ip 拿去查 from_alias 的表,
在安裝此 patch 後請記得重編 shmctl 跟 mbbsd 並關站後重新執行 shmctl。


r4194: [PASSWD/STRUCT]
*** PASSWD 調整: 此板把 r3968 的空間拿來放職業與電話了,
    請關站並執行 upgrade/r4194_passwd 昇級。

!!! 由此版起,我們把禁止 padding 的宣告加進會寫入 disk 的結構裡。
    要注意的是如果你之前已經因為各種原因造成 padding 了,
    請自行寫轉換程式或是註解掉 pttstruct.h 內的 PACKSTRUCT
    各結構的參考大小都已標上。

    mbbsd/testsz.c 現在可以方便你計算與比較各結構大小。
    另外請注意如果你是在 64 bit 機器上使用卻又沒 #define TIMET64
    很可能就會製造出一堆 padding。

r4151: [REGISTER]
由於 PTT1/PTT2  轉換測試一切正常, 正式改用 Regform v2 的程式碼。
請比照 r4035 確定你已經把 register.new 給轉移好了。

r4132: [REGISTER]
upgrade/r4132_reglog2db.py 可以幫助你把 register.log
轉換成 sqlite3 資料庫。
未來可利用這個資料庫進行認證資料的重建。 (r4194 有較簡易的重建工具)

r4051: [CONF]
所有的 GLOBAL_* 板名定義現全改為 BN_*
請記得更新你的 pttbbs.conf

r4035: [REGISTER]
註冊系統導入 Regform v2, 請用 upgrade/r4035_regnew 轉移已填註冊單。
(Regform2 可由 USE_REGFORM2 開啟)

r3968: [CHICKEN]
把 Chicken 搬出 PASSWD, 並且改用 mmap 同步。
請記得關站後執行 upgrade/r3968_chicken 轉移資料後再重開 BBS。

r3153: [CHESS]
chess framework update
!!!NOTE!!! Chess protocals are NOT backward compatible
RESTART WHOLE system to ensure correctness

r2459: [SHM]
SHM_t 增加版本號碼, 若版本不合請關站重開.

r2374: [SHM]
把 ptt.linux merge 到 trunk
SHM_t 中所有的 pointer 都改成 index 了
由於這個更動有改到 SHM 的結構,所以請在關站之後再將新版本上線

r2366:
trunk 與 stable 第一次分枝

r2341: [SHM]
SHM_t update, 為了修某一個 race condition並拿掉幾個沒在用的欄位
由於這個更動有改到 SHM 的結構,所以請在關站之後再將新版本上線

r2273: [PASSWDS]
對於 userec_t structure 的一些修改, 以下這些動作得在 bbs 關掉之後進行:
請到 util/ 下 make passwdconverter
然後執行 passwdconverter 會把 BBSHOME/.PASSWDS 轉換之後
產生 BBSHOME/.PASSWDS.trans.tmp
用這個檔蓋掉 .PASSWDS 就好了 :)

r2176: [SHM]
etc/domain_name_query 改為 etc/domain_name_query.cidr 
格式為  CIDR format , 您可以直接拿 Ptt/Ptt2 目前所使用的設定檔來用
由於這個更動有改到 SHM 的結構,所以請在關站之後再將新版本上線

r1409: [etc]
expire 程式修正, 原本的用法是 expire [days [maxp [minp]]]
現在透過 getopt() 來做, 變成 expire [-d days] [-M maxp] [-m minp] [board names]
最後面可以指定一群板名, 若不指定的話表示 "全部看板"
請檢查你的 crontab!

[from OpenPTT 1.0.2]
.DIR 有變, .BOARDS 變 .BRD, ...
請見 PTT2 PttSrc 板