2014-10-09 26 views
0

我負責將系統從WebLogic移植到JBoss。這個系統的組件通常打包成RPM,並通過rpm部署在運行Linux的服務器上。這些RPM時間戳宏從何而來?

其中一個spec文件定義了以下內容。

MM=%m ; DD=%d ; YY=%y ; HH24=%H ; MI=%M ; SS=%S ; DATETIME=${MM}${DD}${YY}.${HH24}${MI}${SS} 

這顯然是某種形式的時間戳格式機制,其輸出(DATETIME)獲取日誌條目被寫入寫入。我試圖理解這些宏(%m,%d,%y)等等的來源。看起來他們似乎是這些宏的源代碼可能是由rpm程序本身預定義的。我可以在rpm手冊頁或通過多次Google嘗試找到沒有明確的文檔,但我確實發現這可能是這種情況。

是否有人可以確認這些宏是否在調用rpm時定義或未定義,並提供相同的文檔?

更新:Wumpus問:Wumbley指出,這些看起來像strftime格式符號可疑。我同意,那麼問題就變成了,是否將strftime格式符號視爲宏的一個特徵,可能沒有文檔說明rpm?

+1

他們看起來像[strftime](http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html)格式 – 2014-10-09 14:57:03

+0

我同意你的看法。更新帖子。 – 2014-10-09 15:04:29

+1

DATETIME變量設置後會發生什麼?它是否傳遞給像'date + $ {DATETIME}'這樣的'date'命令?這將是一種解釋strftime格式而不直接以rpm支持的方式。 – 2014-10-09 17:21:47

回答

0

%用於構建DATETIME的代碼看起來像strftime格式。如果rpm擴展了時間格式字符串,那麼這個事實應該記錄在某處。另一方面,如果spec文件將它們傳遞給像date +${DATETIME}這樣的外部命令,那麼您只需要查看該外部命令的文檔。

+0

謝謝。 rpm-spec語言中的%符號的含義不明確(實際上,這是在一個從rpm規範中調用的腳本中)使我困惑,但它只是一個字符串文字。這裏沒有無證的功能。謝謝。 – 2014-10-10 12:09:09