Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

palemoon: 28.7.0 -> 28.7.1 #69206

Closed
wants to merge 3 commits into from
Closed

Conversation

OPNA2608
Copy link
Contributor

@OPNA2608 OPNA2608 commented Sep 21, 2019

Motivation for this change

Security and bugfix update to Pale Moon. From the release notes:

This is a security and bugfix release.
...

Should prolly be backported to release-19.09 as well.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@OPNA2608
Copy link
Contributor Author

OPNA2608 commented Sep 21, 2019

Building Pale Moon seems to fail sometimes/always, depending on to me unknown factors. It builds fine in my NixOS VM, but my NixOS desktop consistently fails with

39:32.01 Executing: /nix/store/p3yihyyg612p3ablgakm1h591spparpp-gcc-wrapper-4.9.4/bin/g++ -std=gnu++11 -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -msse2 -mfpmath=sse -pthread -pipe -g -O2 -fomit-frame-pointer -fPIC -shared -Wl,-z,defs -Wl,-h,libxul.so -o libxul.so /build/source/pmbuild/toolkit/library/tmp1BqO96.list -lpthread -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id -B ../../build/unix/gold -Wl,-version-script,symverscript -Wl,-rpath-link,/build/source/pmbuild/dist/bin -Wl,-rpath-link,/nix/store/z8sb116bj3qd3xrb941lv62ifkkmbwzz-palemoon-28.7.1/lib ../../security/nss/lib/crmf/libcrmf.a ../../js/src/libjs_static.a ../../security/nss/lib/nss/libnss3.so ../../security/nss/lib/smime/libsmime3.so ../../security/nss/lib/ssl/libssl3.so ../../security/nss/lib/util/libnssutil3.so ../../config/external/sqlite/libmozsqlite3.so ../../config/external/nspr/pr/libnspr4.so ../../config/external/nspr/libc/libplc4.so ../../config/external/nspr/ds/libplds4.so ../../config/external/lgpllibs/liblgpllibs.so -ldl -lm -ldl -L/nix/store/v0dy9gcr12vf63lyq69nrpgzm3yz5wlz-freetype-2.10.1/lib -lfreetype -L/nix/store/yk3aqhhw3jj0sj9nzqs7vhjx9cwjlb78-fontconfig-2.12.6-lib/lib -lfontconfig -lrt -L/nix/store/690qkhaj8mvr6ax949gz16a69wn5fcxs-libX11-1.6.8/lib -lXrender -L/nix/store/8i03vc4n2a6lhd7s713ahhnhhay04j4a-alsa-lib-1.1.9/lib -lasound -L/nix/store/aldz750xb5k96mzxg4l29dsip28b376k-glib-2.60.7/lib -L/nix/store/jdh4pgqy2w5g9nmzkbljsvks7ljhpz1l-dbus-1.12.16-lib/lib -L/nix/store/lfjjvhm1crj20px5z5pzbhsfxs62nmhw-dbus-glib-0.110/lib -ldbus-glib-1 -ldbus-1 -lgobject-2.0 -lglib-2.0 -L/nix/store/jfwhd03syvpaclfphj41zyaf0lrhp2hz-cairo-1.16.0/lib -L/nix/store/0x8gc2yfpjbrz2w654npqlimh1lw2zqd-gtk+-2.24.32/lib -L/nix/store/cbcbgz17zdhbsbj8fvmqv6hf6y8p13sx-pango-1.43.0/lib -L/nix/store/fgjjmczbhr6m043p14yikshxah0iwnd9-gdk-pixbuf-2.38.1/lib -L/nix/store/djsipbpa5v8pnspcjdwfqw805y3r8qkf-atk-2.32.0/lib -lgtk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk-x11-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgdk_pixbuf-2.0 -lX11-xcb -lxcb-shm -lxcb -lX11 -lXext -lXt -lgthread-2.0
39:32.01 /build/source/pmbuild/toolkit/library/tmp1BqO96.list:
39:32.01 INPUT("StaticXULComponentsStart.o")
(alot of INPUTs here)
39:32.12 INPUT("StaticXULComponentsEnd/StaticXULComponentsEnd.o")
39:32.12
39:32.12 collect2: error: ld returned 1 exit status
39:32.13 make[5]: *** [/build/source/config/rules.mk:773: libxul.so] Error 1
39:32.13 make[4]: *** [/build/source/config/recurse.mk:71: toolkit/library/target] Error 2
39:32.13 make[3]: *** [/build/source/config/recurse.mk:33: compile] Error 2
39:32.13 make[2]: *** [/build/source/config/rules.mk:494: default] Error 2
39:32.13 make[1]: *** [/build/source/client.mk:414: realbuild] Error 2
39:32.13 make: *** [client.mk:170: build] Error 2
39:32.17 297 compiler warnings present.
39:32.22 Notification center failed: Install the python dbus module to get a notification when the build finishes.
builder for '/nix/store/p89jk78kyfw30rh12ibsk1gkrjf0jbjv-palemoon-28.7.1.drv' failed with exit code 2
error: build of '/nix/store/p89jk78kyfw30rh12ibsk1gkrjf0jbjv-palemoon-28.7.1.drv' failed

