Ticket #4467 (closed defect: wontfix)

Opened 10 months ago

Last modified 9 months ago

VFS content timestamps are all Jan 1, 1970 (`master` + #4426_cleanup merged into pre-4.8.30 as upgrade from 4.8.26)

Reported by: ukr Owned by:
Priority: major Milestone:
Component: mc-vfs Version: master
Keywords: adm; vfs; mc-vfs; 1970 Cc: zaytsev, andrew_b
Blocked By: #1952 Blocking:
Branch state: merged Votes for changeset:

Description

1) Checkout the master branch;
2) Merge 4426_cleanup into it;
3) Package for Debian: refresh
its patches, compile & install.

Result:

  • Upon upgrading from version 4.8.26 (in my case) all VFS content timestamps are of Jan 1, 1970. Otherwise, much loved pre-release.
  • Perhaps helpful:
    • Changeset: [004ae1]
      • vfs.c (is_localized_month): New function for locale's abbreviated month name as any 3 bytes long string without digits and control characters. (vfs_parse_filedate): Fallback to is_localized_month() if is_month() and is_dos_date() fail and set date to Jan 1 1970. (vfs_parse_ls_lga): Use is_localized_month().

Attachments

ftp-timestamps-c.png (13.5 KB) - added by andrew_b 10 months ago.
ftp-timestamps-ru.png (13.7 KB) - added by andrew_b 10 months ago.
mc-vfs.jpg (72.9 KB) - added by ukr 10 months ago.

Change History

comment:1 follow-up: ↓ 2 Changed 10 months ago by andrew_b

Which VFS?

comment:2 in reply to: ↑ 1 Changed 10 months ago by ukr

Replying to andrew_b:

Which VFS?

Any and only VFS in Midnight Commander one may observe in: Menu → Command → Active VFS list
(upon entering into any compressed entity)

Changed 10 months ago by andrew_b

Changed 10 months ago by andrew_b

comment:3 Changed 10 months ago by andrew_b

Cannot confirm. See screenshots:
FTP in POSIX locale

FTP in RU locale

Changed 10 months ago by ukr

comment:4 follow-up: ↓ 5 Changed 10 months ago by ukr

My apologies for having been understood ambiguous in which VFS are affected, I had certainly meant «upon entering into any compressed entity» (emphasis added) rather than me wrongly appearing too categorical in my saying «[a]ny and only» − this apparently does not extend to VFS over FTP:

Navigating the subdirectory debian in breezy_3.3.0+bzr7661-2~18.04.debian.tar.xz:


comment:5 in reply to: ↑ 4 ; follow-up: ↓ 6 Changed 9 months ago by andrew_b

Replying to ukr:

breezy_3.3.0+bzr7661-2~18.04.debian.tar.xz:

Where can I get this file? Google cannot find it.

comment:6 in reply to: ↑ 5 ; follow-up: ↓ 7 Changed 9 months ago by ukr

Replying to andrew_b:

Replying to ukr:

breezy_3.3.0+bzr7661-2~18.04.debian.tar.xz:

Where can I get this file? Google cannot find it.

Andrew, you are either a busy man or are enjoying this conversation, which is anyway appreciative.

Create any compressed entity (emphasis added per reply) on your installment, and navigate it. This way you shan't exclusively deal with issues on the per user created archives in assessing the proper working of VFS (which is among the goals of this project, isn't it?). Google cannot find a particular compressed entity because I have created it for accompanying the ticket and I encourage you to proceed the same.

If you really want to have an archive with the same name, which I would consider absolutely unnecessary and superficially for the present use case, you can download the tarball (up right) from Jelmer Vernooij's breezy revision 4602 on launchpad.net and rename it whatever you like − but this would just serve as a distraction.

Last edited 9 months ago by ukr (previous) (diff)

comment:7 in reply to: ↑ 6 Changed 9 months ago by andrew_b

Replying to ukr:

Create any compressed entity (emphasis added per reply) on your installment, and navigate it.

Not any and even not compressed. This bug is in tar only because of #1952.

comment:8 Changed 9 months ago by ukr

I am not sure whether all of your present state of assumptions are still coherent at this point…

Here comes the convolution:

#~/.gitconfig
(useful aliases for thereafter following the git command):

[alias]
	lg = !"git lg1"
	lg1 = !"git lg1-specific --all"
	lg2 = !"git lg2-specific --all"
	lg3 = !"git lg3-specific --all"

	lg1-specific = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
	lg2-specific = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(auto)%d%C(reset)%n''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)'
	lg3-specific = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset) %C(bold cyan)(committed: %cD)%C(reset) %C(auto)%d%C(reset)%n''          %C(white)%s%C(reset)%n''          %C(dim white)- %an <%ae> %C(reset) %C(dim white)(committer: %cn <%ce>)%C(reset)'

