Skip to content
Snippets Groups Projects

Bug 40989: Add .nobackup files to reproducible and disposable directories

Merged morgan requested to merge morgan/tor-browser-build:bug_40989 into main
1 unresolved thread

Merge Info

Related Issues

Backporting

Timeline

  • Immediate: patchset needed as soon as possible
  • Next Minor Stable Release: patchset that needs to be verified in nightly before backport
  • Eventually: patchset that needs to be verified in alpha before backport
  • No Backport (preferred): patchset for the next major stable

(Optional) Justification

  • Emergency security update: patchset fixes CVEs, 0-days, etc
  • Censorship event: patchset enables censorship circumvention
  • Critical bug-fix: patchset fixes a bug in core-functionality
  • Consistency: patchset which would make development easier if it were in both the alpha and release branches; developer tools, build system changes, etc
  • Sponsor required: patchset required for sponsor
  • Other: please explain

Issue Tracking

Review

Request Reviewer

  • Request review from an applications developer depending on modified system:
    • NOTE: if the MR modifies multiple areas, please /cc all the relevant reviewers (since gitlab only allows 1 reviewer)
    • accessibility : henry
    • android : clairehurst, dan
    • build system : boklm
    • extensions : ma1
    • firefox internals (XUL/JS/XPCOM) : ma1
    • fonts : pierov
    • frontend (implementation) : henry
    • frontend (review) : donuts, richard
    • localization : henry, pierov
    • macos : clairehurst, dan
    • nightly builds : boklm
    • rebases/release-prep : dan, ma1, pierov, richard
    • security : ma1
    • signing : boklm, richard
    • updater : pierov
    • misc/other : pierov, richard

Change Description

This change will add .nobackup files to various directories which do not need to be backed up and should make @anarcat a bit less sad regarding our backup disk usage. As users update our backup disk usage should go down.

How Tested

Edited by morgan

Merge request reports

Approved by

Merged by boklmboklm 1 year ago (Oct 20, 2023 6:18am UTC)

Merge details

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • morgan requested review from @boklm

    requested review from @boklm

  • assigned to @richard

  • morgan added 9 commits

    added 9 commits

    • ddc7ed6e...6c469013 - 8 commits from branch tpo/applications:main
    • 6ed1f805 - Bug 40989: Add .nobackup files to reproducible and disposable directories

    Compare with previous version

  • this is not explicitely linked in the description, but is a consequence of an audit of the disk space used by the backup server, see tpo/tpa/team#41364 (closed) and related.

    also: thank you so much for this!

    Edited by anarcat
  • morgan changed the description

    changed the description

  • boklm approved this merge request

    approved this merge request

  • merged

  • Maintainer

    Backported to maint-13.0 as 6fdfa43f.

    • I would like this to be reverted.

      It's checking in these directories that we used to have in .gitignore and allowed to do some fancy stuff, such as doing symlinks to share these directories.

      I think we should add the .nobackups with RBM instead of forcing them in the VCS.

    • Maintainer

      It's checking in these directories that we used to have in .gitignore and allowed to do some fancy stuff, such as doing symlinks to share these directories.

      Does having the .nobackup files in git prevent doing those symlinks?

    • Yes.

      I've created a new clone, removed out, symlinked to another out and created .nobackup inside the linked directory.

      git status complains about me having deleted the .nobackup. I think git doesn't follow symlinks (at least by default), but instead sees them as symlinks (see for example how the changelogs are handled).

    • Also, I did git checkout HEAD^, created my old structure, and did a git checkout main. git removed my symlink and created the new directory.

    • Maintainer

      I think we can create {tor|mullvad}browser/{alpha|release}/.nobackup with something like this:

      diff --git a/projects/release/build b/projects/release/build
      index 57afdcc8d..35aed12a0 100644
      --- a/projects/release/build
      +++ b/projects/release/build
      @@ -4,6 +4,7 @@
       [% IF ENV.HOME %]export HOME="[% ENV.HOME %]"[% END %]
       destdir="[% dest_dir _ '/' _ c("var/publish_dir") %]"
       mkdir -p "$destdir"
      +touch '[% dest_dir %]'
       [% IF c("var/browser-android-armv7") -%]
         mv [% c('input_files_by_name/android-armv7') %]/* "$destdir"/
       [% END -%]

      Is it an issue also with the out and git_clones directories?

    • Yes, the out directory is especially problematic because it allows to share all the various toolchain between the clones.

      The touch command should probably include also .nobackup. I think we could add .nobackup in the .gitignore and let people add it to their clone if they wish.

      I've created #40996 (closed) to follow on this.

    • Please register or sign in to reply
Please register or sign in to reply
Loading