4.3.1JP-RC3(+SP3.1118)

4.X系の開発

モデレータ: 暇人, YoN, nyu

新谷
記事: 934
登録日時: 08/10/09(木) 18:52
お住まい: 大阪

Re: 4.3.1JP-RC3

投稿記事 by 新谷 »

姑の小言シリーズです。

SP3.1114の /usr/local/bin/meeview は meebview のtypo ですよね。

あとRC3 本体ISOの方の
/usr/local/net_setup/usr/sbin/ndiswrapperGUI.sh.sh が
同ディレクトリの ndiswrapperGUI.sh と重複です。
新谷
記事: 934
登録日時: 08/10/09(木) 18:52
お住まい: 大阪

Re: 4.3.1JP-RC3

投稿記事 by 新谷 »

他は姑チックにテストしてみた限りでは、問題なさげでした。
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Re: 4.3.1JP-RC3

投稿記事 by シノバー »

新谷 さんが書きました:SP3.1114の /usr/local/bin/meeview は meebview のtypo ですよね。
うわうわ :oops:
新谷 さんが書きました:RC3 本体ISOの方の
/usr/local/net_setup/usr/sbin/ndiswrapperGUI.sh.sh が
同ディレクトリの ndiswrapperGUI.sh と重複です。
了解。次回リマスタ時に除いておきます。
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

snapmergepuppy

投稿記事 by シノバー »

設定した「接続」情報を覚えてくれません
viewtopic.php?f=32&t=1405#p10282
で発見したのですが、

/usr/sbin あるいは /usr/sbin/C, /usr/sbin/ja にある snapmergepuppy
第97-98行目

コード: 全て選択

#Copy Files... v409 remove '^var'. w003 screen out some /dev files.
find . -mount -not \( -regex '.*/\.wh\.[^/]*' -type f \) -not -type d |  sed -e 's/\.\///' | grep -v -E '^mnt|^initrd|^proc|^sys|^tmp|^pup_|^zdrv_|^root/tmp|_zdrv_|^dev/\.|^dev/fd|^dev/pts|^dev/shm' | grep -v -E -i '\.thumbnails|trash|\.part$'  |
puppy 4.0では /var以下は保存されなかったが、puppy 4.1では保存されるみたいですね。
しかし少なくとも /var/run 以下は保存しないことにしないと、トラブルの出る場合があります。
他にも /var/lockとか。
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Re: snapmergepuppy

投稿記事 by シノバー »

/usr/sbin/snapmergepuppy のそこのところを次のように |^var/run|^ver/lock|^root/tmp を書き加えるとうまくいくようです。/root/my-documents/tmpはCD/DVDにセッションを保存する場合にのみ消されるのが仕様のようでした。

コード: 全て選択

#Copy Files... v409 remove '^var'. w003 screen out some /dev files. #v431JP do not save /var/run, /var/lock(s), /root/tmp
find . -mount -not \( -regex '.*/\.wh\.[^/]*' -type f \) -not -type d |  sed -e 's/\.\///' | grep -v -E '^mnt|^initrd|^proc|^sys|^tmp|^var/run|^ver/lock|^root/tmp|^pup_|^zdrv_|^root/tmp|_zdrv_|^dev/\.|^dev/fd|^dev/pts|^dev/shm' | grep -v -E -i '\.thumbnails|trash|\.part$'  |
ところで、この中にyaf-splashをポップアップするところがあります。これがどうも日本語になりません。
/sbin/pup_event_frontend_d から nice を介して snapmergepuppy が呼ばれるのですが、環境変数 LANGを伝達する方法が分かりません。
/etc/profile から読み取るという方法もあるのですが、そこまでして日本語化する必要はないのではないか。このスクリプトはかなり重要な作業を司るので、あまりいじりたくないということもありますし。