$ git lg1 # notice bottom's merging branch '1952_tar' 4 days ago

* 32532d538 - (10 weeks ago) PKGBUILD.syntax: recognize 'b2sums'. - bill auger (origin/4426_cleanup)
* 559304bbc - (3 months ago) ruby.syntax: add puts - srem1
* 492ccc083 - (2 days ago) (info_show_info): fix unused variable. - Andrew Borodin
* 5a68010c8 - (2 years ago) Add support for MacOS Mach-O and .dylib files - Oleg Kharitonov
* 4730d11fb - (3 days ago) (spell_dialog_lang_list_show): ret rid of string duplication. - Andrew Borodin
* afade04d7 - (3 days ago) src/editor/spell.c: refactoring: use GPtrArray instead of GArray for string arrays. - Andrew Borodin
* 6fca365da - (3 days ago) (edit_suggest_current_word): minor refactoring. - Andrew Borodin
* 6ec731030 - (3 days ago) (str_nconvert_to_input): return NULL if input is NULL. - Andrew Borodin
* 9b3ee57f6 - (3 days ago) (str_nconvert_to_display): return NULL if input is NULL. - Andrew Borodin
* c26e6ef5a - (3 days ago) lib/widget/quick.h: remove unneeded #include. - Andrew Borodin
* f6e836e67 - (3 days ago) (mc_args__convert_help_to_syscharset): return GString. - Andrew Borodin
* aade2c4e0 - (2 weeks ago) Remove #include <errno.h> from files where errno is unused. - Andrew Borodin
* 75be35a4f - (2 weeks ago) (cd_error_msg): new function to show the change directory error message. - Andrew Borodin
* c91988d66 - (4 weeks ago) src/viewer/nroff.c: remove unneeded include. - Andrew Borodin
* f98ac564d - (4 weeks ago) Move the some stuff from dialog.[ch] to dialog-switch.[ch]: - Andrew Borodin
* e8a33e11f - (4 weeks ago) lib/widget/widget-common.h: rename include guard. - Andrew Borodin
* fff2cbd09 - (4 weeks ago) lib/vfs/utilvfs.c: clean up, fix coding style. - Andrew Borodin
* 848b54862 - (4 weeks ago) (vfs_url_split): replace the 'while' loop with  strchr(). - Andrew Borodin
* da9028fe4 - (5 weeks ago) Use bit-field members of file_entry_t as integers explicitly. - Andrew Borodin
* 1c1716762 - (5 weeks ago) file_entry_t: rename members: - Andrew Borodin
* edac99410 - (5 weeks ago) (repaint_file): decomposition. - Andrew Borodin
* d3e628c4a - (5 weeks ago) src/filemanager/panel.c: refactor file color attributes. - Andrew Borodin
* 7f2e238f0 - (6 weeks ago) WPanel: rename 'top_file' to 'top'. - Andrew Borodin
* e24f3dfc9 - (6 weeks ago) WPanel: rename 'selected' to 'current' and related changes. - Andrew Borodin
* cf8596b48 - (6 weeks ago) (do_try_to_select): move into try_to_select(). - Andrew Borodin
* 2c7bbf2ca - (6 weeks ago) Rename key-related APIs: - Andrew Borodin
* 93771281e - (6 weeks ago) Menu: renames: - Andrew Borodin
* 5ac8fcc98 - (6 weeks ago) WListbox: renames: - Andrew Borodin
* 2d2387e12 - (6 weeks ago) (dlg_close): rename from dlg_stop(). - Andrew Borodin
* c78f88e06 - (6 weeks ago) (vfs_path_to_str_flags): create recode_buffer only when required. - Andrew Borodin
* 9d8e52ee2 - (7 weeks ago) (test_vfs_setup_cwd_symlink): simplify. - Andrew Borodin
* bda47c8f1 - (7 weeks ago) (vfs_get_cwd): rename from _vfs_get_cwd(), simplify. - Andrew Borodin
* 0036be776 - (7 weeks ago) (make_symlink): minor optimization. - Andrew Borodin
* 0ff963c0c - (7 weeks ago) (vfs_path_new): add argument to create relative path object. - Andrew Borodin
* 500f11f13 - (8 weeks ago) src/filemanager/panel.c: fix indentation. - Andrew Borodin
* 768dcb701 - (8 weeks ago) (do_external_panelize): constify argument. - Andrew Borodin
* ba1eb39e5 - (9 weeks ago) Ticket #4426: code clean up before 4.8.30 release. - Andrew Borodin
*   cc283df6d - (3 days ago) Merge branch '4464_FTBFS_without_ext2fs_attrs' - Andrew Borodin (HEAD -> master, origin/master, origin/HEAD)
|\  
| * cfe9ae814 - (3 days ago) Ticket #4464: FTBFS without ext2fs attributes support. - Evgeny Grin
|/  
*   ec3f142b8 - (3 days ago) Merge branch '4466_sed' - Andrew Borodin
|\  
| * 1d7d9a832 - (3 days ago) Ticket #4466: fix sed usage in po/Makefile. - Evgeny Grin
|/  
*   b90177fa1 - (3 days ago) Merge branch '4465_ncurses_libs' - Andrew Borodin
|\  
| * 8fba56d40 - (3 days ago) Ticket #4465: remove duplicated libs from MCLIBS (again). - Evgeny Grin
|/  
*   f17ebfd2a - (4 days ago) Merge branch '4463_ncurses_libs' - Andrew Borodin
|\  
| * 92ae4c6b2 - (5 days ago) Ticket #4463: ncurses library is duplicated in MCLIBS. - Evgeny Grin
|/  
*   5c9a145c3 - (4 days ago) Merge branch '4462_ncurses_includes' - Andrew Borodin
|\  
| * 1f732f0a1 - (5 days ago) Ticket #4462: FTBFS if ncurses used without --with-ncurses-includes= configure parameter. - Evgeny Grin
|/  
*   08be8094c - (4 days ago) Merge branch '4460_makefile' - Andrew Borodin
|\  
| * 8cd913a28 - (5 days ago) Ticket #4460: fix unportable '$<' in Makefiles. - Evgeny Grin
|/  
*   2e3e3a377 - (4 days ago) Merge branch '4459_sed' - Andrew Borodin
|\  
| * 68e6d960f - (5 days ago) Replaced unportable 'inplace' sed command - Evgeny Grin
| * f45d02ba2 - (5 days ago) Use configure detected or user specified sed in build system - Evgeny Grin
| * 054a051b4 - (5 days ago) Ticket #4459: usage of 'sed' in build system/makefiles is not portable. - Evgeny Grin
|/  
*   e5911c1ef - (4 days ago) Merge branch '1952_tar' - Andrew Borodin
|\  
| * 8d1427d18 - (1 year, 1 month ago) tar: add support of extended headers. - Andrew Borodin

