...
 
Commits (1055)
image: claudioandre/settings:fedora.dev
image: registry.gitlab.gnome.org/gnome/gnome-control-center:fedora.dev
stages:
- build
- test
- delivery
- manual
- review
- deploy
.Log files: &log_files [./*.log, _build/meson-logs/]
.Build logs: &save_build_logs
artifacts:
name: log
when: always
paths: *log_files
.Git Untracked files: &save_untracked_files
artifacts:
name: untracked
paths: [$(pwd)]
expire_in: 3h30min
.Show Info: &environment_information
build-aux/ci/ci-helper.sh "INFO" &&
build-aux/ci/ci-helper.sh "GIT_INFO"
.Build procedure: &build_procedure
echo "== Building ==" &&
rm -rf _build/ &&
meson . _build ${BUILD_OPTS} &&
ninja -C _build 2>&1 | tee compilation.log
.Run Tests: &run_tests
echo "== Testing ==" &&
meson test -C _build --verbose --no-stdsplit
##
# Stage: Build
......@@ -12,20 +42,12 @@ stages:
# any of them.
##
build:
<<: *save_untracked_files
stage: build
artifacts:
name: builded
untracked: true
expire_in: 3h30min
script:
- echo "== Info =="
- build-aux/ci/ci-helper.sh "INFO"
- build-aux/ci/ci-helper.sh "GIT_INFO"
- echo "== Building =="
- meson . _build
- ninja -C _build 2>&1 | tee compilation.log
- *environment_information
- *build_procedure
- echo "== Installing =="
- ninja -C _build install
......@@ -33,51 +55,108 @@ build:
- echo "== Report =="
- build-aux/ci/ci-helper.sh "WARNINGS"
# Save all but git-related files
- rm -rf .git .gitignore .gitmodules
except:
variables:
- $CI_PIPELINE_SOURCE == "schedule"
##
# Stage: Test
#
# Runs the unit tests.
##
test:
<<: *save_build_logs
stage: test
artifacts:
name: log
when: always
paths:
- $(pwd)/*.log
dependencies:
- build
script:
- echo "== Info =="
- build-aux/ci/ci-helper.sh "INFO"
- build-aux/ci/ci-helper.sh "GIT_INFO"
- *environment_information
- *run_tests
- |
if [[ -n "${CI_COMMIT_TAG}" ]]; then
echo "== Distro Test =="
meson test -C _build
ninja dist -C _build
else
echo "== Testing =="
meson test -C _build --verbose --no-stdsplit
fi
except:
variables:
- $CI_PIPELINE_SOURCE == "schedule"
- $CI_COMMIT_TITLE =~ /^Update.*translation$/
# Runs the coverage test.
coverage:
<<: *save_build_logs
stage: test
variables:
BUILD_OPTS: "-Db_coverage=true"
coverage: '/^Lines:.\d+.\d+.(\d+\.\d+\%)/'
only:
- master@GNOME/gnome-control-center
script:
- *environment_information
- *build_procedure
- *run_tests
- ninja -C _build coverage-html
# Parse the report to get the coverage result
- |
echo == Coverage ==
sed -e 's/<[^>]*>//g' _build/meson-logs/coveragereport/index.html | tr -d ' \t' | grep -A3 -P '^Lines:$' | tr '\n' ' '; echo
except:
variables:
- $CI_PIPELINE_SOURCE == "schedule"
- $CI_COMMIT_TITLE =~ /^Update.*translation$/
# Runs the address sanitizer.
# - below, at the "sanitizers section"
##
# Stage: Deploy
#
# Publishes the Coverage Report generated above
##
pages:
stage: deploy
dependencies:
- coverage
script:
- mv _build/meson-logs/coveragereport/ public/
artifacts:
paths:
- public
only:
- master@GNOME/gnome-control-center
except:
variables:
- $CRON_TASK == "BUILD_CI_IMAGES"
- $CI_COMMIT_TITLE =~ /^Update.*translation$/
##
# Stage: Delivery
# Stage: Manual
#
# Create a flatpak
# Creates a flatpak
##
packaging:
stage: delivery
image: registry.gitlab.gnome.org/gnome/gnome-nightly-oci/nightly:master
flatpak:
stage: manual
image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master
artifacts:
name: package
paths:
- $(pwd)/*.flatpak
expire_in: 7 days
variables:
OLD_APPID: "org.gnome.Settings"
APPID: "org.gnome.SettingsDevel"
BUNDLE: "org.gnome.SettingsDevel.flatpak"
MANIFEST_PATH: "org.gnome.Settings.json"
......@@ -107,10 +186,225 @@ packaging:
- sed -i "s,<<ID>>,$APPID,g" ${MANIFEST_PATH}
- sed -i "s,<<current>>,origin/$CI_COMMIT_REF_NAME,g" ${MANIFEST_PATH}
# Update the icon name
- mv data/icons/hicolor/scalable/apps/$OLD_APPID.svg data/icons/hicolor/scalable/apps/$APPID.svg
- mv data/icons/hicolor/symbolic/apps/$OLD_APPID-symbolic.svg data/icons/hicolor/symbolic/apps/$APPID-symbolic.svg
- flatpak-builder --bundle-sources --repo=devel build ${MANIFEST_PATH}
- flatpak build-bundle devel ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${APPID}
cache:
paths:
- .flatpak-builder/cache
when: manual
except:
- tags
- gnome-3-.*
- master@GNOME/gnome-control-center
##
# Review
#
# Stage: review
#
# Starts the Flatpak review process.
##
review:
stage: review
dependencies:
- flatpak
when: manual
variables:
BUNDLE: "org.gnome.SettingsDevel.flatpak"
script:
- echo "Generating flatpak deployment"
artifacts:
paths:
- ${BUNDLE}
expire_in: 30 days
environment:
name: review/$CI_COMMIT_REF_NAME
url: https://gitlab.gnome.org/$CI_PROJECT_PATH/-/jobs/$CI_JOB_ID/artifacts/raw/${BUNDLE}
on_stop: stop_review
except:
- tags
- gnome-3-.*
- master@GNOME/gnome-control-center
##
# Stop Review
#
# Stage: review
#
# Stops the Flatpak review process.
##
stop_review:
stage: review
script:
- echo "Stopping flatpak deployment"
when: manual
environment:
name: review/$CI_COMMIT_REF_NAME
action: stop
except:
variables:
- $CI_PIPELINE_SOURCE == "schedule"
# Runs the sanitizers [address, thread, undefined, and memory].
.sanitizer: &sanitizer
<<: *save_build_logs
stage: manual
when: manual
script:
- *environment_information
- *build_procedure
- *run_tests
except:
variables:
- $CI_PIPELINE_SOURCE == "schedule"
- $CI_COMMIT_TITLE =~ /^Update.*translation$/
asan:
<<: *sanitizer
stage: test
when: on_success
variables:
BUILD_OPTS: "-Db_sanitize=address"
LSAN_OPTIONS: "suppressions=${CI_PROJECT_DIR}/build-aux/ci/lsan.supp"
tsan:
<<: *sanitizer
variables:
BUILD_OPTS: "-Db_sanitize=thread"
ubsan:
<<: *sanitizer
variables:
BUILD_OPTS: "-Db_sanitize=undefined"
msan:
<<: *sanitizer
variables:
BUILD_OPTS: "-Db_sanitize=memory"
CC: "clang"
# Runs multiarch build test.
.qemu: &multiarch
<<: *save_build_logs
image: docker:latest
services:
- docker:dind
script:
# Register QEMU archs
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
# Run the multiarch test job using QEMU
- 'docker run -v $(pwd):/cwd $IMAGE bash -e -c "cd /cwd &&
echo == Building == &&
rm -rf _build/ &&
meson . _build ${BUILD_OPTS} &&
ninja -C _build 2>&1 | tee compilation.log &&
echo == Testing == &&
ninja -C _build test"
'
except:
variables:
- $CI_PIPELINE_SOURCE == "schedule"
- $CI_COMMIT_TITLE =~ /^Update.*translation$/
armv8:
<<: *multiarch
stage: manual
when: manual
variables:
DOCKER_DRIVER: overlay
IMAGE: "registry.gitlab.gnome.org/gnome/gnome-control-center:fedora.aarch64"
ppc64le:
<<: *multiarch
stage: manual
when: manual
allow_failure: true
variables:
DOCKER_DRIVER: overlay
IMAGE: "registry.gitlab.gnome.org/gnome/gnome-control-center:fedora.ppc64le"
#############################################
# Create CI Docker Images #
#############################################
.Docker image template: &create_docker_image
image: docker:latest
stage: deploy
services:
- docker:dind
only:
variables:
- $CRON_TASK == "BUILD_CI_IMAGES"
changes:
- build-aux/ci/Dockerfile.*
script:
# Skip the build (if requested)
- |
if [[ -z "${CI_COMMIT_MESSAGE##*'[skip images]'*}" ]]; then
echo "== Nothing to do =="
exit 0
fi
- |
if [[ "${CI_COMMIT_REF_NAME}" != "master" ]]; then
echo "== Exiting, will only build CI images when pushing to master. =="
exit 0
fi
# Only when we have somewhere to publish to
- |
if [[ -z "${CI_REGISTRY}${CI_REGISTRY_IMAGE}${CI_REGISTRY_USER}${CI_REGISTRY_PASSWORD}" ]]; then
echo "== Exiting, CI registry not configured. =="
exit 0
fi
# Get multiarch stuff
- |
if [[ -n "${TARGET_ARCH}" ]]; then
docker run --rm --privileged multiarch/qemu-user-static:register --reset
wget https://github.com/multiarch/qemu-user-static/releases/download/v2.12.0/x86_64_qemu-${TARGET_ARCH}-static.tar.gz
fi
# Build using the Dockerfile
- docker build -f "$DOCKERFILE" -t "$CI_REGISTRY_IMAGE:$NAME" .
# Publish
- docker tag "$CI_REGISTRY_IMAGE:$NAME" "$CI_REGISTRY_IMAGE:job-"$CI_JOB_ID"_$NAME"
- docker images
- docker login ${CI_REGISTRY} -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD}
- docker push "$CI_REGISTRY_IMAGE"
fedora.dev:
<<: *create_docker_image
variables:
DOCKER_DRIVER: overlay
DOCKERFILE: "build-aux/ci/Dockerfile.fedora.30"
NAME: "fedora.dev"
fedora.aarch64:
<<: *create_docker_image
variables:
DOCKER_DRIVER: overlay
DOCKERFILE: "build-aux/ci/Dockerfile.arm64v8.fedora.30"
NAME: "fedora.aarch64"
TARGET_ARCH: "aarch64"
fedora.ppc64le:
<<: *create_docker_image
variables:
DOCKER_DRIVER: overlay
DOCKERFILE: "build-aux/ci/Dockerfile.ppc64le.fedora.latest"
NAME: "fedora.ppc64le"
TARGET_ARCH: "ppc64le"
<!--
Not following the communication guidelines [1] will mean your issue or comment
will be removed. Read it carefully before submitting this issue.
[1] https://gitlab.gnome.org/GNOME/gnome-control-center/blob/master/docs/CONTRIBUTING.md#communication-guideline
-->
Detailed description of the issue. Put as much information as you can, potentially
with images showing the issue.
......
<!--
Not following the communication guidelines [1] will mean your issue or comment
will be removed. Read it carefully before submitting this issue.
[1] https://gitlab.gnome.org/GNOME/gnome-control-center/blob/master/docs/CONTRIBUTING.md#communication-guideline
-->
Detailed description of the feature. Put as much information as you can.
Proposed Mockups:
......
[submodule "subprojects/gvc"]
path = subprojects/gvc
url = git://git.gnome.org/libgnome-volume-control
url = https://gitlab.gnome.org/GNOME/libgnome-volume-control.git
[submodule "subprojects/libhandy"]
path = subprojects/libhandy
url = https://source.puri.sm/Librem5/libhandy.git
Jonathan Blandford <jrb@redhat.com>
The ChangeLog is auto-generated when releasing. If you are seeing this, use
'git log' for a detailed list of changes.
See gnome-control-center.doap file
================
Version 3.33.1
================
- Various minor improvements from the Every Detail Matters session
- Add shadows to application icons
- Documented Communication Guidelines
- Development builds with Flatpak working again
- Updated translations
Background:
- Redesigned panel
Display:
- Move Night Light to a tab, instead of a dialog
Keyboard Shortcuts:
- Panel renamed from "Keyboard"
- Minor UI adjustments
Mouse & Touchpad:
- Reinstate keyboard navitation
Power:
- Don't treat all batteries as laptop batteries
Sharing:
- Use a HdyLeaflet
User Accounts:
- Present the default avatar in the avatar popover
Wacom:
- Ensure calibrator UI CSS only applies to its UI
================
Version 3.32.1
================
- Add shadows to application icons
- Updated translations
Applications:
- Fix wrong IDs being passed to portal permission store
Display:
- Various bugfixes to multimonitor setups
Mouse & Touchpad:
- Sync touchpad scrolling switch states correctly
Network:
- Only show Bluetooth devices in Bluetooth section
Online Accounts:
- Fix invisible widgets
Wi-Fi:
- Fix connection names with markup not showing up
================
Version 3.32.0.1
================
- Emergency release with a fix for broken translations and the Display
panel
===============
Version 3.32.0
===============
- Translation updates
===============
Version 3.31.92
===============
- Translation updates
- CI improvements
- Revert making Settings responsive; it needs more polish to reach the
quality we want.
User Accounts:
- Improve behavior when dealing with very long names
- Fix crashes
- Remove custom file size limit for avatars
- Allow bigger custom avatars
===============
Version 3.31.90
===============
- Make Settings and various panels responsive
- Various accessibility fixes
- Translation updates
Printers:
- Various cleanups
Region and Language:
- Make rows reordetable with drag and drop
Sound:
- Redesign the Sound panel
User Accounts:
- Allow ‘Remove User’ button to be focused
- Round user images
===============
Version 3.31.4
===============
- Introduce the new Applications panel
- Panels can now expose a custom sidebar widget
- Improve CI image building scripts
- Translation updates
Applications:
- Introduce the new Applications panel
Bluetooth:
- Cleanup and reorganize code
Display:
- Add Night Light slider to set temperature
Network:
- Allow Wi-Fi panel to reach narrower sizes
- Cleanups and smaller performance improvement preparations
Notifications:
- Use libhandy's HdyColumn
Online Accounts:
- Use libhandy's HdyColumn
Power:
- Label PENDING_CHARGE state as "Not Charging"
Printers:
- Cleanups and memory leaks plugs
Privacy:
- Use libhandy's HdyColumn
Thunderbolt:
- Fix double-free
User Accounts:
- Rename classes
Wacom:
- Map Wacom-driver-specific generic IDs to 0
===============
Version 3.31.2
===============
- Use X-GNOME-UsesNotifications on various desktop files
- Introduce new icon
- Add interative test panels
- Translation updates
Date & Time:
- Grey out automatic timezone
Display:
- Correctly add minor axis to snapping
- Correctly snap on various situations
Network:
- Cleanup many classes
Online Accounts:
- Track lifecycle of CcGoaPanel across async calls
Privacy:
- Use templates
Region and Language:
- Use a popover instead of a dialog for input options
- Redesign language chooser widget
- Plug various leaks
- Major cleanups
Sharing:
- Bind hostname entry
User Accounts:
- Use templates
- Do not crash when libpwquality fails
Wacom:
- Port calibrator UI to GTK
- Remove clutter-gtk dependency
===============
Version 3.30.0
===============
- Translation updates
===============
Version 3.29.92
===============
- Fix a couple of memory leaks in the tests
- Don't hardcode Python path in tests
- Stop aggressively caching D-Bus objects not related to hardware
CI:
- Improve Flatpak job
User Accounts:
- Silence some compiler warnings
- Remove stub string from translation
Wacom
- Remove unused widgets from the .ui file
Wi-Fi:
- Fix a potential crash
===============
Version 3.29.90
===============
- Use symbolic icons in Shell search
Network:
- Better device names
Power:
- Improve wording of some strings
Region & Language:
- Make Language Chooser dialog implement mockups
Wi-Fi:
- Improve Airplane Mode
==============
Version 3.29.4
==============
- Introduce Dynamic Panel
- Many code cleanups and modernizations
CI:
- Support for multiarch builds (ARMv8 and PPC64)
- Support generating Flatpaks on demand
Display:
- Improve display arrangement widget
Network:
- Add a testsuite
Sharing:
- Expose Remote Desktop work on Wayland
User Accounts:
- Use term "Confirm" instead of "Verify"
- Use the same phrase when passwords do not match
Wacom:
- Hide when no Wacom devices are connected
- Remove deprecated APIs
Wi-Fi:
- Hide when no Wi-Fi adapters are available
==============
Version 3.29.2
==============
- Improve logging engine
- Add an object caching mechanism
- Add a development Flatpak manifest
- Vastly improve CI
- Organize tests
- Add Network tests
- Translation updates
Display:
- Fix a few crashers
Power:
- Fix showing approximate percentages
Thunderbolt:
- Introduce new Thunderbolt panel
User Accounts:
- Port to GTask
- Fix hint for wrong enterprise user/password
===============
Version 3.27.92
===============
......
[![Build Status](https://gitlab.gnome.org/GNOME/gnome-control-center/badges/master/build.svg)](https://gitlab.gnome.org/GNOME/gnome-control-center/pipelines)
[![Coverage report](https://gitlab.gnome.org/GNOME/gnome-control-center/badges/master/coverage.svg)](https://gnome.pages.gitlab.gnome.org/gnome-control-center/)
[![License](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://gitlab.gnome.org/GNOME/gnome-control-center/blob/master/COPYING)
GNOME Settings
====================
GNOME Settings is GNOME's main interface for configuration of various aspects of
your desktop.
GNOME Settings is GNOME's main interface for configuration of various aspects of your desktop.
## Contributing
See `docs/CONTRIBUTING.md` for details on the contribution process, and `docs/HACKING.md`
for the coding style guidelines.
## Reporting Bugs
Before reporting any bugs or opening feature requests, [read the communication guidelines][communication-guidelines].
Bugs should be reported to the GNOME bug tracking system under the product
gnome-control-center. It is available at [GitLab Issues](https://gitlab.gnome.org/GNOME/gnome-control-center/issues).
In the report please include the following information:
* Operating system and version
* For Linux, version of the C library
* Exact error message
* Steps to reproduce the bug
* If the bug is a visual defect, attach a screenshot
* If the bug is a crash, attach a backtrace if possible [see below]
### How to get a backtrace
If the crash is reproducible, follow the steps to obtain a
backtrace:
Install debug symbols for gnome-control-center.
Run the program in gdb [the GNU debugger] or any other debugger.
gdb gnome-control-center
Start the program.
(gdb) run
Reproduce the crash and when the program exits to (gdb) prompt, get the backtrace.
(gdb) bt full
Once you have the backtrace, copy and paste it into the 'Comments' field or attach it as
a file to the bug report.
## Testing Unstable Settings
It is quite easy to test and give feedback about the development version of GNOME
......@@ -21,32 +59,5 @@ get the latest version, download it, double-click the file, install and run.
Note that GNOME Settings Flatpak will only work if you are running
the latest GNOME version in your host system.
## Reporting Bugs
Bugs should be reported to the GNOME bug tracking system under the product
gnome-control-center. It is available at [GitLab Issues](https://gitlab.gnome.org/GNOME/gnome-control-center/issues).
In the report please include the following information -
Operating system and version
For Linux, version of the C library
How to reproduce the bug if possible
If the bug was a crash, include the exact text that was printed out
A stacktrace where possible [see below]
### How to get a stack trace
If the crash is reproducible, it is possible to get a stack trace and