Bug 290222 - FreeBSD 15.0 BETA1 ISO's packages folder access mode is "d---------"
Summary: FreeBSD 15.0 BETA1 ISO's packages folder access mode is "d---------"
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: misc (show other bugs)
Version: 15.0-CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: Ed Maste
URL:
Keywords:
Depends on:
Blocks: 15.0-metabug
  Show dependency treegraph
 
Reported: 2025-10-14 06:17 UTC by Yanhui He
Modified: 2025-10-17 01:35 UTC (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yanhui He 2025-10-14 06:17:09 UTC
https://download.freebsd.org/releases/ISO-IMAGES/15.0/FreeBSD-15.0-BETA1-amd64-dvd1.iso

root@localhost:~ # mkdir /mnt/iso
root@localhost:~ # mount -t cd9660 /dev/cd0 /mnt/iso
root@localhost:~ # ls -lrt /mnt/iso/
total 96
drwxr-xr-x  1 root wheel  4096 Oct  4 19:39 var
drwxr-xr-x  1 root wheel  2048 Oct  4 19:39 usr
drwxrwxrwt  1 root wheel  2048 Oct  4 19:39 tmp
drwxr-xr-x  1 root wheel 20480 Oct  4 19:39 sbin
drwxr-x---  1 root wheel  2048 Oct  4 19:39 root
drwxr-xr-x  1 root wheel  2048 Oct  4 19:39 rescue
dr-xr-xr-x  1 root wheel  2048 Oct  4 19:39 proc
d---------  1 root wheel  2048 Oct  4 19:39 packages   <------
drwxr-xr-x  1 root wheel  2048 Oct  4 19:39 net
drwxr-xr-x  1 root wheel  2048 Oct  4 19:39 mnt
drwxr-xr-x  1 root wheel  2048 Oct  4 19:39 media
drwxr-xr-x  1 root wheel  2048 Oct  4 19:39 libexec
drwxr-xr-x  1 root wheel 12288 Oct  4 19:39 lib
drwxr-xr-x  1 root wheel 14336 Oct  4 19:39 etc
dr-xr-xr-x  1 root wheel  2048 Oct  4 19:39 dev
drwxr-xr-x  1 root wheel 10240 Oct  4 19:39 boot
drwxr-xr-x  1 root wheel  6144 Oct  4 19:39 bin
-r--r--r--  1 root wheel  6070 Oct  4 19:39 COPYRIGHT
drwxr-xr-x  1 root wheel  2048 Oct  4 19:39 .rr_moved

For FreeBSD 14.3, it's "drwxr-xr-x".
$ sudo mount FreeBSD-14.3-RELEASE-amd64-dvd1.iso /mnt/freebsd-14/
mount: /mnt/freebsd-14: WARNING: source write-protected, mounted read-only.

$ ls -l /mnt/freebsd-14/
total 94
drwxr-xr-x  2 root root  6144 Jun  6 10:06 bin
drwxr-xr-x 14 root root 10240 Jun  6 10:11 boot
-r--r--r--  1 root root  6109 Jun  6 10:10 COPYRIGHT
dr-xr-xr-x  2 root root  2048 Jun  6 10:04 dev
drwxr-xr-x 30 root root 14336 Jun  6 10:13 etc
drwxr-xr-x  4 root root 12288 Jun  6 10:06 lib
drwxr-xr-x  3 root root  2048 Jun  6 10:04 libexec
drwxr-xr-x  2 root root  2048 Jun  6 10:04 media
drwxr-xr-x  2 root root  2048 Jun  6 10:04 mnt
drwxr-xr-x  2 root root  2048 Jun  6 10:04 net
drwxr-xr-x  4 root root  2048 Jun  6 10:13 packages   <------
dr-xr-xr-x  2 root root  2048 Jun  6 10:04 proc
drwxr-xr-x  2 root root  2048 Jun  6 10:04 rescue
drwxr-x---  2 root root  2048 Jun  6 10:10 root
drwxr-xr-x  2 root root 20480 Jun  6 10:06 sbin
drwxrwxrwt  2 root root  2048 Jun  6 10:04 tmp
drwxr-xr-x 14 root root  2048 Jun  6 10:11 usr
drwxr-xr-x 24 root root  4096 Jun  6 10:04 var


Is it normal for FreeBSD 15.0?

Thanks!
Comment 1 Mark Johnston freebsd_committer freebsd_triage 2025-10-14 14:02:28 UTC
Note, https://github.com/freebsd/pkg/pull/2535 fixes the problem in pkg where it doesn't emit METALOG entries for intermediate directories.  I presume that that's the root cause of the problem here.

That change hasn't made it into a pkg release yet.  Presumably we should cut a new pkg release ASAP?  Or is this actually a different problem?
Comment 2 Colin Percival freebsd_committer freebsd_triage 2025-10-14 22:51:59 UTC
I'm not sure if this is a pkg issue.  In particular, the /packages/ directory is something we're creating in src/release/Makefile.  We should probably emit a metalog line from the pkg-stage target.
Comment 3 Colin Percival freebsd_committer freebsd_triage 2025-10-14 22:53:06 UTC
... or possibly from pkg-stage.sh.  It looks like that script is emitting metalog lines for everything *inside* the /packages/ directory but not for that directory itself.  Perhaps 

-            grep '^./packages/' >> $ROOTDIR/METALOG
+            grep '^./packages' >> $ROOTDIR/METALOG

would do the trick?
Comment 4 Ed Maste freebsd_committer freebsd_triage 2025-10-14 23:14:59 UTC
Or maybe `grep '^./packages[ /]' if we wanted to avoid a conflict with some future pathname with a 'packages' prefix.
Comment 5 commit-hook freebsd_committer freebsd_triage 2025-10-17 01:31:17 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=2db11dda840c4889aeb719761cdafa62730083a2

commit 2db11dda840c4889aeb719761cdafa62730083a2
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2025-10-15 13:04:58 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2025-10-17 01:23:15 +0000

    pkg-stage: Correct /packages permissions

    Include /packages in the METALOG used to create dvd1.iso.  Previously
    we used an expression ^./packages/ (with a trailing /) which did not
    match /packages itself, and then with no METALOG entry /packages on
    dvd1.iso ended up with mode d---------.

    PR:             290222
    Reviewed by:    cperciva
    MFC after:      1 minute
    Sponsored by:   The FreeBSD Foundation

 release/scripts/pkg-stage.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 6 commit-hook freebsd_committer freebsd_triage 2025-10-17 01:33:19 UTC
A commit in branch stable/15 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=ecd943a5af7d8cb09f9418a8a4d337a72c06fe22

commit ecd943a5af7d8cb09f9418a8a4d337a72c06fe22
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2025-10-15 13:04:58 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2025-10-17 01:31:29 +0000

    pkg-stage: Correct /packages permissions

    Include /packages in the METALOG used to create dvd1.iso.  Previously
    we used an expression ^./packages/ (with a trailing /) which did not
    match /packages itself, and then with no METALOG entry /packages on
    dvd1.iso ended up with mode d---------.

    PR:             290222
    Reviewed by:    cperciva
    MFC after:      1 minute
    Sponsored by:   The FreeBSD Foundation

    (cherry picked from commit 2db11dda840c4889aeb719761cdafa62730083a2)

 release/scripts/pkg-stage.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 7 commit-hook freebsd_committer freebsd_triage 2025-10-17 01:34:21 UTC
A commit in branch releng/15.0 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=b5d5181d74f0b78530df8b94a7248a409c3ea72c

commit b5d5181d74f0b78530df8b94a7248a409c3ea72c
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2025-10-15 13:04:58 +0000
Commit:     Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2025-10-17 01:33:12 +0000

    pkg-stage: Correct /packages permissions

    Include /packages in the METALOG used to create dvd1.iso.  Previously
    we used an expression ^./packages/ (with a trailing /) which did not
    match /packages itself, and then with no METALOG entry /packages on
    dvd1.iso ended up with mode d---------.

    Approved by:    re (cperciva)
    PR:             290222
    Reviewed by:    cperciva
    MFC after:      1 minute
    Sponsored by:   The FreeBSD Foundation

    (cherry picked from commit 2db11dda840c4889aeb719761cdafa62730083a2)
    (cherry picked from commit ecd943a5af7d8cb09f9418a8a4d337a72c06fe22)

 release/scripts/pkg-stage.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)