$ git log -1 #4467 was opened just off 42 hours from now, that is, in fact it was opened already after branch '1952_tar' had been merged 4 days ago

commit cc283df6dcb36473578f54427973942a50019eef (HEAD -> master, origin/master, origin/HEAD)
Merge: ec3f142b8 cfe9ae814
Author: Andrew Borodin <aborodin@vmail.ru>
Date:   Sun May 21 20:36:08 2023 +0300

    Merge branch '4464_FTBFS_without_ext2fs_attrs'
    
    * 4464_FTBFS_without_ext2fs_attrs:
      Ticket #4464: FTBFS without ext2fs attributes support.

$ git merge origin/4426_cleanup

$ ./autogen.sh

$ ./configure

$ make dist

  • Package for Debian: refresh its patches, compile & install.
  • Create compressed (rather tar-r-ed with default Debian's GNU tar) the entity, and try to «Enter»: it D-O-E-S (which makes it unrelated to the BSD-specific #1952, but shows all the VFS timestamps as Jan 1, 1970). By searching first «1970» here, one comes up with:
  • Result:
    • The ticket is opened on the premise of being present in «[a]ny and only» «compressed entity»'s VFS, as having all (un)thinkable compressors tested at this stage would be counter-productive and was not a feasible task, anyway, especially in the view of the upcoming MC release of 4.8.30 − possibly being spoiled by a relatively simple bug (which was not present in at least the version 4.8.26).
  • The ticket has been clarified and narrowed further down to cover only tar-created entities (compressed or not).
  • #1952 is marked as «closed, fixed». Judging from the present ticket, however, it would be either unrelated or it had been fixed with broken side effects shown here (needs reopening).

Now there is a tractat of several pages down explaining the issue at hands, fencing with fancy screenshots, tarballs, etc, and the ultimate fate of the Universe to succumb from ever increased entropy to its heat death grew closer to the every day grim reality of our days being only counted on this martyr planet… Was that what we were trying to achieve here?

BZW, reverting in the source tree the merge of branch 1952_tar before merging the branch 4426_cleanup in, and leaving branch 1952_tar the one odd out resolves the issue with VFS timestamps all of them appearing as from the 1970 year. You may want return first to #1952 before closing this one as the former was likely merged too early for production. This ticket therefore is modified.

Last edited 9 months ago by ukr (previous) (diff)

comment:9 Changed 9 months ago by ukr

  • Blocked By 1952 added

comment:10 Changed 9 months ago by andrew_b

  • Status changed from new to closed
  • Resolution set to wontfix
  • Blocking 4426 removed
  • Milestone 4.8.30 deleted

TL;DR.

Note: See TracTickets for help on using tickets.