このポップアップ、どのようなときに出るかというと
  1. フラッシュメモリよりpupsave付き起動し、
  2. パピーのフリーエリアが 200kB以下の状態で
  3. デスクトップ上の「save」ボタンを押したとき、および保存間隔(デフォルトで30分)に達したとき(追記
この場合、すでに pup_event_frontend_dより「警告: 個人保存ファイルの残量が少なくなっています。個人保存ファイルをリサイズ、あるいは不要なファイルを削除してください。」というのが出ているはず。←追記:実験してみると出なかった
添付ファイルを見るにはパーミッションが必要です
最後に編集したユーザー シノバー [ 09/11/16(月) 16:25 ], 累計 2 回
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Re: snapmergepuppy

投稿記事 by シノバー »

シノバー さんが書きました:このポップアップ、どのようなときに出るかというと
  1. フラッシュメモリよりpupsave付き起動し、
  2. パピーのフリーエリアが 200kB以下の状態で
  3. デスクトップ上の「save」ボタンを押したとき
この場合、すでに pup_event_frontend_dより「警告: 個人保存ファイルの残量が少なくなっています。個人保存ファイルをリサイズ、あるいは不要なファイルを削除してください。」というのが出ているはず。
上記3のボタンを押したときだけではなく、保存間隔(デフォルトでは30分)に達したときにも出ます。

実験してみたところ、pup_event_frontend_dからの警告は出ませんね。
どうもフラッシュメモリ(pmedia=*flash)のときの動きと通常のHD(いずれもFrugal)の場合ではパピースペースのフリーエリアの表示が異なるようです。

で、また新たな問題を発見しました。
フラッシュメモリにFrugalインストールしてpupsaveが作られているとき(上記1の状態)、たとえば /root/my-documentsなどに大きいファイルを入れても、いっこうにフリーエリアの表示が減りませんし、警告も出ません(上記3のデスクトップ上の「save」ボタンを押したときと、保存間隔に達したときに、さきの警告メッセージ「WARNING! Unable to save all files. You need to delete some.」が4秒間表示される)。
これでシャットダウンすると、「Saving session...」という表示が出て、なんの警告もなくシャットダウンするが、けっきょくそのセッションは保存されていない。
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Re: snapmergepuppy

投稿記事 by シノバー »

シノバー さんが書きました:どうもフラッシュメモリ(pmedia=*flash)のときの動きと通常のHD(いずれもFrugal)の場合ではパピースペースのフリーエリアの表示が異なるようです。
フラッシュメモリのときに限り pupsave.2fsは /initd/pup_ro1 にマウントされ、タスクバー右のほうにある空き容量はこちらを表示しているようです。
一時記憶は /initd/pup_rw であって、こちらはメインメモリを使っているらしく、(BIOSが認識する)実装RAMサイズのおよそ半分。

30分おきに、あるいはデスクトップの「save」ボタンを押すと pup_rw(RAM上)とpup_ro1(pupsave.2fs)との同期が取られます。
このときpupsave.2fsのサイズよりも pup_rwのサイズが大きいと、さきのsnapmergepuppyからの警告が出て、同期は放棄されます。したがっていっこうに空き容量表示は変化しません。

snapmergepuppyからの警告が読めさえすれば、これはこれで仕様的によいのかもしれないが、問題はこの状態でシャットダウンしたときに起こります。

警告なくセッションが保存されずにシャットダウンする。 
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Re: snapmergepuppy

投稿記事 by シノバー »

シノバー さんが書きました:フラッシュメモリのときに限り pupsave.2fsは /initd/pup_ro1 にマウントされ、タスクバー右のほうにある空き容量はこちらを表示しているようです。
一時記憶は /initd/pup_rw であって、こちらはメインメモリを使っているらしく、(BIOSが認識する)実装RAMサイズのおよそ半分。
ここで、奇妙なことに気付きました。

実装RAMが256MBで、512MBのpupsaveを作ったとします。
当初は空き容量表示がおよそ500MBとなっています。
そこでopenlabのダウンロードサイトからパピー4.3用OpenOfficeOrgのSFSファイルopenoffice-3.1.1JP_wJRE-sfs4.sfsをダウンロードしてみます。
seamonkeyのデフォルトではダウンロード先は /root/my-documentsとなっています。そのとおりにダウンロードしてみます。ダウンロードするファイルの大きさは約200MB、空き容量は約500MBありますから問題ないはずです。

じっさい通常のハードディスクですと問題ありません。ダウンロードが進むにしたがい空き容量表示が減ってゆき、ダウンロードが完了すると空き容量表示は約300MB。

ところが、フラッシュメモリだと、ダウンロードが始まっても空き容量は約500MBの表示のまま変化しません。seamonkeyのダウンロードマネージャは進行を示していて、100MBほど進んだところで「警告: RAMの空きスペースが、たった 20MBとなっています。 リブートしてRAMの空きを回復してください。」というポップアップが現れ、20MBの数字がカウントダウンしていき、0MBになったところで「ダウンロード失敗」となります。空き容量表示は相変わらず約500MBのまま。

これは空き容量表示はpup_ro1(pupsave.2fs)で、じっさい約500MB空いているが、RAM上に取られたpup_rw(tmpfs)が約120MBしかないためです。この大きさはスワップを用意していても関係ない模様。
(それぞれの大きさは端末から df -m コマンドで知られる。スワップの様子は free コマンドなど。)

この例の場合、空き容量表示をpup_ro1(pupsave.2fs)ではなくpup_rw(tmpfs)にほうの空き容量を表示すれば良いように思えます。

しかし、そうすると実装RAMが3GBある場合には空き容量表示は約1.6GBとなり、それでは640MBくらいのisoファイルを /root/my-documentsにダウンロードできるのかというと、ダウンロードまでは確かにできるが、512MBしかないpup_ro1(pupsave.2fs)のほうにsaveできなくなります。
The bar master, Shino's Bar
http://shinobar.net/
新谷
記事: 934
登録日時: 08/10/09(木) 18:52
お住まい: 大阪

Re: snapmergepuppy

投稿記事 by 新谷 »

お疲れ様です。実験してみました。おおよそシノバーさんと同様の感想をもちました。
追記で幾つか。
シノバー さんが書きました:ところで、この中にyaf-splashをポップアップするところがあります。これがどうも日本語になりません。
/sbin/pup_event_frontend_d から nice を介して snapmergepuppy が呼ばれるのですが、環境変数 LANGを伝達する方法が分かりません。
/etc/profile から読み取るという方法もあるのですが、そこまでして日本語化する必要はないのではないか。このスクリプトはかなり重要な作業を司るので、あまりいじりたくないということもありますし。
うちでも確認とれました。確かに英語でした。う~ん、最悪、

コード: 全て選択

LANG=$LANG yaf-splash "ほにゃらら"
とかでいいかも、と思いました。それで、
シノバー さんが書きました:このポップアップ、どのようなときに出るかというと
  1. フラッシュメモリよりpupsave付き起動し、
  2. パピーのフリーエリアが 200kB以下の状態で
  3. デスクトップ上の「save」ボタンを押したとき、および保存間隔(デフォルトで30分)に達したとき(追記
よく考えたら、この時点でメッセージがでても初心者にはどうしようもないですね。
1. どのくらい容量オーバーか(詳しく調べないと)分からない
2. ファイルを消しても空き容量表示が変化しない
3. で、(詳しく調べない限り)勘に頼るしかない

ので、snapmergepuppyのメッセージは若干詳細を追加して日本語化してもいいかも、と思いました。
このエラーは「重要度が結構高い&多分心当たりがユーザにもある」ものなんで多少長い方がいいかも、という気もします。
シノバー さんが書きました:この場合、すでに pup_event_frontend_dより「警告: 個人保存ファイルの残量が少なくなっています。個人保存ファイルをリサイズ、あるいは不要なファイルを削除してください。」というのが出ているはず。←追記:実験してみると出なかった
ペットパッケージ導入のケース以外で、残量が少なくなった場合は確かに出ませんでした。う~ん。
シノバー さんが書きました:フラッシュメモリにFrugalインストールしてpupsaveが作られているとき(上記1の状態)、たとえば /root/my-documentsなどに大きいファイルを入れても、いっこうにフリーエリアの表示が減りませんし、警告も出ません(上記3のデスクトップ上の「save」ボタンを押したときと、保存間隔に達したときに、さきの警告メッセージ「WARNING! Unable to save all files. You need to delete some.」が4秒間表示される)。
これでシャットダウンすると、「Saving session...」という表示が出て、なんの警告もなくシャットダウンするが、けっきょくそのセッションは保存されていない。
シノバー さんが書きました:30分おきに、あるいはデスクトップの「save」ボタンを押すと pup_rw(RAM上)とpup_ro1(pupsave.2fs)との同期が取られます。
このときpupsave.2fsのサイズよりも pup_rwのサイズが大きいと、さきのsnapmergepuppyからの警告が出て、同期は放棄されます。したがっていっこうに空き容量表示は変化しません。

snapmergepuppyからの警告が読めさえすれば、これはこれで仕様的によいのかもしれないが、問題はこの状態でシャットダウンしたときに起こります。

警告なくセッションが保存されずにシャットダウンする。
フラッシュメモリーに保存ファイルを置いた場合、
「フラッシュにしょっちゅう書き込むとドライブの寿命を縮めるから最低限の書き込みにする」
というポリシーでいく限り、書き込みサイズと空き容量表示の乖離が、ある程度できるのはしょうがないかなぁ、という気もしました (しかし、空き容量表示の正確性については技術的に改善できそうなかなぁ...??)。
シノバー さんが書きました:この例の場合、空き容量表示をpup_ro1(pupsave.2fs)ではなくpup_rw(tmpfs)にほうの空き容量を表示すれば良いように思えます。

しかし、そうすると実装RAMが3GBある場合には空き容量表示は約1.6GBとなり、それでは640MBくらいのisoファイルを /root/my-documentsにダウンロードできるのかというと、ダウンロードまでは確かにできるが、512MBしかないpup_ro1 (pupsave.2fs)のほうにsaveできなくなります。
これは....しょうがないですよねぇ...。
最後に編集したユーザー 新谷 [ 09/11/17(火) 07:20 ], 累計 3 回
新谷
記事: 934
登録日時: 08/10/09(木) 18:52
お住まい: 大阪

Re: snapmergepuppy

投稿記事 by 新谷 »

....で結論としては、
どこか(snapmergepuppyとか)に若干詳しい警告を置いてみるのはどうか、という感じでしょうか。

「フラッシュメモリーから起動した場合は、空き容量表示が必ずしも正確でない場合があり、あらかじめ充分な容量を確保しておくことをお勧めします云々.....」など
「フラッシュメモリーから起動した場合、保存ファイルにセーブされる内容は/initd/pup_rw にあって、このサイズは....云々」など

....なんか、まとまりのない文章ですいません。
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Re: snapmergepuppy

投稿記事 by シノバー »

ひとつの方法は、空き容量表示としてpop_ro1とpup_rwの両方を勘案したものにするという方法です。/sbin/pup_event_frontend_d内のfree_flash_func()を修正することで、これは可能です。

その論理は、flashメモリなどpop_ro1を使う場合について、
  1. 利用できるスペース総量をpop_ro1とpup_rwそれぞれ総量のうち小さいほうとする。
  2. 使用量はpup_rwのものとする。
  3. (1)のスペース総量から(2)使用量を引いた残りを空き容量表示とする。
  4. 警告は(3)の空き容量表示をもとにpup_event_frontend_dから出す。
これだと警告は空き容量表示と一致し、そのチェック頻度は4秒間隔となります。フラッシュメモリへの書き込みは従来どおり。デフォルトなら30分。

今日は時間が取れないかもしれませんが、明日にでも試作品を用意します。
最後に編集したユーザー シノバー [ 09/11/17(火) 10:41 ], 累計 1 回
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

設定した「接続」情報を覚えてくれません

投稿記事 by シノバー »

設定した「接続」情報を覚えてくれません で、/var/run/dhcpcd-eth0.pidが残る問題はsnapmergepuppyの修正でいちおうは解決します。
viewtopic.php?f=32&t=1405#p10282
viewtopic.php?f=28&t=1444&start=45#p10285
しかし、そもそも/var/run/dhcpcd-eth0.pidがシャットダウン時にまでなぜ残っていたのかという大本の問題が不明です。

シャットダウン時にはrc.shutdownからrc.networkが呼ばれ、wag-profiles.shの中のcleanUpInterface()関数からさらにkillDhcpcd()関数が呼ばれ、その中でdhcpcdがkillされたあとdhcpcd-eth0.pidは消されるはずです。

シャットダウンのプロセスはあらまし次のように制御が移ります。
このとおりの順番であれば、pupsave内にdhcpcd-eth0.pidは残らないはず。
  1. /usr/bin/wmpoweroff
  2. /usr/bin/pupsaveconfig
  3. /usr/bin/wmpoweroff
  4. /usr/bin/xwin
  5. /sbin/poweroff
  6. /etc/rc.d/rc.shutdown
  7. /etc/rc.d/rc.network stop
  8. /etc/rc.d/rc.shutdown
  9. /usr/sbin/snapmergepuppy
  10. /etc/rc.d/rc.shutdown
  11. /bin/busybox poweroff
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

pup_event_frontend_d

投稿記事 by シノバー »

シノバー さんが書きました:ひとつの方法は、空き容量表示としてpop_ro1とpup_rwの両方を勘案したものにするという方法です。/sbin/pup_event_frontend_d内のfree_flash_func()を修正することで、これは可能です。

その論理は、flashメモリなどpop_ro1を使う場合について、
  1. 利用できるスペース総量をpop_ro1とpup_rwそれぞれ総量のうち小さいほうとする。
  2. 使用量はpup_rwのものとする。
  3. (1)のスペース総量から(2)使用量を引いた残りを空き容量表示とする。
  4. 警告は(3)の空き容量表示をもとにpup_event_frontend_dから出す。
これだと警告は空き容量表示と一致し、そのチェック頻度は4秒間隔となります。フラッシュメモリへの書き込みは従来どおり。デフォルトなら30分。
荒削りですが、/sbin/pup_event_frontend_dを修正したものを上げておきます。
変更部分はフラッシュメモリの場合だけに影響します。
この場合の警告は残り20MB以下で表示が赤色に、残り10MB以下で警告がポップアップします(ハードディスクの場合は20MB以下からカウントダウン)。
空き容量表示がマイナスになることもあります。これは仕様です。
添付ファイルを見るにはパーミッションが必要です
The bar master, Shino's Bar
http://shinobar.net/
新谷
記事: 934
登録日時: 08/10/09(木) 18:52
お住まい: 大阪

Re: pup_event_frontend_d

投稿記事 by 新谷 »

pup_event_frondend_d-1117 の417行目から

コード: 全て選択

 # 17nov09 SIZEFREEM by shinobar
 SIZEM=`df -m | grep ' /initrd/pup_ro1$' | tr -s ' ' | cut -f 2 -d ' '`
 SIZESM=`df -m | grep ' /initrd/pup_rw$' | tr -s ' ' | cut -f 2 -d ' '`
 [ $SIZESM -lt $SIZEM ] && SIZEM=$SIZESM
 SIZEUM=`df -m | grep ' /$' | tr -s ' ' | cut -f 3 -d ' '`
 SIZEFREEM=$(expr $SIZEM - $SIZEUM)
 #SIZEFREEM=`df -m | grep ' /initrd/pup_ro1$' | tr -s ' ' | cut -f 4 -d ' '`
これだと空き容量の表示というより、
{(pup_ro1 OR pup_rw)の総容量 - 現在のセッションの使用量}
が表示されるような....2回目の起動以降に不整合がでる場合がありそうな.....。
あと、単純計算で従来版の3倍時間がかかるっよね、プロセスの数でいえば。...何とかならないでしょうか....(文句ばっかりですいません)。

註:このエントリは根本的に勘違いしてる可能性があります。
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Re: pup_event_frontend_d

投稿記事 by シノバー »

新谷 さんが書きました:これだと空き容量の表示というより、
{(pup_ro1 OR pup_rw)の総容量 - 現在のセッションの使用量}
が表示されるような....
そのとおりですが、なにか? :?

具体的に実装RAM3GB、pupsave512MBの場合、第1項は512MBで、表示は通常のハードディスクのときと同じになります。フラッシュメモリの場合、snapmergepuppyが実行されてpupsaveが更新されると、表示とpupsave内の空き容量とは一致します。すなわち表示は、次の保存の機会にpupsaveに反映されるであろうものを先取りしているということになります。

実装RAM256MB、pupsave512MBの場合、第1項は約120MBです。たとえスワップがあったとしても、pupsaveがいくら大きくても、/mnt以下を除く/以下には120MB以上は入れられないので、表示はたしかにその残量を表していると言えるのではないでしょうか。
新谷 さんが書きました:2回目の起動以降に不整合がでる場合がありそうな.....。
:?:
新谷 さんが書きました:単純計算で従来版の3倍時間がかかるっよね、プロセスの数でいえば。...
測定してみないと分かりませんが、この関数は4秒に1度呼ばれるもので、さほどオーバーヘッドは生じないと踏んでます。
The bar master, Shino's Bar
http://shinobar.net/
返信する