it's possible this also caused this build here to fail?

This also happened to me before this update, so it's not a blocker for it, but it's definitely not good either...

@worldofpeace
Copy link
Contributor

Looking at

Notification center failed: Install the python dbus module to get a notification when the build finishes.

it checks for the existence of a dbus session bus to provide a notification.
On a build on hydra this won't happen, so likely the reason why it doesn't try to bring in that additional buildtime dependency.
My advice would be to completely remove that code with a patch. It's not friendly for a nix build.

@OPNA2608
Copy link
Contributor Author

it checks for the existence of a dbus session bus to provide a notification.
On a build on hydra this won't happen, so likely the reason why it doesn't try to bring in that additional buildtime dependency.

You mean the dbus dependencies? I'll check if that's the only thing they're required for and remove them if that's the case.
It actually seems to be tripping before the actual contact with dbus, while trying to import a Python dbus library, but ofc there's no point in having any of that enabled on Hydra.

                try:
                    import dbus
                except ImportError:
                    raise Exception('Install the python dbus module to '
                        'get a notification when the build finishes.')

My advice would be to completely remove that code with a patch. It's not friendly for a nix build.

I know bugger-all about Python or the mach build system, so I don't feel comfortable meddling with that and patching out stuff, but I think i found a flag to disable just the notification stuff. I'll submit it once I've tested locally that it works properly.

@worldofpeace
Copy link
Contributor

The notifications within the program or at build time?

If you aren't able to work it out I could write a patch for you.

@OPNA2608
Copy link
Contributor Author

The "Notification center" is for build-time notifications. (I think)
There's an environment variable it checks before attempting to print anything, looking for other references to that environment variable within the code base on GitHub gives no further results:

        moz_nospam = os.environ.get('MOZ_NOSPAM')
        if moz_nospam:
            return

I'm running a test build right now with that variable set. If it works, it should be enough right?

@worldofpeace
Copy link
Contributor

Yep, appears to just return if that variable is in the environment.

Documentation for building Pale Moon 28 says that GCC7 is "strongly recommended".
Envvar MOZ_NOSPAM should stop attempts to do build notifications.
@OPNA2608
Copy link
Contributor Author

Added the MOZ_NOSPAM variable and pinned the used GCC version to 7.* according to this recommendation I found.
Can't do much testing of the binary rn and haven't figured out why I can't build it locally on my desktop, but it compiles fine in my VM and appears to be working at first glance.

@Mic92
Copy link
Member

Mic92 commented Sep 24, 2019

@GrahamcOfBorg eval

OPNA2608 added a commit to OPNA2608/nixpkgs that referenced this pull request Dec 31, 2019
@OPNA2608
Copy link
Contributor Author

Obsoleted by #72598
Non-update changes superseded by #76728

@OPNA2608 OPNA2608 closed this Dec 31, 2019
dtzWill pushed a commit to dtzWill/nixpkgs that referenced this pull request Jan 22, 2020
Changes as requested in NixOS#69206

(cherry picked from commit f7bd174)
@OPNA2608 OPNA2608 deleted the update-palemoon branch April 27, 2020 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants