任务单 #46267

Cygwin の 32bit サポート削除への対応

开放日期: 2022-12-13 12:58 最后更新: 2023-02-03 23:54

报告人:
属主:
类型:
状态:
关闭
组件:
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
Fixed
文件:
1
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

TODO まとめ用に作成

https://cygwin.com/pipermail/cygwin-announce/2022-December/010821.html

ttssh2-dev 495

影響範囲

  • コンパイル(makefile)
  • zip 作成(makearchive.bat, CI用スクリプトなど)
  • インストーラ
    • インストーラに含めるファイル(アーキテクチャでフォルダを分けなくて良くなる?)
    • 動いている Windows のアーキテクチャ判定?
    • インストールされている Cygwin の アーキテクチャ判定(cygtool.dll)
    • 右クリックメニューの関連付け

対応

任务单历史 (3/18 Histories)

2022-12-13 12:58 Updated by: nmaya
  • New Ticket "Cygwin の 32bit サポート削除への対応" created
2022-12-14 00:11 Updated by: zmatsuo
评论

32bit版cygtermがあってもなくてもインストーラが作成できるようにしました。 r10410 です。

AppVeyorで32bit cygterm がビルドできなくなってしまいました。

2023-01-08 20:44 Updated by: nmaya
评论
  • buildtools\install_cygwin.bat が追加された(r10436
  • installer\release.bat から buildtools\cygwin64 が使われるようになった。優先度はインストール済み Cygwin よりも高い(r10437

確認

これは wiki:決定事項

 - Cygterm+ ビルド環境
   - Cygwin 最新
を変更する。

32bit Cygterm をビルドし続ける限り変更されない(できない)。

ということでよろしいですか。

その他

Cygwin Time Machine からインストールすれば、4-stable 用の Cygwin 1.5 環境を新たに構築できるのかもしれませんね。

2023-01-09 00:35 Updated by: nmaya
评论

Cygwin Time Machine は、Cygwin からダウンロードできなくなった(削除した=切った=捨てた)バージョンをミラー(保持・公開)し続けています。

Cygwin が、そういうことをしている Cygwin Time Machine のことを 「サポートを切ったレガシーバージョンを公開し続けていて鬱陶しい」と思っていないか気になりました。

どうやらそういう訳ではないようでした。https://sourceware.org/legacy-ml/cygwin/2017-03/msg00415.html

2023-01-09 21:49 Updated by: zmatsuo
评论

ユーザーが最新cygwinを使いたくない場合でも、 これ(buildtools\cygwin64)を使ってビルドすれば ユーザー環境を壊さずに最新版を使ってビルドできます。

Cygwin Time Machine を利用して cygwin32 をインストールするところが 常用環境では不安な感じですよね。

CIでもcygwin32bit版ビルド時に役にたつと思います。 AppVeyorに入れようと思い中です。

近いサイトからダウンロードするようにできない、 Cygwin Time Machine がなくなったらもう作れなくなる、 というのが気になっています。

2023-01-09 22:01 Updated by: nmaya
评论

最新の setup-x86_64.exe でインストールした環境に、少し古い setup-x86_64-2.909.exe でパッケージを放り込んで競合しないか(いま競合していなくても、最新の setup-x86_64.exe がどんどん新しくなるのでいずれ危うい?)というのも、少し気になります。

松尾さんとしては「Cygwin Time Machine があるうち・環境が構築できるうちは 32bit 版をビルドする」「作れなくなったら 64bit 版だけにする」というイメージですか?

2023-01-09 22:04 Updated by: nmaya
评论

もうひとつ気になる点があります。

動かしていませんが、2022/12/01-145510 が最終なのでは?という気がします。

install_cygwin.cmake

をインストールする。

このバージョンのの出所

おそらく

http://www.crouchingtigerhiddenfruitbat.org/Cygwin/timemachine.html

"OLD UPDATE: 10/29/2021: Cygwin is dropping support for Windows Vista & Windows Server 2008." の項目

本当にこれが最終なのか

"The last major version of Cygwin to support Windows Vista & Windows Server 2008 will be 3.3.X" とあるので、3.4 になる手前までは Vista をサポートしているのではないか?

http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/

3.4.0-1	1670176085	2.924	2022/12/04-094805	http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2022/12/04/094805
3.3.6-1	1670104489	2.924	2022/12/03-135449	http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2022/12/03/135449
3.3.6-1	1670020731	2.924	2022/12/02-143851	http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2022/12/02/143851
3.3.6-1	1669935310	2.924	2022/12/01-145510	http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2022/12/01/145510

32bit サポート削除

cygwin32-gcc-g++ はここまで存在しています。

3.3.6-1	1669935310	2.924	2022/12/01-145510	http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2022/12/01/145510

2023-01-09 23:35 Updated by: nmaya
2023-01-10 00:23 Updated by: zmatsuo
评论

「Cygwin Time Machine があるうち・環境が構築できるうちは 32bit 版をビルドする」「作れなくなったら 64bit 版だけにする」というイメージですか?

そのイメージです。

32bit cygterm がどれぐらい必要とされているかがわからないですが、 ビルドできるなら入れたいなと思いました。 32bit cygtermをリリースに入れるのをやめる検討はそのうち必要になると思います。 テストが難しい、できないなら入れないほうがいいという意見もあると思います。 32bit cygterm入っててよかったーという方、いらっしゃるかな・・。

ビルドを属人化しない(誰でもビルドできる)
↓
個人(開発者)環境に依存しないビルド
↓
CIでビルド(リリースバイナリもビルド)

というのがTT4の経験を踏まえて良いかなと思っています。

それと、Cygwin Time Machine を見つけたのが buildtools/cygwin64/ を 準備するモチベーションになりました。

将来はcygtermを経由せずにpty関連のAPI(Windows10+のAPI)を使って cygwin(その他シェルなど)を直接動かせるようにしたいでね。 接続先に関連するコードを整理しないと難しいなと思っています。

https://learn.microsoft.com/ja-jp/windows/console/creating-a-pseudoconsole-session

(Edited, 2023-01-10 01:20 Updated by: zmatsuo)
2023-01-10 00:58 Updated by: zmatsuo
评论

cygwin32-gcc-g++ のバージョンは、

http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2022/12/01/145510/index.html

6.4.0-1 が最終バージョンみたいですね。

いまダウンロード先になっているURLでも

http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2021/10/28/174906/

6.4.0-1 となっているので更新されていないんですね。

少し新しい 7.3.0-1 のテストバージョンの指定方法はわからなかったです。

https://www.cygwin.com/faq/faq.html#faq.setup.cli

最終版URLからダウンロードするように変更したのを添付します。

install_cygwin.cmake

(Edited, 2023-01-10 01:01 Updated by: zmatsuo)
2023-01-10 21:29 Updated by: nmaya
  • Details Updated
评论

そのイメージです。

松尾さんの考えていることはわかりました。

Cygwin Time Machine からインストールした環境で CygTerm+ 32bit 版バイナリの提供を続ける・install_cygwin.cmake

私の感覚ではこんな感じです。重みは付けていませんが、提供するが+で、提供しないが-です。

要素スコア
カバーできる動作環境が広くなる+
ビルド用環境を、実運用中の Cygwin と隔離したものにできる+
Cygwin Time Machine は公式ではない
→非公式な存在である/いつまであるかわからない
-
バージョン違いインストーラによるインストールで、不具合が出るようになるかもしれない-
すでに Cygwin 32bit 環境は新規に構築できないので、ユーザも環境もこれまでに構築したものでしか動かない
→使いたいユーザが自分でビルドすればよい
-
おそらくユーザからのニーズが高くない
Windows 11 には x86 (32bit) 版が存在しない
-
Cygterm+ 32bit バイナリをやめるなら 5.0 はきりがいい-

TT4の経験を踏まえて

リリースバイナリをどうビルドするか ttssh2-dev 375 のあたりを wiki:決定事項 に落とし込んでいない(いわもとさんの意見を聞けていない)ので、ここではなく ML で続けるべきだと思いますが、Cygterm+ という具体例を取り上げた場合の話をひとつだけ。

「属人化を避け、誰でもビルドできるようにする」という目的だけなら、

使用する開発ツールを、新規入手できるものに限る

という手段もあります。

(松尾さんではなく)TeraTerm Project は「とにかくなんでも動かしたい」を目的にしていません(と思っています)ので、労力と効果のバランスも考慮に入れるべきだと思います。

cygwin32-gcc-g++ のバージョン

確認ありがとうございます。gcc のバージョンは変わらないんですね。

添付の install_cygwin.cmake でもビルドできることを確認しました。

2023-01-12 00:50 Updated by: zmatsuo
评论

使用する開発ツールを、新規入手できるものに限る

とてもよさそうです。

ついつい作っちゃいましたが、Cygwin 32bit 環境は新規に構築できない、ニー ズがなさそう、やめるならきりがいい、はその通りですね。

cygwin32 gccが利用できる環境ならとりあえずビルドできるので、 ビルドはそのままにして、インストーラーに入れない、 exeが生成できてるならzip版にはおまけ的に入れてしまう、 というのはどうでしょうか。 (ツール ttreg, lscom も zip版にいれたくなります)

すごくニーズがあることがわかったら再度考えましょうか。

install_cygwin.cmake は、バージョンは同じでも一応新しい版を取ってくる ことになるのでソースツリーのものと差し替えたほうがいいかな?と思います がいかがでしょう

2023-01-13 08:44 Updated by: nmaya
评论

cygwin32 gccが利用できる環境ならとりあえずビルドできるので、 ビルドはそのままにして

環境構築が楽になるので、install_cygwin.cmake は大変ありがたいです。ビルド出来る状態のままにしておくのも賛成です。

インストーラーに入れない、 exeが生成できてるならzip版にはおまけ的に入れてしまう

(ツール ttreg, lscom も zip版にいれたくなります)

インストーラもzipも同じリリース物件なので、私は「内容物が異なる」のは良くないと考えます。私の意見はネガティブです。

バージョンは同じでも一応新しい版を取ってくる

はい。作っていただいた(ここに添付されている)もので差し替える、でよいと思います。

2023-01-15 00:45 Updated by: None
评论

zip版は、インストーラーが動かない/したくない環境用で、インストーラーと 同じ内容にしておくという方針でしたね。失礼しました。

64bit版cygtermだけで進めましょうか?

install_cygwin.cmake を差し替えました。r10483です。

2023-01-17 23:55 Updated by: nmaya
评论

install_cygwin.cmake を差し替えました。r10483です。

ありがとうございます。

64bit版cygtermだけで進めましょうか?

そうですね。

インストーラを見てみようと思います。

2023-01-30 01:37 Updated by: nmaya
  • 属主 Update from (无) to nmaya
  • 处理结果 Update from to Fixed
  • 组件 Update from (无) to Installer
评论

r10548 で対応しました。

2023-02-03 23:54 Updated by: zmatsuo
  • 状态 Update from 开启 to 关闭
评论

ありがとうございます。

AppVeyor でビルドした r10565 の zip から cygterm.exe をビルド,軽くテストして動作okでした。

クローズします。

Attachment File List

编辑

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登录名