├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── golangci-lint.yml ├── .gitignore ├── .golangci.yml ├── .travis.yml ├── COPYING ├── Makefile ├── Readme.md ├── SECURITY.md ├── args ├── args.go └── args_test.go ├── boolset ├── boolset.go └── boolset_test.go ├── clr-installer ├── gui.go ├── main.go └── tui.go ├── cmd ├── cmd.go ├── cmd_common.go └── cmd_common_test.go ├── completions ├── bash │ └── clr-installer └── zsh │ └── _clr-installer ├── conf └── conf.go ├── controller └── controller.go ├── encrypt ├── encrypt.go └── encrypt_test.go ├── errors ├── errors.go └── errors_test.go ├── etc ├── bundles.json ├── chpasswd ├── clr-desktop.yaml ├── clr-installer-gui.desktop ├── clr-installer.yaml ├── custom.conf ├── kernels.json ├── org.clearlinux.clr-installer-gui.policy ├── org.clearlinux.clr-installer-gui.rules └── systemd │ └── clr-installer-provision.service ├── frontend └── frontend.go ├── go.mod ├── go.sum ├── gui ├── banner.go ├── common │ └── common.go ├── contentview.go ├── gui.go ├── network │ └── network.go ├── page_header.go ├── pages │ ├── bundle.go │ ├── disk_config.go │ ├── hostname.go │ ├── init.go │ ├── install.go │ ├── install_widget.go │ ├── kernel_options.go │ ├── keyboard.go │ ├── language.go │ ├── network_check.go │ ├── swupd_config.go │ ├── telemetry.go │ ├── timezone.go │ └── user_add.go ├── proxy.go ├── summary_widget.go ├── switcher.go └── window.go ├── hostname ├── hostname.go └── hostname_test.go ├── how-to-make-a-release ├── iso_templates ├── initrd_init_template └── isolinux.cfg.template ├── isoutils ├── ISO_README.md └── isoutils.go ├── kernel └── kernel.go ├── keyboard └── keyboard.go ├── language └── language.go ├── local-travis └── local-travis.go ├── locale ├── en_US │ └── LC_MESSAGES │ │ └── clr-installer.po ├── es_MX │ └── LC_MESSAGES │ │ └── clr-installer.po └── zh_CN │ └── LC_MESSAGES │ └── clr-installer.po ├── log ├── log.go └── log_test.go ├── massinstall └── massinstall.go ├── model ├── model.go ├── model_ister.go └── model_test.go ├── network ├── network.go └── network_test.go ├── progress └── progress.go ├── proxy └── proxy.go ├── scripts ├── InstallerYAMLSyntax.md ├── add-desktop-login-issue.sh ├── add-server-login-issue.sh ├── bundle-check.sh ├── check-all-yaml.sh ├── check_imports.sh ├── developer-image-post.sh ├── developer-image-pre.sh ├── developer-image.yaml ├── developer-live-desktop.yaml ├── developer-live-server.yaml ├── kvm-swapfile.yaml ├── kvm.yaml ├── legacy-kvm-ext4-boot.yaml ├── legacy-kvm-vfat-boot.yaml ├── legacy-kvm.yaml ├── live-desktop-post-install.sh ├── live-image-post-update-version.py ├── live-server-post-install.sh ├── live.yaml ├── local-telemetry-post.sh ├── swupd-image-post.sh └── wait-to-boot-post.sh ├── storage ├── block_devices.go ├── block_devices_filters.go ├── block_devices_ops.go ├── encrypt.go ├── parse.go ├── parted_partition.go ├── storage_test.go ├── swapfile.go └── utils.go ├── swupd ├── swupd.go └── swupd_test.go ├── syscheck └── syscheck.go ├── telemetry ├── telemetry.go └── telemetry_test.go ├── tests ├── advanced.yaml ├── aws-config.json ├── azure-config.json ├── azure-docker-config.json ├── azure-machine-learning-config.json ├── baseline.yaml ├── basic-invalid-descriptor.yaml ├── basic-valid-descriptor.yaml ├── basic.yaml ├── block-device-image.yaml ├── block-devices-alias.yaml ├── check-all-images.sh ├── check-coverage.sh ├── check-json-yaml.sh ├── ciao-networking-config.json ├── cloud-config.json ├── cloud-docker-config.json ├── coverage-curr-status ├── damage_file.go ├── encrypt-valid-descriptor.yaml ├── full-good.json ├── functional │ ├── install │ │ ├── basic.bats │ │ ├── destructive_LVM_RAID_combination.bats │ │ ├── destructive_LVM_across_multiple_disks.bats │ │ ├── destructive_LVM_managed_thinpool.bats │ │ └── lvm_advanced.bats │ └── testlib.bash ├── gce-config.json ├── hyperv-config.json ├── hyperv-mini-config.json ├── hyperv-test-config.json ├── image-generation.yaml ├── installer-config-vm.json ├── installer-config.json ├── invalid-ister-basic-descriptor.json ├── invalid-ister-disk-ft.json ├── invalid-ister-disk-pmp.json ├── invalid-ister-dt.json ├── invalid-ister-duplicate-pl.json ├── invalid-ister-malformed-descriptor.json ├── invalid-ister-missing-pl.json ├── invalid-ister-no-kernel.json ├── invalid-ister-partition-ft.json ├── invalid-ister-partition-pmp.json ├── invalid-no-kernel.yaml ├── invalid-no-keyboard.yaml ├── invalid-no-language.yaml ├── iso-bad.yaml ├── iso-desktop.yaml ├── iso-good.yaml ├── ister.json ├── kernels.json ├── kvm-config.json ├── legacy-kvm-config.json ├── live-config.json ├── live-docker-config.json ├── malformed-descriptor.yaml ├── mbr.json ├── min-good.json ├── mixed-block-device.yaml ├── no-bootable-descriptor.yaml ├── no-root-partition-descriptor.yaml ├── no-telemetry.yaml ├── post-install-sample.sh ├── provision-config.json ├── real-example.yaml ├── release-image-config.json ├── telemetrics.conf ├── user-sshkeys.yaml ├── valid-ister-full-physical.json ├── valid-ister-full-virtual.json ├── valid-minimal.yaml ├── valid-network.yaml ├── valid-with-pre-post-hooks.yaml ├── valid-with-version.yaml └── vmware-config.json ├── themes ├── clr-installer.theme ├── clr.png ├── high-contrast.theme └── style.css ├── timezone └── timezone.go ├── tui ├── autoupdate.go ├── bundle.go ├── common.go ├── confirm_cancel.go ├── confirm_install.go ├── hostname.go ├── install.go ├── kernel_cmdline.go ├── kernel_selection.go ├── keyboard.go ├── language.go ├── media_config.go ├── menu.go ├── menu_button.go ├── network.go ├── network_dialog_check.go ├── network_interface.go ├── network_validate.go ├── popup_info.go ├── popup_passphrase.go ├── popup_warning.go ├── proxy.go ├── save_config.go ├── simple_button.go ├── swupd_mirror.go ├── tab.go ├── telemetry.go ├── timezone.go ├── tui.go ├── user_manager.go └── useradd.go ├── user ├── user.go ├── user_validator.go └── user_validator_test.go ├── utils ├── utils.go └── utils_test.go └── vendor ├── github.com ├── GehirnInc │ └── crypt │ │ ├── .travis.yml │ │ ├── AUTHORS.md │ │ ├── LICENSE │ │ ├── README.rst │ │ ├── common │ │ ├── base64.go │ │ ├── doc.go │ │ └── salt.go │ │ ├── crypt.go │ │ ├── internal │ │ └── utils.go │ │ └── sha512_crypt │ │ └── sha512_crypt.go ├── VladimirMarkelov │ └── clui │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── LICENSE.BSD-2-Clause │ │ ├── README.md │ │ ├── VERSION │ │ ├── barchart.go │ │ ├── base_control.go │ │ ├── button.go │ │ ├── canvas.go │ │ ├── changelog │ │ ├── checkbox.go │ │ ├── clui2_api.go │ │ ├── colorparse.go │ │ ├── composer.go │ │ ├── consts.go │ │ ├── control_intf.go │ │ ├── ctrlutil.go │ │ ├── dialog.go │ │ ├── edit.go │ │ ├── edit_osx.go │ │ ├── edit_other.go │ │ ├── fileselectdlg.go │ │ ├── frame.go │ │ ├── intro.go │ │ ├── label.go │ │ ├── listbox.go │ │ ├── logger.go │ │ ├── logindlg.go │ │ ├── mainloop.go │ │ ├── progressbar.go │ │ ├── radio.go │ │ ├── radiogroup.go │ │ ├── sparkchart.go │ │ ├── tableview.go │ │ ├── textdisplay.go │ │ ├── textutil.go │ │ ├── textview.go │ │ ├── theme.go │ │ └── window.go ├── atotto │ └── clipboard │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── clipboard.go │ │ ├── clipboard_darwin.go │ │ ├── clipboard_plan9.go │ │ ├── clipboard_unix.go │ │ └── clipboard_windows.go ├── coreos │ └── go-systemd │ │ └── v22 │ │ ├── LICENSE │ │ ├── NOTICE │ │ └── dbus │ │ ├── dbus.go │ │ ├── methods.go │ │ ├── properties.go │ │ ├── set.go │ │ ├── subscription.go │ │ └── subscription_set.go ├── digitalocean │ └── go-smbios │ │ ├── AUTHORS │ │ ├── LICENSE.md │ │ └── smbios │ │ ├── decoder.go │ │ ├── doc.go │ │ ├── entrypoint.go │ │ ├── fuzz.go │ │ ├── stream_linux.go │ │ ├── stream_memory.go │ │ ├── stream_others.go │ │ ├── stream_unix.go │ │ ├── stream_windows.go │ │ └── structure.go ├── godbus │ └── dbus │ │ └── v5 │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── MAINTAINERS │ │ ├── README.md │ │ ├── auth.go │ │ ├── auth_anonymous.go │ │ ├── auth_external.go │ │ ├── auth_sha1.go │ │ ├── call.go │ │ ├── conn.go │ │ ├── conn_darwin.go │ │ ├── conn_other.go │ │ ├── conn_unix.go │ │ ├── conn_windows.go │ │ ├── dbus.go │ │ ├── decoder.go │ │ ├── default_handler.go │ │ ├── doc.go │ │ ├── encoder.go │ │ ├── escape.go │ │ ├── export.go │ │ ├── homedir.go │ │ ├── match.go │ │ ├── message.go │ │ ├── object.go │ │ ├── sequence.go │ │ ├── sequential_handler.go │ │ ├── server_interfaces.go │ │ ├── sig.go │ │ ├── transport_darwin.go │ │ ├── transport_generic.go │ │ ├── transport_nonce_tcp.go │ │ ├── transport_tcp.go │ │ ├── transport_unix.go │ │ ├── transport_unixcred_dragonfly.go │ │ ├── transport_unixcred_freebsd.go │ │ ├── transport_unixcred_linux.go │ │ ├── transport_unixcred_netbsd.go │ │ ├── transport_unixcred_openbsd.go │ │ ├── transport_zos.go │ │ ├── variant.go │ │ ├── variant_lexer.go │ │ └── variant_parser.go ├── gotk3 │ └── gotk3 │ │ ├── LICENSE │ │ ├── cairo │ │ ├── antialias.go │ │ ├── cairo.go │ │ ├── canvas.go │ │ ├── errors.go │ │ ├── fillrule.go │ │ ├── fontoptions.go │ │ ├── fontoptions_since_1_16.go │ │ ├── format.go │ │ ├── linecap.go │ │ ├── linejoin.go │ │ ├── matrix.go │ │ ├── mimetype.go │ │ ├── operator.go │ │ ├── pattern.go │ │ ├── region.go │ │ ├── status.go │ │ ├── surface.go │ │ ├── surfacetype.go │ │ ├── text.go │ │ ├── translations.go │ │ └── util.go │ │ ├── gdk │ │ ├── gdk.go │ │ ├── gdk.go.h │ │ ├── gdk_deprecated_since_3_10.go │ │ ├── gdk_deprecated_since_3_16.go │ │ ├── gdk_deprecated_since_3_20.go │ │ ├── gdk_deprecated_since_3_22.go │ │ ├── gdk_since_3_10.go │ │ ├── gdk_since_3_12.go │ │ ├── gdk_since_3_16.go │ │ ├── gdk_since_3_16.go.h │ │ ├── gdk_since_3_18.go │ │ ├── gdk_since_3_20.go │ │ ├── gdk_since_3_20.go.h │ │ ├── gdk_since_3_22.go │ │ ├── gdk_since_3_22.go.h │ │ ├── gdk_since_3_8.go │ │ ├── gdk_since_3_8.go.h │ │ ├── keys.go │ │ ├── pixbuf.go │ │ ├── pixbuf.go.h │ │ ├── pixbuf_deprecated_since_2_32.go │ │ ├── pixbuf_since_2_12.go │ │ ├── pixbuf_since_2_14.go │ │ ├── pixbuf_since_2_2.go │ │ ├── pixbuf_since_2_22.go │ │ ├── pixbuf_since_2_24.go │ │ ├── pixbuf_since_2_26.go │ │ ├── pixbuf_since_2_32.go │ │ ├── pixbuf_since_2_36.go │ │ ├── pixbuf_since_2_4.go │ │ ├── pixbuf_since_2_4.go.h │ │ ├── pixbuf_since_2_6.go │ │ ├── screen.go │ │ ├── screen_no_x11.go │ │ ├── screen_x11.go │ │ ├── testing.go │ │ ├── window_no_x11.go │ │ └── window_x11.go │ │ ├── glib │ │ ├── application.go │ │ ├── cast.go │ │ ├── connect.go │ │ ├── finalizers.go │ │ ├── gaction.go │ │ ├── gactiongroup.go │ │ ├── gactionmap.go │ │ ├── gasyncresult.go │ │ ├── gbinding.go │ │ ├── gbinding_deprecated_since_2_68.go │ │ ├── gbinding_since_2_68.go │ │ ├── gcancellable.go │ │ ├── gfile.go │ │ ├── gfile.go.h │ │ ├── gicon.go │ │ ├── giostream.go │ │ ├── giostream.go.h │ │ ├── glib.go │ │ ├── glib.go.h │ │ ├── glib_export.go │ │ ├── glib_extension.go │ │ ├── glib_since_2_42.go │ │ ├── glib_since_2_44.go │ │ ├── glib_since_2_44.go.h │ │ ├── glib_since_2_46.go │ │ ├── glib_since_2_46.go.h │ │ ├── glib_since_2_58.go │ │ ├── glib_since_2_64.go │ │ ├── glistmodel.go │ │ ├── gmain_context.go │ │ ├── gmain_loop.go │ │ ├── gpermission.go │ │ ├── gpermission.go.h │ │ ├── gsimpleactiongroup.go │ │ ├── gsource.go │ │ ├── gvariant.go │ │ ├── gvariant.go.h │ │ ├── gvariantbuilder.go │ │ ├── gvariantclass.go │ │ ├── gvariantdict.go │ │ ├── gvariantiter.go │ │ ├── gvarianttype.go │ │ ├── gvarianttype.go.h │ │ ├── list.go │ │ ├── menu.go │ │ ├── notifications.go │ │ ├── quark.go │ │ ├── settings.go │ │ ├── settings_backend.go │ │ ├── settings_schema.go │ │ ├── settings_schema_source.go │ │ └── slist.go │ │ ├── gtk │ │ ├── aboutdialog.go │ │ ├── accel.go │ │ ├── actionable.go │ │ ├── actionable.go.h │ │ ├── actionbar_since_3_12.go │ │ ├── actionbar_since_3_12.go.h │ │ ├── app_chooser.go │ │ ├── application.go │ │ ├── application_since_3_12.go │ │ ├── application_since_3_14.go │ │ ├── application_window.go │ │ ├── application_window_since_3_20.go │ │ ├── box_since_3_12.go │ │ ├── button_box.go │ │ ├── cell_area.go │ │ ├── cell_area_since_3_14.go │ │ ├── color_chooser.go │ │ ├── combo_box.go │ │ ├── fixed.go │ │ ├── fixed.go.h │ │ ├── font_chooser.go │ │ ├── gdk.go │ │ ├── glarea.go │ │ ├── glarea_since_3_22.go │ │ ├── glib.go │ │ ├── gtk.go │ │ ├── gtk.go.h │ │ ├── gtk_deprecated_since_3_10.go │ │ ├── gtk_deprecated_since_3_12.go │ │ ├── gtk_deprecated_since_3_14.go │ │ ├── gtk_deprecated_since_3_14.go.h │ │ ├── gtk_deprecated_since_3_16.go │ │ ├── gtk_deprecated_since_3_18.go │ │ ├── gtk_deprecated_since_3_20.go │ │ ├── gtk_deprecated_since_3_22.go │ │ ├── gtk_deprecated_since_3_24.go │ │ ├── gtk_deprecated_since_3_8.go │ │ ├── gtk_export.go │ │ ├── gtk_export_since_3_10.go │ │ ├── gtk_export_since_3_14.go │ │ ├── gtk_export_since_3_16.go │ │ ├── gtk_since_3_10.go │ │ ├── gtk_since_3_10.go.h │ │ ├── gtk_since_3_12.go │ │ ├── gtk_since_3_12.go.h │ │ ├── gtk_since_3_14.go │ │ ├── gtk_since_3_14.go.h │ │ ├── gtk_since_3_16.go │ │ ├── gtk_since_3_16.go.h │ │ ├── gtk_since_3_16_deprecated_since_3_20.go │ │ ├── gtk_since_3_16_glib_2_44.go │ │ ├── gtk_since_3_18.go │ │ ├── gtk_since_3_20.go │ │ ├── gtk_since_3_20.go.h │ │ ├── gtk_since_3_22.go │ │ ├── gtk_since_3_24.go │ │ ├── gtk_since_3_8.go │ │ ├── icon_view.go │ │ ├── info_bar.go │ │ ├── label.go │ │ ├── level_bar.go │ │ ├── level_bar_since_3_20.go │ │ ├── level_bar_since_3_8.go │ │ ├── menu.go │ │ ├── menu_before_3_22.go │ │ ├── menu_shell.go │ │ ├── menu_since_3_22.go │ │ ├── print.go │ │ ├── print.go.h │ │ ├── print_export.go │ │ ├── print_since_3_16.go │ │ ├── settings.go │ │ ├── settings.go.h │ │ ├── shortcutswindow_since_3_20.go │ │ ├── shortcutswindow_since_3_20.go.h │ │ ├── socket_plug.go │ │ ├── socket_plug.go.h │ │ ├── stack_since_3_12.go │ │ ├── stackswitcher_since_3_10.go │ │ ├── style.go │ │ ├── testing.go │ │ ├── testing_deprecated_since_3_20.go │ │ ├── testing_since_3_10.go │ │ ├── text_child_anchor.go │ │ ├── text_child_anchor.go.h │ │ ├── text_iter.go │ │ ├── text_mark.go │ │ ├── text_view.go │ │ ├── toolshell.go │ │ ├── tooltip.go │ │ ├── tree_view.go │ │ ├── tree_view_column.go │ │ ├── version.go │ │ ├── widget.go │ │ ├── widget_export_since_3_8.go │ │ ├── widget_since_3_10.go │ │ ├── widget_since_3_12.go │ │ ├── widget_since_3_14.go │ │ ├── widget_since_3_16.go │ │ ├── widget_since_3_18.go │ │ ├── widget_since_3_20.go │ │ ├── widget_since_3_8.go │ │ ├── widget_since_3_8.go.h │ │ ├── window.go │ │ ├── window_since_3_10.go │ │ ├── window_since_3_12.go │ │ ├── window_since_3_14.go │ │ ├── window_since_3_16.go │ │ ├── window_since_3_18.go │ │ └── windowgroup.go │ │ ├── internal │ │ ├── callback │ │ │ └── callback.go │ │ ├── closure │ │ │ ├── closure.go │ │ │ ├── closure_go_1_14.go │ │ │ ├── closure_go_1_15.go │ │ │ └── funcstack.go │ │ └── slab │ │ │ └── slab.go │ │ └── pango │ │ ├── fontconfig.go.h │ │ ├── pango-attributes.go │ │ ├── pango-attributes.go.h │ │ ├── pango-attributes_since_1_44.go │ │ ├── pango-context.go │ │ ├── pango-font.go │ │ ├── pango-glyph-item.go │ │ ├── pango-glyph.go │ │ ├── pango-gravity.go │ │ ├── pango-layout.go │ │ ├── pango-layout.go.h │ │ ├── pango-types.go │ │ ├── pango.go │ │ ├── pango.go.h │ │ ├── pangocairo.go │ │ └── pangocairo.go.h ├── huandu │ └── xstrings │ │ ├── .gitignore │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── common.go │ │ ├── convert.go │ │ ├── count.go │ │ ├── doc.go │ │ ├── format.go │ │ ├── manipulate.go │ │ ├── stringbuilder.go │ │ ├── stringbuilder_go110.go │ │ └── translate.go ├── leonelquinteros │ └── gotext │ │ ├── .gitignore │ │ ├── CODE_OF_CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── domain.go │ │ ├── gotext.go │ │ ├── helper.go │ │ ├── introspector.go │ │ ├── locale.go │ │ ├── mo.go │ │ ├── plurals │ │ ├── compiler.go │ │ ├── expression.go │ │ ├── genfixture.py │ │ ├── math.go │ │ └── tests.go │ │ ├── po.go │ │ ├── translation.go │ │ └── translator.go ├── mattn │ └── go-runewidth │ │ ├── LICENSE │ │ ├── README.md │ │ ├── runewidth.go │ │ ├── runewidth_appengine.go │ │ ├── runewidth_js.go │ │ ├── runewidth_posix.go │ │ ├── runewidth_table.go │ │ └── runewidth_windows.go ├── nightlyone │ └── lockfile │ │ ├── .gitignore │ │ ├── .gitmodules │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── appveyor.yml │ │ ├── lockfile.go │ │ ├── lockfile_unix.go │ │ └── lockfile_windows.go ├── nsf │ └── termbox-go │ │ ├── AUTHORS │ │ ├── LICENSE │ │ ├── README.md │ │ ├── api.go │ │ ├── api_common.go │ │ ├── api_windows.go │ │ ├── collect_terminfo.py │ │ ├── escwait.go │ │ ├── escwait_darwin.go │ │ ├── syscalls_darwin.go │ │ ├── syscalls_darwin_amd64.go │ │ ├── syscalls_dragonfly.go │ │ ├── syscalls_freebsd.go │ │ ├── syscalls_linux.go │ │ ├── syscalls_netbsd.go │ │ ├── syscalls_openbsd.go │ │ ├── syscalls_windows.go │ │ ├── termbox.go │ │ ├── termbox_common.go │ │ ├── termbox_windows.go │ │ ├── terminfo.go │ │ └── terminfo_builtin.go ├── rivo │ └── uniseg │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── doc.go │ │ ├── eastasianwidth.go │ │ ├── emojipresentation.go │ │ ├── gen_breaktest.go │ │ ├── gen_properties.go │ │ ├── grapheme.go │ │ ├── graphemeproperties.go │ │ ├── graphemerules.go │ │ ├── line.go │ │ ├── lineproperties.go │ │ ├── linerules.go │ │ ├── properties.go │ │ ├── sentence.go │ │ ├── sentenceproperties.go │ │ ├── sentencerules.go │ │ ├── step.go │ │ ├── width.go │ │ ├── word.go │ │ ├── wordproperties.go │ │ └── wordrules.go └── spf13 │ └── pflag │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── bool.go │ ├── bool_slice.go │ ├── bytes.go │ ├── count.go │ ├── duration.go │ ├── duration_slice.go │ ├── flag.go │ ├── float32.go │ ├── float32_slice.go │ ├── float64.go │ ├── float64_slice.go │ ├── golangflag.go │ ├── int.go │ ├── int16.go │ ├── int32.go │ ├── int32_slice.go │ ├── int64.go │ ├── int64_slice.go │ ├── int8.go │ ├── int_slice.go │ ├── ip.go │ ├── ip_slice.go │ ├── ipmask.go │ ├── ipnet.go │ ├── string.go │ ├── string_array.go │ ├── string_slice.go │ ├── string_to_int.go │ ├── string_to_int64.go │ ├── string_to_string.go │ ├── uint.go │ ├── uint16.go │ ├── uint32.go │ ├── uint64.go │ ├── uint8.go │ └── uint_slice.go ├── golang.org └── x │ ├── crypto │ ├── LICENSE │ ├── PATENTS │ └── ssh │ │ └── terminal │ │ └── terminal.go │ ├── sys │ ├── LICENSE │ ├── PATENTS │ ├── plan9 │ │ ├── asm.s │ │ ├── asm_plan9_386.s │ │ ├── asm_plan9_amd64.s │ │ ├── asm_plan9_arm.s │ │ ├── const_plan9.go │ │ ├── dir_plan9.go │ │ ├── env_plan9.go │ │ ├── errors_plan9.go │ │ ├── mkall.sh │ │ ├── mkerrors.sh │ │ ├── mksysnum_plan9.sh │ │ ├── pwd_go15_plan9.go │ │ ├── pwd_plan9.go │ │ ├── race.go │ │ ├── race0.go │ │ ├── str.go │ │ ├── syscall.go │ │ ├── syscall_plan9.go │ │ ├── zsyscall_plan9_386.go │ │ ├── zsyscall_plan9_amd64.go │ │ ├── zsyscall_plan9_arm.go │ │ └── zsysnum_plan9.go │ ├── unix │ │ ├── .gitignore │ │ ├── README.md │ │ ├── affinity_linux.go │ │ ├── aliases.go │ │ ├── asm_aix_ppc64.s │ │ ├── asm_bsd_386.s │ │ ├── asm_bsd_amd64.s │ │ ├── asm_bsd_arm.s │ │ ├── asm_bsd_arm64.s │ │ ├── asm_bsd_ppc64.s │ │ ├── asm_bsd_riscv64.s │ │ ├── asm_linux_386.s │ │ ├── asm_linux_amd64.s │ │ ├── asm_linux_arm.s │ │ ├── asm_linux_arm64.s │ │ ├── asm_linux_loong64.s │ │ ├── asm_linux_mips64x.s │ │ ├── asm_linux_mipsx.s │ │ ├── asm_linux_ppc64x.s │ │ ├── asm_linux_riscv64.s │ │ ├── asm_linux_s390x.s │ │ ├── asm_openbsd_mips64.s │ │ ├── asm_solaris_amd64.s │ │ ├── asm_zos_s390x.s │ │ ├── auxv.go │ │ ├── auxv_unsupported.go │ │ ├── bluetooth_linux.go │ │ ├── bpxsvc_zos.go │ │ ├── bpxsvc_zos.s │ │ ├── cap_freebsd.go │ │ ├── constants.go │ │ ├── dev_aix_ppc.go │ │ ├── dev_aix_ppc64.go │ │ ├── dev_darwin.go │ │ ├── dev_dragonfly.go │ │ ├── dev_freebsd.go │ │ ├── dev_linux.go │ │ ├── dev_netbsd.go │ │ ├── dev_openbsd.go │ │ ├── dev_zos.go │ │ ├── dirent.go │ │ ├── endian_big.go │ │ ├── endian_little.go │ │ ├── env_unix.go │ │ ├── fcntl.go │ │ ├── fcntl_darwin.go │ │ ├── fcntl_linux_32bit.go │ │ ├── fdset.go │ │ ├── gccgo.go │ │ ├── gccgo_c.c │ │ ├── gccgo_linux_amd64.go │ │ ├── ifreq_linux.go │ │ ├── ioctl_linux.go │ │ ├── ioctl_signed.go │ │ ├── ioctl_unsigned.go │ │ ├── ioctl_zos.go │ │ ├── mkall.sh │ │ ├── mkerrors.sh │ │ ├── mmap_nomremap.go │ │ ├── mremap.go │ │ ├── pagesize_unix.go │ │ ├── pledge_openbsd.go │ │ ├── ptrace_darwin.go │ │ ├── ptrace_ios.go │ │ ├── race.go │ │ ├── race0.go │ │ ├── readdirent_getdents.go │ │ ├── readdirent_getdirentries.go │ │ ├── sockcmsg_dragonfly.go │ │ ├── sockcmsg_linux.go │ │ ├── sockcmsg_unix.go │ │ ├── sockcmsg_unix_other.go │ │ ├── sockcmsg_zos.go │ │ ├── symaddr_zos_s390x.s │ │ ├── syscall.go │ │ ├── syscall_aix.go │ │ ├── syscall_aix_ppc.go │ │ ├── syscall_aix_ppc64.go │ │ ├── syscall_bsd.go │ │ ├── syscall_darwin.go │ │ ├── syscall_darwin_amd64.go │ │ ├── syscall_darwin_arm64.go │ │ ├── syscall_darwin_libSystem.go │ │ ├── syscall_dragonfly.go │ │ ├── syscall_dragonfly_amd64.go │ │ ├── syscall_freebsd.go │ │ ├── syscall_freebsd_386.go │ │ ├── syscall_freebsd_amd64.go │ │ ├── syscall_freebsd_arm.go │ │ ├── syscall_freebsd_arm64.go │ │ ├── syscall_freebsd_riscv64.go │ │ ├── syscall_hurd.go │ │ ├── syscall_hurd_386.go │ │ ├── syscall_illumos.go │ │ ├── syscall_linux.go │ │ ├── syscall_linux_386.go │ │ ├── syscall_linux_alarm.go │ │ ├── syscall_linux_amd64.go │ │ ├── syscall_linux_amd64_gc.go │ │ ├── syscall_linux_arm.go │ │ ├── syscall_linux_arm64.go │ │ ├── syscall_linux_gc.go │ │ ├── syscall_linux_gc_386.go │ │ ├── syscall_linux_gc_arm.go │ │ ├── syscall_linux_gccgo_386.go │ │ ├── syscall_linux_gccgo_arm.go │ │ ├── syscall_linux_loong64.go │ │ ├── syscall_linux_mips64x.go │ │ ├── syscall_linux_mipsx.go │ │ ├── syscall_linux_ppc.go │ │ ├── syscall_linux_ppc64x.go │ │ ├── syscall_linux_riscv64.go │ │ ├── syscall_linux_s390x.go │ │ ├── syscall_linux_sparc64.go │ │ ├── syscall_netbsd.go │ │ ├── syscall_netbsd_386.go │ │ ├── syscall_netbsd_amd64.go │ │ ├── syscall_netbsd_arm.go │ │ ├── syscall_netbsd_arm64.go │ │ ├── syscall_openbsd.go │ │ ├── syscall_openbsd_386.go │ │ ├── syscall_openbsd_amd64.go │ │ ├── syscall_openbsd_arm.go │ │ ├── syscall_openbsd_arm64.go │ │ ├── syscall_openbsd_libc.go │ │ ├── syscall_openbsd_mips64.go │ │ ├── syscall_openbsd_ppc64.go │ │ ├── syscall_openbsd_riscv64.go │ │ ├── syscall_solaris.go │ │ ├── syscall_solaris_amd64.go │ │ ├── syscall_unix.go │ │ ├── syscall_unix_gc.go │ │ ├── syscall_unix_gc_ppc64x.go │ │ ├── syscall_zos_s390x.go │ │ ├── sysvshm_linux.go │ │ ├── sysvshm_unix.go │ │ ├── sysvshm_unix_other.go │ │ ├── timestruct.go │ │ ├── unveil_openbsd.go │ │ ├── vgetrandom_linux.go │ │ ├── vgetrandom_unsupported.go │ │ ├── xattr_bsd.go │ │ ├── zerrors_aix_ppc.go │ │ ├── zerrors_aix_ppc64.go │ │ ├── zerrors_darwin_amd64.go │ │ ├── zerrors_darwin_arm64.go │ │ ├── zerrors_dragonfly_amd64.go │ │ ├── zerrors_freebsd_386.go │ │ ├── zerrors_freebsd_amd64.go │ │ ├── zerrors_freebsd_arm.go │ │ ├── zerrors_freebsd_arm64.go │ │ ├── zerrors_freebsd_riscv64.go │ │ ├── zerrors_linux.go │ │ ├── zerrors_linux_386.go │ │ ├── zerrors_linux_amd64.go │ │ ├── zerrors_linux_arm.go │ │ ├── zerrors_linux_arm64.go │ │ ├── zerrors_linux_loong64.go │ │ ├── zerrors_linux_mips.go │ │ ├── zerrors_linux_mips64.go │ │ ├── zerrors_linux_mips64le.go │ │ ├── zerrors_linux_mipsle.go │ │ ├── zerrors_linux_ppc.go │ │ ├── zerrors_linux_ppc64.go │ │ ├── zerrors_linux_ppc64le.go │ │ ├── zerrors_linux_riscv64.go │ │ ├── zerrors_linux_s390x.go │ │ ├── zerrors_linux_sparc64.go │ │ ├── zerrors_netbsd_386.go │ │ ├── zerrors_netbsd_amd64.go │ │ ├── zerrors_netbsd_arm.go │ │ ├── zerrors_netbsd_arm64.go │ │ ├── zerrors_openbsd_386.go │ │ ├── zerrors_openbsd_amd64.go │ │ ├── zerrors_openbsd_arm.go │ │ ├── zerrors_openbsd_arm64.go │ │ ├── zerrors_openbsd_mips64.go │ │ ├── zerrors_openbsd_ppc64.go │ │ ├── zerrors_openbsd_riscv64.go │ │ ├── zerrors_solaris_amd64.go │ │ ├── zerrors_zos_s390x.go │ │ ├── zptrace_armnn_linux.go │ │ ├── zptrace_linux_arm64.go │ │ ├── zptrace_mipsnn_linux.go │ │ ├── zptrace_mipsnnle_linux.go │ │ ├── zptrace_x86_linux.go │ │ ├── zsymaddr_zos_s390x.s │ │ ├── zsyscall_aix_ppc.go │ │ ├── zsyscall_aix_ppc64.go │ │ ├── zsyscall_aix_ppc64_gc.go │ │ ├── zsyscall_aix_ppc64_gccgo.go │ │ ├── zsyscall_darwin_amd64.go │ │ ├── zsyscall_darwin_amd64.s │ │ ├── zsyscall_darwin_arm64.go │ │ ├── zsyscall_darwin_arm64.s │ │ ├── zsyscall_dragonfly_amd64.go │ │ ├── zsyscall_freebsd_386.go │ │ ├── zsyscall_freebsd_amd64.go │ │ ├── zsyscall_freebsd_arm.go │ │ ├── zsyscall_freebsd_arm64.go │ │ ├── zsyscall_freebsd_riscv64.go │ │ ├── zsyscall_illumos_amd64.go │ │ ├── zsyscall_linux.go │ │ ├── zsyscall_linux_386.go │ │ ├── zsyscall_linux_amd64.go │ │ ├── zsyscall_linux_arm.go │ │ ├── zsyscall_linux_arm64.go │ │ ├── zsyscall_linux_loong64.go │ │ ├── zsyscall_linux_mips.go │ │ ├── zsyscall_linux_mips64.go │ │ ├── zsyscall_linux_mips64le.go │ │ ├── zsyscall_linux_mipsle.go │ │ ├── zsyscall_linux_ppc.go │ │ ├── zsyscall_linux_ppc64.go │ │ ├── zsyscall_linux_ppc64le.go │ │ ├── zsyscall_linux_riscv64.go │ │ ├── zsyscall_linux_s390x.go │ │ ├── zsyscall_linux_sparc64.go │ │ ├── zsyscall_netbsd_386.go │ │ ├── zsyscall_netbsd_amd64.go │ │ ├── zsyscall_netbsd_arm.go │ │ ├── zsyscall_netbsd_arm64.go │ │ ├── zsyscall_openbsd_386.go │ │ ├── zsyscall_openbsd_386.s │ │ ├── zsyscall_openbsd_amd64.go │ │ ├── zsyscall_openbsd_amd64.s │ │ ├── zsyscall_openbsd_arm.go │ │ ├── zsyscall_openbsd_arm.s │ │ ├── zsyscall_openbsd_arm64.go │ │ ├── zsyscall_openbsd_arm64.s │ │ ├── zsyscall_openbsd_mips64.go │ │ ├── zsyscall_openbsd_mips64.s │ │ ├── zsyscall_openbsd_ppc64.go │ │ ├── zsyscall_openbsd_ppc64.s │ │ ├── zsyscall_openbsd_riscv64.go │ │ ├── zsyscall_openbsd_riscv64.s │ │ ├── zsyscall_solaris_amd64.go │ │ ├── zsyscall_zos_s390x.go │ │ ├── zsysctl_openbsd_386.go │ │ ├── zsysctl_openbsd_amd64.go │ │ ├── zsysctl_openbsd_arm.go │ │ ├── zsysctl_openbsd_arm64.go │ │ ├── zsysctl_openbsd_mips64.go │ │ ├── zsysctl_openbsd_ppc64.go │ │ ├── zsysctl_openbsd_riscv64.go │ │ ├── zsysnum_darwin_amd64.go │ │ ├── zsysnum_darwin_arm64.go │ │ ├── zsysnum_dragonfly_amd64.go │ │ ├── zsysnum_freebsd_386.go │ │ ├── zsysnum_freebsd_amd64.go │ │ ├── zsysnum_freebsd_arm.go │ │ ├── zsysnum_freebsd_arm64.go │ │ ├── zsysnum_freebsd_riscv64.go │ │ ├── zsysnum_linux_386.go │ │ ├── zsysnum_linux_amd64.go │ │ ├── zsysnum_linux_arm.go │ │ ├── zsysnum_linux_arm64.go │ │ ├── zsysnum_linux_loong64.go │ │ ├── zsysnum_linux_mips.go │ │ ├── zsysnum_linux_mips64.go │ │ ├── zsysnum_linux_mips64le.go │ │ ├── zsysnum_linux_mipsle.go │ │ ├── zsysnum_linux_ppc.go │ │ ├── zsysnum_linux_ppc64.go │ │ ├── zsysnum_linux_ppc64le.go │ │ ├── zsysnum_linux_riscv64.go │ │ ├── zsysnum_linux_s390x.go │ │ ├── zsysnum_linux_sparc64.go │ │ ├── zsysnum_netbsd_386.go │ │ ├── zsysnum_netbsd_amd64.go │ │ ├── zsysnum_netbsd_arm.go │ │ ├── zsysnum_netbsd_arm64.go │ │ ├── zsysnum_openbsd_386.go │ │ ├── zsysnum_openbsd_amd64.go │ │ ├── zsysnum_openbsd_arm.go │ │ ├── zsysnum_openbsd_arm64.go │ │ ├── zsysnum_openbsd_mips64.go │ │ ├── zsysnum_openbsd_ppc64.go │ │ ├── zsysnum_openbsd_riscv64.go │ │ ├── zsysnum_zos_s390x.go │ │ ├── ztypes_aix_ppc.go │ │ ├── ztypes_aix_ppc64.go │ │ ├── ztypes_darwin_amd64.go │ │ ├── ztypes_darwin_arm64.go │ │ ├── ztypes_dragonfly_amd64.go │ │ ├── ztypes_freebsd_386.go │ │ ├── ztypes_freebsd_amd64.go │ │ ├── ztypes_freebsd_arm.go │ │ ├── ztypes_freebsd_arm64.go │ │ ├── ztypes_freebsd_riscv64.go │ │ ├── ztypes_linux.go │ │ ├── ztypes_linux_386.go │ │ ├── ztypes_linux_amd64.go │ │ ├── ztypes_linux_arm.go │ │ ├── ztypes_linux_arm64.go │ │ ├── ztypes_linux_loong64.go │ │ ├── ztypes_linux_mips.go │ │ ├── ztypes_linux_mips64.go │ │ ├── ztypes_linux_mips64le.go │ │ ├── ztypes_linux_mipsle.go │ │ ├── ztypes_linux_ppc.go │ │ ├── ztypes_linux_ppc64.go │ │ ├── ztypes_linux_ppc64le.go │ │ ├── ztypes_linux_riscv64.go │ │ ├── ztypes_linux_s390x.go │ │ ├── ztypes_linux_sparc64.go │ │ ├── ztypes_netbsd_386.go │ │ ├── ztypes_netbsd_amd64.go │ │ ├── ztypes_netbsd_arm.go │ │ ├── ztypes_netbsd_arm64.go │ │ ├── ztypes_openbsd_386.go │ │ ├── ztypes_openbsd_amd64.go │ │ ├── ztypes_openbsd_arm.go │ │ ├── ztypes_openbsd_arm64.go │ │ ├── ztypes_openbsd_mips64.go │ │ ├── ztypes_openbsd_ppc64.go │ │ ├── ztypes_openbsd_riscv64.go │ │ ├── ztypes_solaris_amd64.go │ │ └── ztypes_zos_s390x.go │ └── windows │ │ ├── aliases.go │ │ ├── dll_windows.go │ │ ├── env_windows.go │ │ ├── eventlog.go │ │ ├── exec_windows.go │ │ ├── memory_windows.go │ │ ├── mkerrors.bash │ │ ├── mkknownfolderids.bash │ │ ├── mksyscall.go │ │ ├── race.go │ │ ├── race0.go │ │ ├── security_windows.go │ │ ├── service.go │ │ ├── setupapi_windows.go │ │ ├── str.go │ │ ├── syscall.go │ │ ├── syscall_windows.go │ │ ├── types_windows.go │ │ ├── types_windows_386.go │ │ ├── types_windows_amd64.go │ │ ├── types_windows_arm.go │ │ ├── types_windows_arm64.go │ │ ├── zerrors_windows.go │ │ ├── zknownfolderids_windows.go │ │ └── zsyscall_windows.go │ ├── term │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── PATENTS │ ├── README.md │ ├── codereview.cfg │ ├── term.go │ ├── term_plan9.go │ ├── term_unix.go │ ├── term_unix_bsd.go │ ├── term_unix_other.go │ ├── term_unsupported.go │ ├── term_windows.go │ └── terminal.go │ └── text │ ├── LICENSE │ ├── PATENTS │ ├── internal │ ├── format │ │ ├── format.go │ │ └── parser.go │ ├── language │ │ ├── common.go │ │ ├── compact.go │ │ ├── compact │ │ │ ├── compact.go │ │ │ ├── language.go │ │ │ ├── parents.go │ │ │ ├── tables.go │ │ │ └── tags.go │ │ ├── compose.go │ │ ├── coverage.go │ │ ├── language.go │ │ ├── lookup.go │ │ ├── match.go │ │ ├── parse.go │ │ ├── tables.go │ │ └── tags.go │ └── tag │ │ └── tag.go │ └── language │ ├── coverage.go │ ├── display │ ├── dict.go │ ├── display.go │ ├── lookup.go │ └── tables.go │ ├── doc.go │ ├── language.go │ ├── match.go │ ├── parse.go │ ├── tables.go │ └── tags.go ├── gopkg.in └── yaml.v2 │ ├── .travis.yml │ ├── LICENSE │ ├── LICENSE.libyaml │ ├── NOTICE │ ├── README.md │ ├── apic.go │ ├── decode.go │ ├── emitterc.go │ ├── encode.go │ ├── parserc.go │ ├── readerc.go │ ├── resolve.go │ ├── scannerc.go │ ├── sorter.go │ ├── writerc.go │ ├── yaml.go │ ├── yamlh.go │ └── yamlprivateh.go └── modules.txt /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | labels: bug_triage 5 | --- 6 | 7 | **Describe the bug** 8 | A clear and concise description of what the bug is. 9 | 10 | **To Reproduce** 11 | Steps to reproduce the behavior: 12 | 1. Go to '...' 13 | 2. Click on '....' 14 | 3. Scroll down to '....' 15 | 4. See error 16 | 17 | **Expected behavior** 18 | A clear and concise description of what you expected to happen. 19 | 20 | **Screenshots** 21 | If applicable, add screenshots to help explain your problem. 22 | 23 | **Environment (please complete the following information):** 24 | - Clear Linux OS Version: [swupd info] 25 | - Installer Version [clr-installer -v] 26 | - Platform: [hardware infomation] 27 | 28 | 29 | **Additional context** 30 | Add any other context about the problem here. 31 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | **Is your feature request related to a problem? Please describe.** 8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe alternatives you've considered** 14 | A clear and concise description of any alternative solutions or features you've considered. 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | **Please ensure the above *guidelines for contributing* are met.** 2 | 3 | Fixes Issue: # 4 | 5 | Changes proposed in this pull request: 6 | - 7 | - 8 | - 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/workflows/golangci-lint.yml: -------------------------------------------------------------------------------- 1 | name: golangci-lint 2 | 3 | on: [pull_request] 4 | 5 | permissions: 6 | contents: read 7 | pull-requests: read 8 | jobs: 9 | golangci: 10 | name: lint 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v4 14 | - uses: actions/setup-go@v5 15 | with: 16 | go-version: stable 17 | - uses: actions/checkout@v3 18 | - name: Install gdk 19 | run: sudo apt-get install -y libgtk-3-dev 20 | - name: golangci-lint 21 | uses: golangci/golangci-lint-action@v6 22 | with: 23 | version: latest 24 | only-new-issues: true 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Lines that start with '#' are comments. 2 | # See http://git-scm.com/docs/gitignore 3 | 4 | # Ignore all Linux Editor revision save files 5 | *~ 6 | *.swp 7 | # Emacs 8 | .#* 9 | 10 | # Project directories to ignore 11 | .coverage/ 12 | .gopath/ 13 | bin/ 14 | pkg/ 15 | 16 | #editors 17 | .vscode 18 | clrinstaller.code-workspace 19 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- 1 | run: 2 | timeout: 10m 3 | 4 | linters-settings: 5 | lll: 6 | tab-width: 4 7 | line-length: 120 # we use the default value in lll 8 | 9 | linters: 10 | disable-all: true 11 | enable: 12 | - misspell 13 | - govet 14 | - ineffassign 15 | - gocyclo 16 | - gofmt 17 | - goimports 18 | - revive 19 | - unused 20 | - vetshadow 21 | - errcheck 22 | - lll 23 | - whitespace 24 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Reporting Security Concerns 2 | 3 | If you have discovered potential security vulnerability, please visit https://www.intel.com/content/www/us/en/security-center/default.html for best practices on reporting security issues and to report your concern. 4 | -------------------------------------------------------------------------------- /clr-installer/gui.go: -------------------------------------------------------------------------------- 1 | // +build guiBuild 2 | 3 | // Copyright © 2018 Intel Corporation 4 | // 5 | // SPDX-License-Identifier: GPL-3.0-only 6 | 7 | package main 8 | 9 | import ( 10 | "github.com/clearlinux/clr-installer/frontend" 11 | "github.com/clearlinux/clr-installer/gui" 12 | "github.com/clearlinux/clr-installer/massinstall" 13 | "github.com/clearlinux/clr-installer/tui" 14 | ) 15 | 16 | // The list of possible frontends to run for GUI 17 | func initFrontendList() { 18 | frontEndImpls = []frontend.Frontend{ 19 | massinstall.New(), 20 | gui.New(), 21 | tui.New(), 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /clr-installer/tui.go: -------------------------------------------------------------------------------- 1 | //go:build !guiBuild 2 | // +build !guiBuild 3 | 4 | // Copyright © 2018 Intel Corporation 5 | // 6 | // SPDX-License-Identifier: GPL-3.0-only 7 | 8 | package main 9 | 10 | import ( 11 | "github.com/clearlinux/clr-installer/frontend" 12 | "github.com/clearlinux/clr-installer/massinstall" 13 | "github.com/clearlinux/clr-installer/tui" 14 | ) 15 | 16 | // The list of possible frontends to run for TUI 17 | func initFrontendList() { 18 | frontEndImpls = []frontend.Frontend{ 19 | massinstall.New(), 20 | tui.New(), 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /cmd/cmd_common_test.go: -------------------------------------------------------------------------------- 1 | // Copyright © 2020 Intel Corporation 2 | // 3 | // SPDX-License-Identifier: GPL-3.0-only 4 | 5 | package cmd 6 | 7 | import ( 8 | "fmt" 9 | "os/exec" 10 | "testing" 11 | ) 12 | 13 | func TestCracklibCheckExecutable(t *testing.T) { 14 | if _, err := exec.LookPath(crackLibPath); err != nil { 15 | fmt.Println("cracklib-check exe could not be found") 16 | t.Fail() 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /etc/chpasswd: -------------------------------------------------------------------------------- 1 | auth sufficient pam_rootok.so debug 2 | account sufficient pam_rootok.so debug 3 | password include common-password debug 4 | -------------------------------------------------------------------------------- /etc/clr-desktop.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | bundles: [ 3 | c-basic, 4 | desktop-autostart, 5 | git, 6 | openssh-server, 7 | os-core, 8 | os-core-update, 9 | vim, 10 | vlc, 11 | ] 12 | 13 | keyboard: us 14 | language: en_US.UTF-8 15 | timezone: UTC 16 | kernel: kernel-native 17 | -------------------------------------------------------------------------------- /etc/clr-installer-gui.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Encoding=UTF-8 4 | Name=Install Clear Linux* OS 5 | Name[es_MX]=Instalar el sistema operativo Clear Linux* 6 | Name[zh_CN]=安装 Clear Linux* OS 7 | Comment=Clear Linux* OS Installer 8 | Comment[es_MX]=Instalador del sistema operativo Clear Linux* 9 | Comment[zh_CN]=Clear Linux* OS 安装程序 10 | Icon=/usr/share/clr-installer/themes/clr.png 11 | Exec=pkexec /usr/bin/clr-installer-gui 12 | StartupWMClass=clr-installer-gui 13 | Terminal=false 14 | Categories=X-GNOME-Settings-Panel;GTK;System;Settings; 15 | Keywords=Install;SystemSettings; 16 | -------------------------------------------------------------------------------- /etc/clr-installer.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | bundles: [os-core, os-core-update, openssh-server] 3 | keyboard: us 4 | language: en_US.UTF-8 5 | timezone: UTC 6 | kernel: kernel-native 7 | -------------------------------------------------------------------------------- /etc/custom.conf: -------------------------------------------------------------------------------- 1 | [daemon] 2 | AutomaticLoginEnable=True 3 | AutomaticLogin=clrlinux 4 | -------------------------------------------------------------------------------- /etc/kernels.json: -------------------------------------------------------------------------------- 1 | { 2 | "kernels": [ 3 | { 4 | "bundle": "kernel-native", 5 | "name": "Native", 6 | "desc": "Cutting-edge Linux kernel tailored for bare metal" 7 | }, 8 | { 9 | "bundle": "kernel-lts", 10 | "name": "LTS Latest", 11 | "desc": "Run the latest Long Term Support (LTS) Linux Kernel", 12 | "note": "THIS BUNDLE is auto-selected for VirtualBox in model.go" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /etc/org.clearlinux.clr-installer-gui.rules: -------------------------------------------------------------------------------- 1 | polkit.addRule(function(action, subject) { 2 | if (action.id == "org.clearlinux.clr-installer-gui.start") { 3 | if (subject.isInGroup("wheel")) { 4 | return polkit.Result.YES; 5 | } else { 6 | return polkit.Result.AUTH_ADMIN; 7 | } 8 | } 9 | }); 10 | -------------------------------------------------------------------------------- /etc/systemd/clr-installer-provision.service: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: GPL-3.0-only 4 | # 5 | # The kernel command line needs to provide: 6 | # 1. URL to the clr-installer YAML configuration file 7 | # i.e. clri.descriptor=http://server.com/path/file.yaml 8 | # 2. Provide the default console device for the hardware 9 | # i.e. console=tty1 10 | # 11 | # Note: To disable via kernel command line add to the boot command: 12 | # systemd.mask=clr-installer-provision.service 13 | # 14 | [Unit] 15 | Description=Clear Linux OS Installer 16 | After=systemd-user-sessions.service plymouth-quit.service getty@tty1.service 17 | Conflicts=getty@tty1.service getty@tty0.service serial-getty@ttyS0.service 18 | ConditionKernelCommandLine=clri.descriptor 19 | 20 | [Service] 21 | Type=oneshot 22 | ExecStartPre=-/usr/bin/cat /etc/issue 23 | ExecStart=/usr/bin/clr-installer 24 | ExecStartPost=/usr/bin/reboot 25 | StandardInput=tty-force 26 | StandardOutput=tty-force 27 | StandardError=tty-force 28 | 29 | [Install] 30 | WantedBy=multi-user.target 31 | -------------------------------------------------------------------------------- /frontend/frontend.go: -------------------------------------------------------------------------------- 1 | // Copyright © 2018 Intel Corporation 2 | // 3 | // SPDX-License-Identifier: GPL-3.0-only 4 | 5 | package frontend 6 | 7 | import ( 8 | "github.com/clearlinux/clr-installer/args" 9 | "github.com/clearlinux/clr-installer/model" 10 | ) 11 | 12 | // Frontend is the common interface for the frontend entry point 13 | type Frontend interface { 14 | // MustRun is the method where the frontend implementation tells the 15 | // core code that this frontend wants to run 16 | MustRun(args *args.Args) bool 17 | 18 | // Run is the actual entry point 19 | Run(md *model.SystemInstall, rootDir string, args args.Args) (bool, error) 20 | } 21 | -------------------------------------------------------------------------------- /how-to-make-a-release: -------------------------------------------------------------------------------- 1 | 1) (optional) go get -u ./... && go mod tidy && go mod vendor (retest, see readme for testing details then create PR) 2 | 2) Tag new release version and push tag to github and use github ui to draft a new release 3 | -------------------------------------------------------------------------------- /iso_templates/isolinux.cfg.template: -------------------------------------------------------------------------------- 1 | DISPLAY boot.txt 2 | DEFAULT menu.c32 3 | TIMEOUT 50 4 | 5 | LABEL clear 6 | MENU DEFAULT 7 | MENU LABEL Clear Linux* OS 8 | LINUX /kernel/kernel.xz 9 | INITRD /EFI/BOOT/initrd.gz 10 | APPEND {{.Options}} 11 | 12 | LABEL verifyiso 13 | MENU LABEL Verify ISO Integrity 14 | LINUX /kernel/kernel.xz 15 | INITRD /EFI/BOOT/initrd.gz 16 | APPEND {{.OptionsMediaCheck}} 17 | -------------------------------------------------------------------------------- /scripts/add-desktop-login-issue.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "Creating custom issue file for $1" 3 | 4 | echo "Welcome to the Clear Linux* OS live image! 5 | 6 | * Documentation: https://clearlinux.org/documentation 7 | * Community Support: https://community.clearlinux.org 8 | 9 | To install Clear Linux* OS onto this system please login as 'clrlinux', 10 | which has no password, and run: 11 | sudo -E clr-installer 12 | 13 | " >> $1/etc/issue 14 | 15 | exit 0 16 | -------------------------------------------------------------------------------- /scripts/add-server-login-issue.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "Creating custom issue file for $1" 3 | 4 | echo "Welcome to the Clear Linux* OS live image! 5 | 6 | * Documentation: https://clearlinux.org/documentation 7 | * Community Support: https://community.clearlinux.org 8 | 9 | To configure the network run: 10 | nmtui 11 | 12 | To install Clear Linux* OS onto this system please login as root, 13 | enter a new temporary password, and run: 14 | clr-installer 15 | 16 | " >> $1/etc/issue 17 | 18 | exit 0 19 | -------------------------------------------------------------------------------- /scripts/developer-image-post.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t 4 | # vi: set shiftwidth=4 tabstop=4 noexpandtab: 5 | # :indentSize=4:tabSize=4:noTabs=false: 6 | 7 | # Developer Image Post Install steps 8 | 9 | CHROOTPATH=$1 10 | export HOOKDIR=$(dirname $0) 11 | 12 | DESTDIR=$1 13 | SAVE_DIR=$(pwd) 14 | TEMP_INST=$(mktemp -d) 15 | export HOME=$(getent passwd $(id -un) |& awk -F: '{print $(NF-1)}') 16 | git clone . ${TEMP_INST} 17 | cd ${TEMP_INST} 18 | make install DESTDIR=${DESTDIR} 19 | 20 | cd ${SAVE_DIR} 21 | /bin/rm -rf ${TEMP_INST} 22 | 23 | exit 0 24 | 25 | # Editor modelines - https://www.wireshark.org/tools/modelines.html 26 | # 27 | # Local variables: 28 | # c-basic-offset: 4 29 | # tab-width: 4 30 | # indent-tabs-mode: t 31 | # End: 32 | # 33 | # vi: set shiftwidth=4 tabstop=4 noexpandtab: 34 | # :indentSize=4:tabSize=4:noTabs=false: 35 | # 36 | -------------------------------------------------------------------------------- /scripts/developer-image-pre.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t 4 | # vi: set shiftwidth=4 tabstop=4 noexpandtab: 5 | # :indentSize=4:tabSize=4:noTabs=false: 6 | 7 | # Developer Image Pre Install steps 8 | 9 | CHROOTPATH=$1 10 | export HOOKDIR=$(dirname $0) 11 | 12 | LINES=$(git status --porcelain --untracked=no | wc -l) 13 | 14 | if [ ${LINES} -ne 0 ]; then 15 | echo "Check-in or stash all files first!" 16 | echo "" 17 | git status --untracked=no 18 | 19 | exit 1 20 | fi 21 | 22 | exit 0 23 | 24 | # Editor modelines - https://www.wireshark.org/tools/modelines.html 25 | # 26 | # Local variables: 27 | # c-basic-offset: 4 28 | # tab-width: 4 29 | # indent-tabs-mode: t 30 | # End: 31 | # 32 | # vi: set shiftwidth=4 tabstop=4 noexpandtab: 33 | # :indentSize=4:tabSize=4:noTabs=false: 34 | # 35 | -------------------------------------------------------------------------------- /scripts/kvm-swapfile.yaml: -------------------------------------------------------------------------------- 1 | # clear-linux-config 2 | 3 | # Switch between aliases if you want to install to an actual block device. 4 | # i.e /dev/sda 5 | block-devices: [ 6 | {name: "bdevice", file: "kvm-swapfile.img"} 7 | ] 8 | 9 | targetMedia: 10 | - name: ${bdevice} 11 | size: "8G" 12 | type: disk 13 | children: 14 | - name: ${bdevice}1 15 | fstype: vfat 16 | mountpoint: /boot 17 | size: "512M" 18 | type: part 19 | - name: ${bdevice}2 20 | fstype: ext4 21 | mountpoint: / 22 | type: part 23 | 24 | bundles: [ 25 | bootloader, 26 | editors, 27 | network-basic, 28 | openssh-server, 29 | os-core, 30 | os-core-update, 31 | sysadmin-basic, 32 | ] 33 | 34 | autoUpdate: false 35 | postArchive: false 36 | postReboot: false 37 | telemetry: false 38 | 39 | keyboard: us 40 | language: en_US.UTF-8 41 | kernel: kernel-kvm 42 | -------------------------------------------------------------------------------- /scripts/kvm.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | 3 | # Switch between aliases if you want to install to an actual block device 4 | # i.e /dev/sda 5 | block-devices: [ 6 | {name: "bdevice", file: "kvm.img"} 7 | ] 8 | 9 | targetMedia: 10 | - name: ${bdevice} 11 | size: "8.54G" 12 | type: disk 13 | children: 14 | - name: ${bdevice}1 15 | fstype: vfat 16 | mountpoint: /boot 17 | size: "512M" 18 | type: part 19 | - name: ${bdevice}2 20 | fstype: swap 21 | size: "32M" 22 | type: part 23 | - name: ${bdevice}3 24 | fstype: ext4 25 | mountpoint: / 26 | size: "8G" 27 | type: part 28 | 29 | bundles: [ 30 | bootloader, 31 | editors, 32 | network-basic, 33 | openssh-server, 34 | os-core, 35 | os-core-update, 36 | sysadmin-basic, 37 | systemd-networkd-autostart 38 | ] 39 | 40 | postArchive: false 41 | postReboot: false 42 | telemetry: false 43 | copySwupd: false 44 | 45 | keyboard: us 46 | language: en_US.UTF-8 47 | kernel: kernel-kvm 48 | -------------------------------------------------------------------------------- /scripts/legacy-kvm-ext4-boot.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | 3 | # Switch between aliases if you want to install to an actual block device. 4 | # i.e /dev/sda 5 | block-devices: [ 6 | {name: "bdevice", file: "legacy-kvm-ext4-boot.img"} 7 | ] 8 | 9 | targetMedia: 10 | - name: ${bdevice} 11 | size: "8.54G" 12 | type: disk 13 | children: 14 | - name: ${bdevice}1 15 | fstype: ext4 16 | mountpoint: /boot 17 | size: "512M" 18 | type: part 19 | - name: ${bdevice}2 20 | fstype: swap 21 | size: "32M" 22 | type: part 23 | - name: ${bdevice}3 24 | fstype: ext4 25 | mountpoint: / 26 | size: "8G" 27 | type: part 28 | 29 | bundles: [ 30 | bootloader, 31 | editors, 32 | network-basic, 33 | openssh-server, 34 | os-core, 35 | os-core-update, 36 | sysadmin-basic, 37 | ] 38 | 39 | autoUpdate: false 40 | postArchive: false 41 | postReboot: false 42 | telemetry: false 43 | legacyBios: true 44 | 45 | keyboard: us 46 | language: en_US.UTF-8 47 | kernel: kernel-kvm 48 | -------------------------------------------------------------------------------- /scripts/legacy-kvm-vfat-boot.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | 3 | # Switch between aliases if you want to install to an actual block device. 4 | # i.e /dev/sda 5 | block-devices: [ 6 | {name: "bdevice", file: "legacy-kvm-vfat-boot.img"} 7 | ] 8 | 9 | targetMedia: 10 | - name: ${bdevice} 11 | size: "8.54G" 12 | type: disk 13 | children: 14 | - name: ${bdevice}1 15 | fstype: vfat 16 | mountpoint: /boot 17 | size: "512M" 18 | type: part 19 | - name: ${bdevice}2 20 | fstype: swap 21 | size: "32M" 22 | type: part 23 | - name: ${bdevice}3 24 | fstype: ext4 25 | mountpoint: / 26 | size: "8G" 27 | type: part 28 | 29 | bundles: [ 30 | bootloader, 31 | editors, 32 | network-basic, 33 | openssh-server, 34 | os-core, 35 | os-core-update, 36 | sysadmin-basic, 37 | ] 38 | 39 | autoUpdate: false 40 | postArchive: false 41 | postReboot: false 42 | telemetry: false 43 | legacyBios: true 44 | 45 | keyboard: us 46 | language: en_US.UTF-8 47 | kernel: kernel-kvm 48 | -------------------------------------------------------------------------------- /scripts/legacy-kvm.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | 3 | # Switch between aliases if you want to install to an actual block device. 4 | # i.e /dev/sda 5 | block-devices: [ 6 | {name: "bdevice", file: "legacy-kvm-ext4-boot.img"} 7 | ] 8 | 9 | targetMedia: 10 | - name: ${bdevice} 11 | type: disk 12 | children: 13 | - name: ${bdevice}1 14 | fstype: ext4 15 | mountpoint: / 16 | size: "8G" 17 | type: part 18 | 19 | bundles: [ 20 | bootloader, 21 | editors, 22 | network-basic, 23 | openssh-server, 24 | os-core, 25 | os-core-update, 26 | sysadmin-basic, 27 | ] 28 | 29 | autoUpdate: false 30 | postArchive: false 31 | postReboot: false 32 | telemetry: false 33 | legacyBios: true 34 | 35 | keyboard: us 36 | language: en_US.UTF-8 37 | kernel: kernel-kvm 38 | -------------------------------------------------------------------------------- /scripts/live.yaml: -------------------------------------------------------------------------------- 1 | # clear-linux-config 2 | 3 | # Switch between aliases if you want to install to an actual block device. 4 | # i.e /dev/sda 5 | block-devices: [ 6 | {name: "bdevice", file: "live.img"} 7 | ] 8 | 9 | targetMedia: 10 | - name: ${bdevice} 11 | size: "5.08G" 12 | type: disk 13 | children: 14 | - name: ${bdevice}1 15 | fstype: vfat 16 | mountpoint: /boot 17 | size: "64M" 18 | type: part 19 | - name: ${bdevice}2 20 | fstype: ext4 21 | mountpoint: / 22 | size: "5G" 23 | type: part 24 | 25 | bundles: [ 26 | bootloader, 27 | editors, 28 | network-basic, 29 | openssh-server, 30 | os-core, 31 | os-core-update, 32 | sysadmin-basic, 33 | ] 34 | 35 | autoUpdate: false 36 | postArchive: false 37 | postReboot: false 38 | telemetry: false 39 | 40 | keyboard: us 41 | language: en_US.UTF-8 42 | kernel: kernel-native 43 | 44 | post-install: [ 45 | {cmd: "${yamlDir}/live-image-post-update-version.py ${chrootDir}"} 46 | ] 47 | -------------------------------------------------------------------------------- /scripts/local-telemetry-post.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Create a custom telemetry configuration to only log locally 4 | echo "Creating custom telemetry configuration for $1" 5 | mkdir -p $1/etc/telemetrics/ 6 | 7 | # Create configuration to keep data private 8 | if [[ ! -f "$1/etc/telemetrics/telemetrics.conf" ]];then 9 | cat < $1/etc/telemetrics/telemetrics.conf 10 | server=http://localhost/v2/collector 11 | record_server_delivery_enabled=false 12 | record_retention_enabled=true 13 | EOF 14 | fi 15 | 16 | exit 0 17 | -------------------------------------------------------------------------------- /scripts/wait-to-boot-post.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Have the installer image wait 5 seconds before launch 4 | # Useful for users to change the boot command for debug 5 | echo "timeout 5" >> $1/boot/loader/loader.conf 6 | 7 | exit 0 8 | -------------------------------------------------------------------------------- /tests/advanced.yaml: -------------------------------------------------------------------------------- 1 | # clear-linux-config 2 | 3 | # advanced.yaml 4 | # 5 | # Completes an Advanced installation for a server 6 | # Clear Linux OS 7 | 8 | keyboard: us 9 | language: en_US.UTF-8 10 | bundles: [os-core, os-core-update, openssh-server] 11 | telemetry: false 12 | timezone: America/Los_Angeles 13 | users: [{login: user1, 14 | username: user1, 15 | password: $6$hEEGzgD9mX/vuMUk$Q8C8moXKXrmolSnxvKMrqPWtko3cbz9e57sQH/rZ7oiinr4QYwLK/UMP3dG0XDn5gZR7TuZeRe5/DpOHpPTyd0, 16 | admin: true}] 17 | kernel: kernel-native 18 | hostname: clr-lvm-test 19 | autoUpdate: true 20 | postArchive: false 21 | postReboot: false 22 | -------------------------------------------------------------------------------- /tests/aws-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "aws.img", 4 | "partition" : 1, 5 | "size" : "512M", 6 | "type" : "linux" } ], 7 | "FilesystemTypes" : [ { "disk" : "aws.img", 8 | "partition" : 1, 9 | "type" : "ext4", 10 | "options" : "-b 4096 -O ^64bit" } ], 11 | "PartitionMountPoints" : [ { "disk" : "aws.img", 12 | "partition" : 1, 13 | "mount" : "/" } ], 14 | "Version": 20370, 15 | "Bundles": [ 16 | "kernel-aws", 17 | "os-cloudguest-aws", 18 | "os-core", 19 | "os-core-update", 20 | "openssh-server" 21 | ], 22 | "LegacyBios": true, 23 | "PostNonChroot": ["/home/clrbuilder/projects/clr-release-tools/config/image/aws-disable-root.sh"] 24 | } 25 | -------------------------------------------------------------------------------- /tests/azure-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "azure.img", 4 | "partition" : 1, 5 | "size" : "20G", 6 | "type" : "linux" } ], 7 | "FilesystemTypes" : [ { "disk" : "azure.img", 8 | "partition" : 1, 9 | "type" : "ext4", 10 | "options" : "-O ^64bit" } ], 11 | "PartitionMountPoints" : [ { "disk" : "azure.img", 12 | "partition" : 1, 13 | "mount" : "/" } ], 14 | "Version": 7777, 15 | "Bundles": ["editors", 16 | "kernel-hyperv", 17 | "network-basic", 18 | "os-core", 19 | "os-core-update", 20 | "openssh-server", 21 | "os-cloudguest-azure", 22 | "storage-utils", 23 | "sysadmin-basic"], 24 | "LegacyBios": true 25 | } 26 | -------------------------------------------------------------------------------- /tests/basic-invalid-descriptor.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | bundles: 3 | - os-core 4 | - os-core-update 5 | - kernel-native 6 | -------------------------------------------------------------------------------- /tests/basic-valid-descriptor.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | targetMedia: 3 | - name: sda 4 | type: disk 5 | children: 6 | - name: sda1 7 | size: 150M 8 | type: part 9 | fstype: vfat 10 | mountpoint: "/boot" 11 | - name: sda2 12 | size: 1.364G 13 | type: part 14 | fstype: swap 15 | - name: sda3 16 | size: 2G 17 | type: part 18 | fstype: ext4 19 | mountpoint: "/home" 20 | - name: sda4 21 | size: 4G 22 | type: part 23 | fstype: ext4 24 | mountpoint: "/" 25 | bundles: [os-core, os-core-update] 26 | keyboard: us 27 | language: us.UTF-8 28 | telemetry: true 29 | kernel: native-native 30 | -------------------------------------------------------------------------------- /tests/basic.yaml: -------------------------------------------------------------------------------- 1 | # clear-linux-config 2 | 3 | # basic.yaml 4 | # 5 | # This YAML file generates the basic TUI installer image for testing a minimial install 6 | # Clear Linux OS 7 | 8 | # Switch between aliases if you want to install to an actual block device. 9 | # i.e /dev/sda 10 | block-devices: [ 11 | {name: "installer", file: "installer.img"} 12 | ] 13 | 14 | targetMedia: 15 | - name: ${installer} 16 | type: disk 17 | children: 18 | - name: ${installer}1 19 | fstype: vfat 20 | mountpoint: /boot 21 | size: "150M" 22 | type: part 23 | - name: ${installer}2 24 | fstype: ext4 25 | mountpoint: / 26 | size: "2.6G" 27 | type: part 28 | 29 | bundles: [os-core, os-core-update] 30 | autoUpdate: false 31 | postArchive: false 32 | postReboot: false 33 | telemetry: false 34 | keyboard: us 35 | language: en_US.UTF-8 36 | kernel: kernel-native 37 | -------------------------------------------------------------------------------- /tests/block-device-image.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | block-devices: [ 3 | {name: "target", file: "target.img"} 4 | ] 5 | 6 | targetMedia: 7 | - name: ${target} 8 | size: "30752636928" 9 | type: disk 10 | children: 11 | - name: ${target}1 12 | fstype: vfat 13 | mountpoint: /boot 14 | size: "157286400" 15 | type: part 16 | - name: ${target}2 17 | fstype: swap 18 | size: "2147483648" 19 | type: part 20 | - name: ${target}3 21 | fstype: ext4 22 | mountpoint: / 23 | size: "28447866880" 24 | type: part 25 | 26 | bundles: [os-core, os-core-update] 27 | telemetry: false 28 | keyboard: us 29 | language: en_US.UTF-8 30 | kernel: kernel-native 31 | -------------------------------------------------------------------------------- /tests/block-devices-alias.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | block-devices: [ 3 | {name: "target", file: "/dev/sda"}, 4 | {name: "unused", file: "/dev/null"} 5 | ] 6 | 7 | targetMedia: 8 | - name: ${target} 9 | size: "30752636928" 10 | type: disk 11 | children: 12 | - name: ${target}1 13 | fstype: vfat 14 | mountpoint: /boot 15 | size: "157286400" 16 | type: part 17 | - name: ${target}2 18 | fstype: swap 19 | size: "2147483648" 20 | type: part 21 | - name: ${target}3 22 | fstype: ext4 23 | mountpoint: / 24 | size: "28447866880" 25 | type: part 26 | 27 | bundles: [os-core, os-core-update] 28 | telemetry: false 29 | keyboard: us 30 | language: en_US.UTF-8 31 | kernel: kernel-native 32 | -------------------------------------------------------------------------------- /tests/encrypt-valid-descriptor.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | targetMedia: 3 | - name: sda 4 | type: disk 5 | children: 6 | - name: sda1 7 | size: 150M 8 | type: part 9 | fstype: vfat 10 | mountpoint: "/boot" 11 | - name: sda2 12 | size: 1.364G 13 | type: crypt 14 | fstype: swap 15 | - name: sda3 16 | size: 2G 17 | type: crypt 18 | fstype: ext4 19 | mountpoint: "/home" 20 | - name: sda4 21 | size: 4G 22 | type: crypt 23 | fstype: ext4 24 | mountpoint: "/" 25 | bundles: [os-core, os-core-update] 26 | keyboard: us 27 | language: us.UTF-8 28 | telemetry: true 29 | kernel: native-native 30 | -------------------------------------------------------------------------------- /tests/full-good.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "test.img", "partition" : 1, "size" : "512M", "type" : "EFI" }, 4 | { "disk" : "test.img", "partition" : 2, "size" : "1G", "type" : "linux" } ], 5 | "FilesystemTypes" : [ { "disk" : "test.img", "partition" : 1, "type" : "vfat" }, 6 | { "disk" : "test.img", "partition" : 2, "type" : "ext4" } ], 7 | "PartitionMountPoints" : [ { "disk" : "test.img", "partition" : 1, "mount" : "/boot" }, 8 | { "disk" : "test.img", "partition" : 2, "mount" : "/" } ], 9 | "Users" : [ { "username" : "test", "key" : "key.pub", "uid" : 1000, "sudo" : true } ], 10 | "Version": 930, 11 | "Bundles": ["kernel-kvm"] 12 | } 13 | -------------------------------------------------------------------------------- /tests/functional/install/basic.bats: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bats 2 | 3 | # Author: Karthik Prabhu Vinod 4 | # Email: karthik.prabhu.vinod@intel.com 5 | 6 | load "../testlib" 7 | 8 | test_setup() { 9 | 10 | create_testworking_dir 11 | qemu-img create -f raw "$TESTWORKINGDIR"/testimgfile.img 5G 12 | loopbackdevice=$(losetup --partscan --find --show "$TESTWORKINGDIR"/testimgfile.img) 13 | 14 | } 15 | 16 | test_teardown() { 17 | 18 | losetup -d "$loopbackdevice" || true 19 | clean_testworking_dir 20 | 21 | } 22 | 23 | @test "INSTALL001: Basic Install" { 24 | 25 | run sh -c "$CLR_INSTALLER_EXE -c $TESTSCRIPTS/basic.yaml -b installer:${loopbackdevice}" 26 | assert_status_is "0" 27 | 28 | } 29 | -------------------------------------------------------------------------------- /tests/gce-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "disk.raw", 4 | "partition" : 1, 5 | "size" : "2G", 6 | "type" : "linux" } ], 7 | "FilesystemTypes" : [ { "disk" : "disk.raw", 8 | "partition" : 1, 9 | "type" : "ext4", 10 | "options" : "-b 4096 -O ^64bit"} ], 11 | "PartitionMountPoints" : [ { "disk" : "disk.raw", 12 | "partition" : 1, 13 | "mount" : "/" } ], 14 | "Version": "latest", 15 | "Bundles": [ 16 | "kernel-gce", 17 | "os-core", 18 | "os-core-update", 19 | "os-cloudguest-gce", 20 | "openssh-server" ], 21 | "PostNonChroot": ["/home/clrbuilder/projects/clr-release-tools/config/image/gce-image-google-sudoers-setup.sh"], 22 | "LegacyBios": true 23 | } 24 | -------------------------------------------------------------------------------- /tests/hyperv-test-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "hyperv-test.img", 4 | "partition" : 1, 5 | "size" : "20G", 6 | "type" : "linux" } ], 7 | "FilesystemTypes" : [ { "disk" : "hyperv-test.img", 8 | "partition" : 1, 9 | "type" : "ext4" } ], 10 | "PartitionMountPoints" : [ { "disk" : "hyperv-test.img", 11 | "partition" : 1, 12 | "mount" : "/" } ], 13 | "Version": 7777, 14 | "Bundles": ["kernel-hyperv", 15 | "os-core", 16 | "os-core-update", 17 | "openssh-server", 18 | "os-cloudguest-azure", 19 | "bat"], 20 | "LegacyBios": true 21 | } 22 | -------------------------------------------------------------------------------- /tests/installer-config-vm.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "installer-val.img", "partition" : 1, "size" : "64M", "type" : "EFI" }, 4 | { "disk" : "installer-val.img", "partition" : 2, "size" : "8G", "type" : "linux" } ], 5 | "FilesystemTypes" : [ { "disk" : "installer-val.img", "partition" : 1, "type" : "vfat" }, 6 | { "disk" : "installer-val.img", "partition" : 2, "type" : "ext4" } ], 7 | "PartitionMountPoints" : [ { "disk" : "installer-val.img", "partition" : 1, "mount" : "/boot" }, 8 | { "disk" : "installer-val.img", "partition" : 2, "mount" : "/" } ], 9 | "Version": "latest", 10 | "Bundles": ["kernel-native", "os-installer", "os-core-update", "os-core", "os-core-dev", "bootloader"], 11 | "PostNonChroot": ["./vm-installation-image-post-update-version.py"] 12 | } 13 | -------------------------------------------------------------------------------- /tests/installer-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "installer.img", "partition" : 1, "size" : "64M", "type" : "EFI" }, 4 | { "disk" : "installer.img", "partition" : 2, "size" : "2G", "type" : "linux" } ], 5 | "FilesystemTypes" : [ { "disk" : "installer.img", "partition" : 1, "type" : "vfat" }, 6 | { "disk" : "installer.img", "partition" : 2, "type" : "ext4" } ], 7 | "PartitionMountPoints" : [ { "disk" : "installer.img", "partition" : 1, "mount" : "/boot" }, 8 | { "disk" : "installer.img", "partition" : 2, "mount" : "/" } ], 9 | "Version": "latest", 10 | "Bundles": ["kernel-native", "os-installer", "os-core-update", "os-core", "bootloader"], 11 | "PostNonChroot": ["./installation-image-post-update-version.py"] 12 | } 13 | -------------------------------------------------------------------------------- /tests/invalid-ister-basic-descriptor.json: -------------------------------------------------------------------------------- 1 | "Bundles": ["kernel-native", "os-core", "os-core-update"] 2 | -------------------------------------------------------------------------------- /tests/invalid-ister-disk-ft.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "release.img", "partition" : 1, "size" : "32M", "type" : "EFI" }, 4 | { "disk" : "release.img", "partition" : 2, "size" : "16M", "type" : "swap" }, 5 | { "disk" : "release.img", "partition" : 3, "size" : "5G", "type" : "linux" } ], 6 | "FilesystemTypes" : [ { "disk" : "test.img", "partition" : 1, "type" : "vfat" }, 7 | { "disk" : "release.img", "partition" : 2, "type" : "swap" }, 8 | { "disk" : "release.img", "partition" : 3, "type" : "ext4" } ], 9 | "PartitionMountPoints" : [ { "disk" : "release.img", "partition" : 1, "mount" : "/boot" }, 10 | { "disk" : "release.img", "partition" : 3, "mount" : "/" } ], 11 | "Version": "latest", 12 | "Bundles": ["kernel-native", "os-core", "os-core-update"] 13 | } 14 | -------------------------------------------------------------------------------- /tests/invalid-ister-disk-pmp.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "release.img", "partition" : 1, "size" : "32M", "type" : "EFI" }, 4 | { "disk" : "release.img", "partition" : 2, "size" : "16M", "type" : "swap" }, 5 | { "disk" : "release.img", "partition" : 3, "size" : "5G", "type" : "linux" } ], 6 | "FilesystemTypes" : [ { "disk" : "release.img", "partition" : 1, "type" : "vfat" }, 7 | { "disk" : "release.img", "partition" : 2, "type" : "swap" }, 8 | { "disk" : "release.img", "partition" : 3, "type" : "ext4" } ], 9 | "PartitionMountPoints" : [ { "disk" : "", "partition" : 1, "mount" : "/boot" }, 10 | { "disk" : "release.img", "partition" : 3, "mount" : "/" } ], 11 | "Version": "latest", 12 | "Bundles": ["kernel-native", "os-core", "os-core-update"] 13 | } 14 | -------------------------------------------------------------------------------- /tests/invalid-ister-dt.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "", 3 | "PartitionLayout" : [ { "disk" : "release.img", "partition" : 1, "size" : "32M", "type" : "EFI" }, 4 | { "disk" : "release.img", "partition" : 2, "size" : "16M", "type" : "swap" }, 5 | { "disk" : "release.img", "partition" : 3, "size" : "5G", "type" : "linux" } ], 6 | "FilesystemTypes" : [ { "disk" : "release.img", "partition" : 1, "type" : "vfat" }, 7 | { "disk" : "release.img", "partition" : 2, "type" : "swap" }, 8 | { "disk" : "release.img", "partition" : 3, "type" : "ext4" } ], 9 | "PartitionMountPoints" : [ { "disk" : "release.img", "partition" : 1, "mount" : "/boot" }, 10 | { "disk" : "release.img", "partition" : 3, "mount" : "/" } ], 11 | "Version": "latest", 12 | "Bundles": ["kernel-native", "os-core", "os-core-update"] 13 | } 14 | -------------------------------------------------------------------------------- /tests/invalid-ister-duplicate-pl.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "release.img", "partition" : 1, "size" : "32M", "type" : "EFI" }, 4 | { "disk" : "release.img", "partition" : 2, "size" : "16M", "type" : "swap" }, 5 | { "disk" : "release.img", "partition" : 3, "size" : "3G", "type" : "linux" }, 6 | { "disk" : "release.img", "partition" : 3, "size" : "2G", "type" : "linux" } ], 7 | "FilesystemTypes" : [ { "disk" : "release.img", "partition" : 1, "type" : "vfat" }, 8 | { "disk" : "release.img", "partition" : 2, "type" : "swap" }, 9 | { "disk" : "release.img", "partition" : 3, "type" : "ext4" } ], 10 | "PartitionMountPoints" : [ { "disk" : "release.img", "partition" : 1, "mount" : "/boot" }, 11 | { "disk" : "release.img", "partition" : 3, "mount" : "/" } ], 12 | "Version": "latest", 13 | "Bundles": ["kernel-native", "os-core", "os-core-update"] 14 | } 15 | -------------------------------------------------------------------------------- /tests/invalid-ister-malformed-descriptor.json: -------------------------------------------------------------------------------- 1 | "Bundles": [""] 2 | -------------------------------------------------------------------------------- /tests/invalid-ister-missing-pl.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "release.img", "partition" : 1, "size" : "32M", "type" : "EFI" }, 4 | { "disk" : "release.img", "partition" : 3, "size" : "5G", "type" : "linux" } ], 5 | "FilesystemTypes" : [ { "disk" : "release.img", "partition" : 1, "type" : "vfat" }, 6 | { "disk" : "release.img", "partition" : 2, "type" : "swap" }, 7 | { "disk" : "release.img", "partition" : 3, "type" : "ext4" } ], 8 | "PartitionMountPoints" : [ { "disk" : "release.img", "partition" : 1, "mount" : "/boot" }, 9 | { "disk" : "release.img", "partition" : 3, "mount" : "/" } ], 10 | "Version": "latest", 11 | "Bundles": ["kernel-native", "os-core", "os-core-update"] 12 | } 13 | -------------------------------------------------------------------------------- /tests/invalid-ister-no-kernel.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "release.img", "partition" : 1, "size" : "32M", "type" : "EFI" }, 4 | { "disk" : "release.img", "partition" : 2, "size" : "16M", "type" : "swap" }, 5 | { "disk" : "release.img", "partition" : 3, "size" : "10G", "type" : "linux" } ], 6 | "FilesystemTypes" : [ { "disk" : "release.img", "partition" : 1, "type" : "vfat" }, 7 | { "disk" : "release.img", "partition" : 2, "type" : "swap" }, 8 | { "disk" : "release.img", "partition" : 3, "type" : "ext4" } ], 9 | "PartitionMountPoints" : [ { "disk" : "release.img", "partition" : 1, "mount" : "/boot" }, 10 | { "disk" : "release.img", "partition" : 3, "mount" : "/" } ], 11 | "Version": "latest", 12 | "Bundles": ["os-core", "os-core-update"] 13 | } 14 | -------------------------------------------------------------------------------- /tests/invalid-ister-partition-ft.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "release.img", "partition" : 1, "size" : "32M", "type" : "EFI" }, 4 | { "disk" : "release.img", "partition" : 2, "size" : "16M", "type" : "swap" }, 5 | { "disk" : "release.img", "partition" : 3, "size" : "5G", "type" : "linux" } ], 6 | "FilesystemTypes" : [ { "disk" : "release.img", "partition" : 1, "type" : "vfat" }, 7 | { "disk" : "release.img", "partition" : 2, "type" : "swap" }, 8 | { "disk" : "release.img", "partition" : 4, "type" : "ext4" } ], 9 | "PartitionMountPoints" : [ { "disk" : "release.img", "partition" : 1, "mount" : "/boot" }, 10 | { "disk" : "release.img", "partition" : 3, "mount" : "/" } ], 11 | "Version": "latest", 12 | "Bundles": ["kernel-native", "os-core", "os-core-update"] 13 | } 14 | -------------------------------------------------------------------------------- /tests/invalid-ister-partition-pmp.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "release.img", "partition" : 1, "size" : "32M", "type" : "EFI" }, 4 | { "disk" : "release.img", "partition" : 2, "size" : "16M", "type" : "swap" }, 5 | { "disk" : "release.img", "partition" : 3, "size" : "5G", "type" : "linux" } ], 6 | "FilesystemTypes" : [ { "disk" : "release.img", "partition" : 1, "type" : "vfat" }, 7 | { "disk" : "release.img", "partition" : 2, "type" : "swap" }, 8 | { "disk" : "release.img", "partition" : 3, "type" : "ext4" } ], 9 | "PartitionMountPoints" : [ { "disk" : "release.img", "partition" : 1, "mount" : "/boot" }, 10 | { "disk" : "release.img", "partition" : 4, "mount" : "/" } ], 11 | "Version": "latest", 12 | "Bundles": ["kernel-native", "os-core", "os-core-update"] 13 | } 14 | -------------------------------------------------------------------------------- /tests/invalid-no-kernel.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | targetMedia: 3 | - name: sda 4 | size: "30752636928" 5 | type: disk 6 | children: 7 | - name: sda1 8 | fstype: vfat 9 | mountpoint: /boot 10 | size: "157286400" 11 | type: part 12 | - name: sda2 13 | fstype: swap 14 | size: "2147483648" 15 | type: part 16 | - name: sda3 17 | fstype: ext4 18 | mountpoint: / 19 | size: "28447866880" 20 | type: part 21 | bundles: [os-core, os-core-update] 22 | telemetry: false 23 | keyboard: us 24 | language: en_US.UTF-8 25 | -------------------------------------------------------------------------------- /tests/invalid-no-keyboard.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | targetMedia: 3 | - name: sda 4 | type: disk 5 | children: 6 | - name: sda1 7 | size: 150M 8 | type: part 9 | fstype: vfat 10 | mountpoint: "/boot" 11 | - name: sda2 12 | size: 1.364G 13 | type: part 14 | fstype: swap 15 | - name: sda3 16 | size: 2G 17 | type: part 18 | fstype: ext4 19 | mountpoint: "/home" 20 | - name: sda4 21 | size: 4G 22 | type: part 23 | fstype: ext4 24 | mountpoint: "/" 25 | bundles: [os-core, os-core-update, kernel-native] 26 | language: us.UTF-8 27 | -------------------------------------------------------------------------------- /tests/invalid-no-language.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | targetMedia: 3 | - name: sda 4 | type: disk 5 | children: 6 | - name: sda1 7 | size: 150M 8 | type: part 9 | fstype: vfat 10 | mountpoint: "/boot" 11 | - name: sda2 12 | size: 1.364G 13 | type: part 14 | fstype: swap 15 | - name: sda3 16 | size: 2G 17 | type: part 18 | fstype: ext4 19 | mountpoint: "/home" 20 | - name: sda4 21 | size: 4G 22 | type: part 23 | fstype: ext4 24 | mountpoint: "/" 25 | bundles: [os-core, os-core-update, kernel-native] 26 | keyboard: us 27 | -------------------------------------------------------------------------------- /tests/ister.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType": "physical", 3 | "PartitionLayout": [{"disk": "sdb", "partition": 1, "size": "512M", "type": "EFI"}, 4 | {"disk": "sdb", "partition": 2, "size": "4G", "type": "swap"}, 5 | {"disk": "sdb", "partition": 3, "size": "rest", "type": "linux"}], 6 | "FilesystemTypes": [{"disk": "sdb", "partition": 1, "type": "vfat", "label" : "boot"}, 7 | {"disk": "sdb", "partition": 2, "type": "swap", "label" : "root"}, 8 | {"disk": "sdb", "partition": 3, "type": "ext4", "label" : "swap"}], 9 | "PartitionMountPoints": [{"disk": "sdb", "partition": 1, "mount": "/boot"}, 10 | {"disk": "sdb", "partition": 3, "mount": "/"}], 11 | "Version": 0, 12 | "Bundles": ["kernel-kvm"] 13 | } 14 | -------------------------------------------------------------------------------- /tests/legacy-kvm-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "legacy-kvm.img", 4 | "partition" : 1, 5 | "size" : "8G", 6 | "type" : "linux" } ], 7 | "FilesystemTypes" : [ { "disk" : "legacy-kvm.img", 8 | "partition" : 1, 9 | "type" : "ext4", 10 | "options" : "-O ^64bit" } ], 11 | "PartitionMountPoints" : [ { "disk" : "legacy-kvm.img", 12 | "partition" : 1, 13 | "mount" : "/" } ], 14 | "Version": 7777, 15 | "Bundles": [ 16 | "bootloader", 17 | "editors", 18 | "kernel-kvm", 19 | "network-basic", 20 | "openssh-server", 21 | "os-core", 22 | "os-core-update", 23 | "sysadmin-basic" 24 | ], 25 | "LegacyBios": true 26 | } 27 | -------------------------------------------------------------------------------- /tests/malformed-descriptor.yaml: -------------------------------------------------------------------------------- 1 | bundles: "" 2 | -------------------------------------------------------------------------------- /tests/mbr.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "mbr.img", "partition" : 1, "size" : "20G", "type" : "linux" } ], 4 | "FilesystemTypes" : [ { "disk" : "mbr.img", "partition" : 1, "type" : "ext4" } ], 5 | "PartitionMountPoints" : [ { "disk" : "mbr.img", "partition" : 1, "mount" : "/" } ], 6 | "Version": "latest", 7 | "Bundles": ["kernel-native", "os-core", "os-core-update"], 8 | "LegacyBios": true 9 | } 10 | -------------------------------------------------------------------------------- /tests/min-good.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType": "virtual", 3 | "PartitionLayout": [{"disk": "test.img", "partition": 1, "size": "512M", "type": "EFI"}, 4 | {"disk": "test.img", "partition": 2, "size": "4G", "type": "swap"}, 5 | {"disk": "test.img", "partition": 3, "size": "rest", "type": "linux"}], 6 | "FilesystemTypes": [{"disk": "test.img", "partition": 1, "type": "vfat"}, 7 | {"disk": "test.img", "partition": 2, "type": "swap"}, 8 | {"disk": "test.img", "partition": 3, "type": "ext4"}], 9 | "PartitionMountPoints": [{"disk": "test.img", "partition": 1, "mount": "/boot"}, 10 | {"disk": "test.img", "partition": 3, "mount": "/"}], 11 | "Version": 930, 12 | "Bundles": ["kernel-kvm"] 13 | } 14 | -------------------------------------------------------------------------------- /tests/mixed-block-device.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | block-devices: [ 3 | {name: "main", file: "main.img"}, 4 | {name: "sec", file: "sec.img"} 5 | ] 6 | 7 | targetMedia: 8 | - name: ${main} 9 | size: "4G" 10 | type: disk 11 | children: 12 | - name: ${main}1 13 | fstype: vfat 14 | mountpoint: /boot 15 | size: "150M" 16 | type: part 17 | - name: ${main}2 18 | fstype: swap 19 | size: "120M" 20 | type: part 21 | - name: ${main}3 22 | fstype: ext4 23 | mountpoint: / 24 | size: "3.73G" 25 | type: part 26 | - name: ${sec}1 27 | fstype: ext4 28 | mountpoint: /home 29 | size: "2G" 30 | type: part 31 | 32 | bundles: [os-core, os-core-update] 33 | telemetry: false 34 | keyboard: us 35 | language: en_US.UTF-8 36 | kernel: kernel-native 37 | -------------------------------------------------------------------------------- /tests/no-bootable-descriptor.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | targetMedia: 3 | - name: sda 4 | type: disk 5 | children: 6 | - name: sda2 7 | size: 1.364G 8 | type: part 9 | fstype: swap 10 | - name: sda3 11 | size: 2G 12 | type: part 13 | fstype: ext4 14 | mountpoint: "/home" 15 | - name: sda4 16 | size: 4G 17 | type: part 18 | fstype: ext4 19 | mountpoint: "/" 20 | bundles: 21 | - os-core 22 | - os-core-update 23 | - kernel-native 24 | -------------------------------------------------------------------------------- /tests/no-root-partition-descriptor.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | targetMedia: 3 | - name: sda 4 | type: disk 5 | children: 6 | - name: sda1 7 | size: 150M 8 | type: part 9 | fstype: vfat 10 | mountpoint: "/boot" 11 | - name: sda2 12 | size: 1.364G 13 | type: part 14 | fstype: swap 15 | - name: sda3 16 | size: 2G 17 | type: part 18 | fstype: ext4 19 | mountpoint: "/home" 20 | bundles: 21 | - os-core 22 | - os-core-update 23 | - kernel-native 24 | -------------------------------------------------------------------------------- /tests/no-telemetry.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | targetMedia: 3 | - name: sda 4 | type: disk 5 | children: 6 | - name: sda1 7 | size: 150M 8 | type: part 9 | fstype: vfat 10 | mountpoint: "/boot" 11 | - name: sda2 12 | size: 1.364G 13 | type: part 14 | fstype: swap 15 | - name: sda3 16 | size: 2G 17 | type: part 18 | fstype: ext4 19 | mountpoint: "/home" 20 | - name: sda4 21 | size: 4G 22 | type: part 23 | fstype: ext4 24 | mountpoint: "/" 25 | bundles: [os-core, os-core-update, kernel-native] 26 | keyboard: us 27 | language: us.UTF-8 28 | -------------------------------------------------------------------------------- /tests/post-install-sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "this is a simple post-install-sample and I only print if it's chrooted: $1" 4 | -------------------------------------------------------------------------------- /tests/real-example.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | targetMedia: 3 | - name: sdc 4 | model: 'Ultra USB 3.0 ' 5 | majMin: "8:32" 6 | size: "30752636928" 7 | ro: "false" 8 | rm: "true" 9 | type: disk 10 | state: running 11 | children: 12 | - name: sdc1 13 | fstype: vfat 14 | mountpoint: /boot 15 | size: "157286400" 16 | ro: "false" 17 | rm: "false" 18 | type: part 19 | - name: sdc2 20 | fstype: swap 21 | size: "2147483648" 22 | ro: "false" 23 | rm: "false" 24 | type: part 25 | - name: sdc3 26 | fstype: ext4 27 | mountpoint: / 28 | size: "28447866880" 29 | ro: "false" 30 | rm: "false" 31 | type: part 32 | keyboard: us 33 | language: en_US.UTF-8 34 | bundles: [os-core, os-core-update] 35 | telemetry: true 36 | kernel: kernel-native 37 | -------------------------------------------------------------------------------- /tests/release-image-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "DestinationType" : "virtual", 3 | "PartitionLayout" : [ { "disk" : "release.img", "partition" : 1, "size" : "32M", "type" : "EFI" }, 4 | { "disk" : "release.img", "partition" : 2, "size" : "16M", "type" : "swap" }, 5 | { "disk" : "release.img", "partition" : 3, "size" : "5G", "type" : "linux" } ], 6 | "FilesystemTypes" : [ { "disk" : "release.img", "partition" : 1, "type" : "vfat" }, 7 | { "disk" : "release.img", "partition" : 2, "type" : "swap" }, 8 | { "disk" : "release.img", "partition" : 3, "type" : "ext4" } ], 9 | "PartitionMountPoints" : [ { "disk" : "release.img", "partition" : 1, "mount" : "/boot" }, 10 | { "disk" : "release.img", "partition" : 3, "mount" : "/" } ], 11 | "Version": "latest", 12 | "Bundles": ["kernel-native", "os-core", "os-core-update"] 13 | } 14 | -------------------------------------------------------------------------------- /tests/user-sshkeys.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | targetMedia: 3 | - name: sda 4 | size: "30752636928" 5 | type: disk 6 | children: 7 | - name: sda1 8 | fstype: vfat 9 | mountpoint: /boot 10 | size: "157286400" 11 | type: part 12 | - name: sda2 13 | fstype: swap 14 | size: "2147483648" 15 | type: part 16 | - name: sda3 17 | fstype: ext4 18 | mountpoint: / 19 | size: "28447866880" 20 | type: part 21 | bundles: [os-core, os-core-update] 22 | telemetry: false 23 | keyboard: us 24 | language: en_US.UTF-8 25 | kernel: kernel-native 26 | users: 27 | - login: foobar 28 | username: Foo Bar 29 | ssh-keys: [ 30 | "ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxx", 31 | "ssh-rsa yyyyyyyyyyyyyyyyyyyyyyyyyyyy", 32 | ] 33 | -------------------------------------------------------------------------------- /tests/valid-minimal.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | targetMedia: 3 | - name: sda 4 | size: "30752636928" 5 | type: disk 6 | children: 7 | - name: sda1 8 | fstype: vfat 9 | mountpoint: /boot 10 | size: "157286400" 11 | type: part 12 | - name: sda2 13 | fstype: swap 14 | size: "2147483648" 15 | type: part 16 | - name: sda3 17 | fstype: ext4 18 | mountpoint: / 19 | size: "28447866880" 20 | type: part 21 | bundles: [os-core, os-core-update] 22 | telemetry: false 23 | keyboard: us 24 | language: en_US.UTF-8 25 | kernel: kernel-native 26 | -------------------------------------------------------------------------------- /tests/valid-network.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | targetMedia: 3 | - name: sda 4 | type: disk 5 | children: 6 | - name: sda1 7 | size: 150M 8 | type: part 9 | fstype: vfat 10 | mountpoint: "/boot" 11 | - name: sda2 12 | size: 1.364G 13 | type: part 14 | fstype: swap 15 | - name: sda3 16 | size: 2G 17 | type: part 18 | fstype: ext4 19 | mountpoint: "/home" 20 | - name: sda4 21 | size: 4G 22 | type: part 23 | fstype: ext4 24 | mountpoint: "/" 25 | networkInterfaces: 26 | - name: enp57s0u1u2 27 | addrs: 28 | - ip: 10.7.200.163 29 | netmask: 255.255.255.0 30 | version: 0 31 | - ip: fe80::1adb:f2ff:fe5c:664b 32 | netmask: 'ffff:ffff:ffff:ffff::' 33 | version: 1 34 | dhcp: "false" 35 | gateway: 10.7.200.251 36 | dns: 10.248.2.1 37 | bundles: [os-core, os-core-update] 38 | keyboard: us 39 | language: us.UTF-8 40 | telemetry: true 41 | kernel: kernel-native 42 | -------------------------------------------------------------------------------- /tests/valid-with-version.yaml: -------------------------------------------------------------------------------- 1 | #clear-linux-config 2 | targetMedia: 3 | - name: sda 4 | size: "30752636928" 5 | type: disk 6 | children: 7 | - name: sda1 8 | fstype: vfat 9 | mountpoint: /boot 10 | size: "157286400" 11 | type: part 12 | - name: sda2 13 | fstype: swap 14 | size: "2147483648" 15 | type: part 16 | - name: sda3 17 | fstype: ext4 18 | mountpoint: / 19 | size: "28447866880" 20 | type: part 21 | bundles: [os-core, os-core-update] 22 | telemetry: false 23 | keyboard: us 24 | language: en_US.UTF-8 25 | kernel: kernel-native 26 | version: 1010 27 | -------------------------------------------------------------------------------- /themes/clr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clearlinux/clr-installer/1c35cd470cf0fff04959c866bc738d0fadf8e204/themes/clr.png -------------------------------------------------------------------------------- /vendor/github.com/GehirnInc/crypt/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.6.x 4 | - 1.7.x 5 | - master 6 | script: 7 | - go test -v -race ./... 8 | -------------------------------------------------------------------------------- /vendor/github.com/GehirnInc/crypt/AUTHORS.md: -------------------------------------------------------------------------------- 1 | ### Initial author 2 | 3 | [Jeramey Crawford](https://github.com/jeramey) 4 | 5 | ### Other authors 6 | 7 | - [Jonas mg](https://github.com/kless) 8 | - [Kohei YOSHIDA](https://github.com/yosida95) 9 | -------------------------------------------------------------------------------- /vendor/github.com/GehirnInc/crypt/common/doc.go: -------------------------------------------------------------------------------- 1 | // (C) Copyright 2012, Jeramey Crawford . All 2 | // rights reserved. Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package common contains routines used by multiple password hashing 6 | // algorithms. 7 | // 8 | // Generally, you will never import this package directly. Many of the 9 | // *_crypt packages will import this package if they require it. 10 | package common 11 | -------------------------------------------------------------------------------- /vendor/github.com/GehirnInc/crypt/internal/utils.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 Kohei YOSHIDA. All rights reserved. 2 | // This software is licensed under the 3-Clause BSD License 3 | // that can be found in LICENSE file. 4 | package internal 5 | 6 | const ( 7 | cleanBytesLen = 64 8 | ) 9 | 10 | var ( 11 | cleanBytes = make([]byte, cleanBytesLen) 12 | ) 13 | 14 | func CleanSensitiveData(b []byte) { 15 | l := len(b) 16 | 17 | for ; l > cleanBytesLen; l -= cleanBytesLen { 18 | copy(b[l-cleanBytesLen:l], cleanBytes) 19 | } 20 | 21 | if l > 0 { 22 | copy(b[0:l], cleanBytes[0:l]) 23 | } 24 | } 25 | 26 | func RepeatByteSequence(input []byte, length int) []byte { 27 | var ( 28 | sequence = make([]byte, length) 29 | unit = len(input) 30 | ) 31 | 32 | j := length / unit * unit 33 | for i := 0; i < j; i += unit { 34 | copy(sequence[i:length], input) 35 | } 36 | if j < length { 37 | copy(sequence[j:length], input[0:length-j]) 38 | } 39 | 40 | return sequence 41 | } 42 | -------------------------------------------------------------------------------- /vendor/github.com/VladimirMarkelov/clui/.gitignore: -------------------------------------------------------------------------------- 1 | *.*~ 2 | ~*.* 3 | *.swp 4 | *.log 5 | *.exe 6 | *.diff -------------------------------------------------------------------------------- /vendor/github.com/VladimirMarkelov/clui/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | -------------------------------------------------------------------------------- /vendor/github.com/VladimirMarkelov/clui/VERSION: -------------------------------------------------------------------------------- 1 | 1.2.1 2 | -------------------------------------------------------------------------------- /vendor/github.com/VladimirMarkelov/clui/clui2_api.go: -------------------------------------------------------------------------------- 1 | package clui 2 | 3 | import ( 4 | term "github.com/nsf/termbox-go" 5 | ) 6 | 7 | func InitLibrary() bool { 8 | initThemeManager() 9 | initComposer() 10 | initMainLoop() 11 | return initCanvas() 12 | } 13 | 14 | // Close closes console management and makes a console cursor visible 15 | func DeinitLibrary() { 16 | term.SetCursor(3, 3) 17 | term.Close() 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/VladimirMarkelov/clui/logger.go: -------------------------------------------------------------------------------- 1 | package clui 2 | 3 | import ( 4 | "log" 5 | "os" 6 | ) 7 | 8 | var ( 9 | logger *log.Logger 10 | ) 11 | 12 | func InitLogger() { 13 | file, _ := os.OpenFile("debug.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) 14 | logger = log.New(file, "", log.Ldate|log.Ltime|log.Lshortfile) 15 | logger.Printf("----------------------------------") 16 | } 17 | 18 | func Logger() *log.Logger { 19 | if logger == nil { 20 | InitLogger() 21 | } 22 | 23 | return logger 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/atotto/clipboard/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | os: 4 | - linux 5 | - osx 6 | - windows 7 | 8 | go: 9 | - go1.13.x 10 | - go1.x 11 | 12 | services: 13 | - xvfb 14 | 15 | before_install: 16 | - export DISPLAY=:99.0 17 | 18 | script: 19 | - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get install xsel; fi 20 | - go test -v . 21 | - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get install xclip; fi 22 | - go test -v . 23 | -------------------------------------------------------------------------------- /vendor/github.com/atotto/clipboard/clipboard.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 @atotto. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package clipboard read/write on clipboard 6 | package clipboard 7 | 8 | // ReadAll read string from clipboard 9 | func ReadAll() (string, error) { 10 | return readAll() 11 | } 12 | 13 | // WriteAll write string to clipboard 14 | func WriteAll(text string) error { 15 | return writeAll(text) 16 | } 17 | 18 | // Unsupported might be set true during clipboard init, to help callers decide 19 | // whether or not to offer clipboard options. 20 | var Unsupported bool 21 | -------------------------------------------------------------------------------- /vendor/github.com/atotto/clipboard/clipboard_plan9.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 @atotto. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build plan9 6 | 7 | package clipboard 8 | 9 | import ( 10 | "os" 11 | "io/ioutil" 12 | ) 13 | 14 | func readAll() (string, error) { 15 | f, err := os.Open("/dev/snarf") 16 | if err != nil { 17 | return "", err 18 | } 19 | defer f.Close() 20 | 21 | str, err := ioutil.ReadAll(f) 22 | if err != nil { 23 | return "", err 24 | } 25 | 26 | return string(str), nil 27 | } 28 | 29 | func writeAll(text string) error { 30 | f, err := os.OpenFile("/dev/snarf", os.O_WRONLY, 0666) 31 | if err != nil { 32 | return err 33 | } 34 | defer f.Close() 35 | 36 | _, err = f.Write([]byte(text)) 37 | if err != nil { 38 | return err 39 | } 40 | 41 | return nil 42 | } 43 | -------------------------------------------------------------------------------- /vendor/github.com/coreos/go-systemd/v22/NOTICE: -------------------------------------------------------------------------------- 1 | CoreOS Project 2 | Copyright 2018 CoreOS, Inc 3 | 4 | This product includes software developed at CoreOS, Inc. 5 | (http://www.coreos.com/). 6 | -------------------------------------------------------------------------------- /vendor/github.com/digitalocean/go-smbios/AUTHORS: -------------------------------------------------------------------------------- 1 | Maintainer 2 | ---------- 3 | DigitalOcean, Inc 4 | 5 | Original Authors 6 | ---------------- 7 | Matt Layher 8 | 9 | Contributors 10 | ------------ 11 | Christopher Dudley -------------------------------------------------------------------------------- /vendor/github.com/digitalocean/go-smbios/smbios/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017-2018 DigitalOcean. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // Package smbios provides detection and access to System Management BIOS (SMBIOS) 16 | // and Desktop Management Interface (DMI) data and structures. 17 | package smbios 18 | -------------------------------------------------------------------------------- /vendor/github.com/digitalocean/go-smbios/smbios/fuzz.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017-2018 DigitalOcean. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | //+build gofuzz 16 | 17 | package smbios 18 | 19 | import ( 20 | "bytes" 21 | ) 22 | 23 | func Fuzz(data []byte) int { 24 | return fuzzDecoder(data) 25 | } 26 | 27 | func fuzzDecoder(data []byte) int { 28 | d := NewDecoder(bytes.NewReader(data)) 29 | 30 | if _, err := d.Decode(); err != nil { 31 | return 0 32 | } 33 | 34 | return 1 35 | } 36 | -------------------------------------------------------------------------------- /vendor/github.com/digitalocean/go-smbios/smbios/structure.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017-2018 DigitalOcean. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package smbios 16 | 17 | // A Header is a Structure's header. 18 | type Header struct { 19 | Type uint8 20 | Length uint8 21 | Handle uint16 22 | } 23 | 24 | // A Structure is an SMBIOS structure. 25 | type Structure struct { 26 | Header Header 27 | Formatted []byte 28 | Strings []string 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/MAINTAINERS: -------------------------------------------------------------------------------- 1 | Brandon Philips (@philips) 2 | Brian Waldon (@bcwaldon) 3 | John Southworth (@jsouthworth) 4 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/auth_anonymous.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | // AuthAnonymous returns an Auth that uses the ANONYMOUS mechanism. 4 | func AuthAnonymous() Auth { 5 | return &authAnonymous{} 6 | } 7 | 8 | type authAnonymous struct{} 9 | 10 | func (a *authAnonymous) FirstData() (name, resp []byte, status AuthStatus) { 11 | return []byte("ANONYMOUS"), nil, AuthOk 12 | } 13 | 14 | func (a *authAnonymous) HandleData(data []byte) (resp []byte, status AuthStatus) { 15 | return nil, AuthError 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/auth_external.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import ( 4 | "encoding/hex" 5 | ) 6 | 7 | // AuthExternal returns an Auth that authenticates as the given user with the 8 | // EXTERNAL mechanism. 9 | func AuthExternal(user string) Auth { 10 | return authExternal{user} 11 | } 12 | 13 | // AuthExternal implements the EXTERNAL authentication mechanism. 14 | type authExternal struct { 15 | user string 16 | } 17 | 18 | func (a authExternal) FirstData() ([]byte, []byte, AuthStatus) { 19 | b := make([]byte, 2*len(a.user)) 20 | hex.Encode(b, []byte(a.user)) 21 | return []byte("EXTERNAL"), b, AuthOk 22 | } 23 | 24 | func (a authExternal) HandleData(b []byte) ([]byte, AuthStatus) { 25 | return nil, AuthError 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/conn_darwin.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import ( 4 | "errors" 5 | "fmt" 6 | "os" 7 | "os/exec" 8 | ) 9 | 10 | const defaultSystemBusAddress = "unix:path=/opt/local/var/run/dbus/system_bus_socket" 11 | 12 | func getSessionBusPlatformAddress() (string, error) { 13 | cmd := exec.Command("launchctl", "getenv", "DBUS_LAUNCHD_SESSION_BUS_SOCKET") 14 | b, err := cmd.CombinedOutput() 15 | 16 | if err != nil { 17 | return "", err 18 | } 19 | 20 | if len(b) == 0 { 21 | return "", errors.New("dbus: couldn't determine address of session bus") 22 | } 23 | 24 | return "unix:path=" + string(b[:len(b)-1]), nil 25 | } 26 | 27 | func getSystemBusPlatformAddress() string { 28 | address := os.Getenv("DBUS_LAUNCHD_SESSION_BUS_SOCKET") 29 | if address != "" { 30 | return fmt.Sprintf("unix:path=%s", address) 31 | } 32 | return defaultSystemBusAddress 33 | } 34 | 35 | func tryDiscoverDbusSessionBusAddress() string { 36 | return "" 37 | } 38 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/conn_unix.go: -------------------------------------------------------------------------------- 1 | //+build !windows,!solaris,!darwin 2 | 3 | package dbus 4 | 5 | import ( 6 | "os" 7 | ) 8 | 9 | const defaultSystemBusAddress = "unix:path=/var/run/dbus/system_bus_socket" 10 | 11 | func getSystemBusPlatformAddress() string { 12 | address := os.Getenv("DBUS_SYSTEM_BUS_ADDRESS") 13 | if address != "" { 14 | return address 15 | } 16 | return defaultSystemBusAddress 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/conn_windows.go: -------------------------------------------------------------------------------- 1 | //+build windows 2 | 3 | package dbus 4 | 5 | import "os" 6 | 7 | const defaultSystemBusAddress = "tcp:host=127.0.0.1,port=12434" 8 | 9 | func getSystemBusPlatformAddress() string { 10 | address := os.Getenv("DBUS_SYSTEM_BUS_ADDRESS") 11 | if address != "" { 12 | return address 13 | } 14 | return defaultSystemBusAddress 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/homedir.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import ( 4 | "os" 5 | "os/user" 6 | ) 7 | 8 | // Get returns the home directory of the current user, which is usually the 9 | // value of HOME environment variable. In case it is not set or empty, os/user 10 | // package is used. 11 | // 12 | // If linking statically with cgo enabled against glibc, make sure the 13 | // osusergo build tag is used. 14 | // 15 | // If needing to do nss lookups, do not disable cgo or set osusergo. 16 | func getHomeDir() string { 17 | homeDir := os.Getenv("HOME") 18 | if homeDir != "" { 19 | return homeDir 20 | } 21 | if u, err := user.Current(); err == nil { 22 | return u.HomeDir 23 | } 24 | return "/" 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/sequence.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | // Sequence represents the value of a monotonically increasing counter. 4 | type Sequence uint64 5 | 6 | const ( 7 | // NoSequence indicates the absence of a sequence value. 8 | NoSequence Sequence = 0 9 | ) 10 | 11 | // sequenceGenerator represents a monotonically increasing counter. 12 | type sequenceGenerator struct { 13 | nextSequence Sequence 14 | } 15 | 16 | func (generator *sequenceGenerator) next() Sequence { 17 | result := generator.nextSequence 18 | generator.nextSequence++ 19 | return result 20 | } 21 | 22 | func newSequenceGenerator() *sequenceGenerator { 23 | return &sequenceGenerator{nextSequence: 1} 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/transport_darwin.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | func (t *unixTransport) SendNullByte() error { 4 | _, err := t.Write([]byte{0}) 5 | return err 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/transport_nonce_tcp.go: -------------------------------------------------------------------------------- 1 | //+build !windows 2 | 3 | package dbus 4 | 5 | import ( 6 | "errors" 7 | "io/ioutil" 8 | "net" 9 | ) 10 | 11 | func init() { 12 | transports["nonce-tcp"] = newNonceTcpTransport 13 | } 14 | 15 | func newNonceTcpTransport(keys string) (transport, error) { 16 | host := getKey(keys, "host") 17 | port := getKey(keys, "port") 18 | noncefile := getKey(keys, "noncefile") 19 | if host == "" || port == "" || noncefile == "" { 20 | return nil, errors.New("dbus: unsupported address (must set host, port and noncefile)") 21 | } 22 | protocol, err := tcpFamily(keys) 23 | if err != nil { 24 | return nil, err 25 | } 26 | socket, err := net.Dial(protocol, net.JoinHostPort(host, port)) 27 | if err != nil { 28 | return nil, err 29 | } 30 | b, err := ioutil.ReadFile(noncefile) 31 | if err != nil { 32 | return nil, err 33 | } 34 | _, err = socket.Write(b) 35 | if err != nil { 36 | return nil, err 37 | } 38 | return NewConn(socket) 39 | } 40 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/transport_tcp.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import ( 4 | "errors" 5 | "net" 6 | ) 7 | 8 | func init() { 9 | transports["tcp"] = newTcpTransport 10 | } 11 | 12 | func tcpFamily(keys string) (string, error) { 13 | switch getKey(keys, "family") { 14 | case "": 15 | return "tcp", nil 16 | case "ipv4": 17 | return "tcp4", nil 18 | case "ipv6": 19 | return "tcp6", nil 20 | default: 21 | return "", errors.New("dbus: invalid tcp family (must be ipv4 or ipv6)") 22 | } 23 | } 24 | 25 | func newTcpTransport(keys string) (transport, error) { 26 | host := getKey(keys, "host") 27 | port := getKey(keys, "port") 28 | if host == "" || port == "" { 29 | return nil, errors.New("dbus: unsupported address (must set host and port)") 30 | } 31 | 32 | protocol, err := tcpFamily(keys) 33 | if err != nil { 34 | return nil, err 35 | } 36 | socket, err := net.Dial(protocol, net.JoinHostPort(host, port)) 37 | if err != nil { 38 | return nil, err 39 | } 40 | return NewConn(socket) 41 | } 42 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/transport_unixcred_linux.go: -------------------------------------------------------------------------------- 1 | // The UnixCredentials system call is currently only implemented on Linux 2 | // http://golang.org/src/pkg/syscall/sockcmsg_linux.go 3 | // https://golang.org/s/go1.4-syscall 4 | // http://code.google.com/p/go/source/browse/unix/sockcmsg_linux.go?repo=sys 5 | 6 | package dbus 7 | 8 | import ( 9 | "io" 10 | "os" 11 | "syscall" 12 | ) 13 | 14 | func (t *unixTransport) SendNullByte() error { 15 | ucred := &syscall.Ucred{Pid: int32(os.Getpid()), Uid: uint32(os.Getuid()), Gid: uint32(os.Getgid())} 16 | b := syscall.UnixCredentials(ucred) 17 | _, oobn, err := t.UnixConn.WriteMsgUnix([]byte{0}, b, nil) 18 | if err != nil { 19 | return err 20 | } 21 | if oobn != len(b) { 22 | return io.ErrShortWrite 23 | } 24 | return nil 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/transport_unixcred_netbsd.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import "io" 4 | 5 | func (t *unixTransport) SendNullByte() error { 6 | n, _, err := t.UnixConn.WriteMsgUnix([]byte{0}, nil, nil) 7 | if err != nil { 8 | return err 9 | } 10 | if n != 1 { 11 | return io.ErrShortWrite 12 | } 13 | return nil 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/transport_unixcred_openbsd.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | import "io" 4 | 5 | func (t *unixTransport) SendNullByte() error { 6 | n, _, err := t.UnixConn.WriteMsgUnix([]byte{0}, nil, nil) 7 | if err != nil { 8 | return err 9 | } 10 | if n != 1 { 11 | return io.ErrShortWrite 12 | } 13 | return nil 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/godbus/dbus/v5/transport_zos.go: -------------------------------------------------------------------------------- 1 | package dbus 2 | 3 | func (t *unixTransport) SendNullByte() error { 4 | _, err := t.Write([]byte{0}) 5 | return err 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/LICENSE: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2013-2014 Conformal Systems LLC. 4 | Copyright (c) 2015-2018 gotk3 contributors 5 | 6 | Permission to use, copy, modify, and/or distribute this software for any 7 | purpose with or without fee is hereby granted, provided that the above 8 | copyright notice and this permission notice appear in all copies. 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/cairo/antialias.go: -------------------------------------------------------------------------------- 1 | package cairo 2 | 3 | // #include 4 | // #include 5 | // #include 6 | import "C" 7 | import ( 8 | "unsafe" 9 | ) 10 | 11 | // Antialias is a representation of Cairo's cairo_antialias_t. 12 | type Antialias int 13 | 14 | const ( 15 | ANTIALIAS_DEFAULT Antialias = C.CAIRO_ANTIALIAS_DEFAULT 16 | ANTIALIAS_NONE Antialias = C.CAIRO_ANTIALIAS_NONE 17 | ANTIALIAS_GRAY Antialias = C.CAIRO_ANTIALIAS_GRAY 18 | ANTIALIAS_SUBPIXEL Antialias = C.CAIRO_ANTIALIAS_SUBPIXEL 19 | ANTIALIAS_FAST Antialias = C.CAIRO_ANTIALIAS_FAST // (since 1.12) 20 | ANTIALIAS_GOOD Antialias = C.CAIRO_ANTIALIAS_GOOD // (since 1.12) 21 | ANTIALIAS_BEST Antialias = C.CAIRO_ANTIALIAS_BEST // (since 1.12) 22 | ) 23 | 24 | func marshalAntialias(p uintptr) (interface{}, error) { 25 | c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p))) 26 | return Antialias(c), nil 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/cairo/errors.go: -------------------------------------------------------------------------------- 1 | package cairo 2 | 3 | type ErrorStatus Status 4 | 5 | func (e ErrorStatus) Error() string { 6 | return StatusToString(Status(e)) 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/cairo/fillrule.go: -------------------------------------------------------------------------------- 1 | package cairo 2 | 3 | // #include 4 | // #include 5 | // #include 6 | import "C" 7 | import ( 8 | "unsafe" 9 | ) 10 | 11 | // FillRule is a representation of Cairo's cairo_fill_rule_t. 12 | type FillRule int 13 | 14 | const ( 15 | FILL_RULE_WINDING FillRule = C.CAIRO_FILL_RULE_WINDING 16 | FILL_RULE_EVEN_ODD FillRule = C.CAIRO_FILL_RULE_EVEN_ODD 17 | ) 18 | 19 | func marshalFillRule(p uintptr) (interface{}, error) { 20 | c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p))) 21 | return FillRule(c), nil 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/cairo/fontoptions_since_1_16.go: -------------------------------------------------------------------------------- 1 | // +build !cairo_1_9,!cairo_1_10,!cairo_1_11,!cairo_1_12,!cairo_1_13,!cairo_1_14,!cairo_1_15 2 | 3 | package cairo 4 | 5 | // #include 6 | // #include 7 | // #include 8 | import "C" 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | // GetVariations is a wrapper around cairo_font_options_get_variations(). 14 | func (o *FontOptions) GetVariations() string { 15 | return C.GoString(C.cairo_font_options_get_variations(o.native)) 16 | } 17 | 18 | // SetVariations is a wrapper around cairo_font_options_set_variations(). 19 | func (o *FontOptions) SetVariations(variations string) { 20 | var cvariations *C.char 21 | if variations != "" { 22 | cvariations = C.CString(variations) 23 | // Cairo will call strdup on its own. 24 | defer C.free(unsafe.Pointer(cvariations)) 25 | } 26 | 27 | C.cairo_font_options_set_variations(o.native, cvariations) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/cairo/linecap.go: -------------------------------------------------------------------------------- 1 | package cairo 2 | 3 | // #include 4 | // #include 5 | // #include 6 | import "C" 7 | import ( 8 | "unsafe" 9 | ) 10 | 11 | // LineCap is a representation of Cairo's cairo_line_cap_t. 12 | type LineCap int 13 | 14 | const ( 15 | LINE_CAP_BUTT LineCap = C.CAIRO_LINE_CAP_BUTT 16 | LINE_CAP_ROUND LineCap = C.CAIRO_LINE_CAP_ROUND 17 | LINE_CAP_SQUARE LineCap = C.CAIRO_LINE_CAP_SQUARE 18 | ) 19 | 20 | func marshalLineCap(p uintptr) (interface{}, error) { 21 | c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p))) 22 | return LineCap(c), nil 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/cairo/linejoin.go: -------------------------------------------------------------------------------- 1 | package cairo 2 | 3 | // #include 4 | // #include 5 | // #include 6 | import "C" 7 | import ( 8 | "unsafe" 9 | ) 10 | 11 | // LineJoin is a representation of Cairo's cairo_line_join_t. 12 | type LineJoin int 13 | 14 | const ( 15 | LINE_JOIN_MITER LineJoin = C.CAIRO_LINE_JOIN_MITER 16 | LINE_JOIN_ROUND LineJoin = C.CAIRO_LINE_JOIN_ROUND 17 | LINE_JOIN_BEVEL LineJoin = C.CAIRO_LINE_JOIN_BEVEL 18 | ) 19 | 20 | func marshalLineJoin(p uintptr) (interface{}, error) { 21 | c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p))) 22 | return LineJoin(c), nil 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/cairo/mimetype.go: -------------------------------------------------------------------------------- 1 | package cairo 2 | 3 | // MimeType is a representation of Cairo's CAIRO_MIME_TYPE_* 4 | // preprocessor constants. 5 | type MimeType string 6 | 7 | const ( 8 | MIME_TYPE_JP2 MimeType = "image/jp2" 9 | MIME_TYPE_JPEG MimeType = "image/jpeg" 10 | MIME_TYPE_PNG MimeType = "image/png" 11 | MIME_TYPE_URI MimeType = "image/x-uri" 12 | MIME_TYPE_UNIQUE_ID MimeType = "application/x-cairo.uuid" 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/cairo/util.go: -------------------------------------------------------------------------------- 1 | package cairo 2 | 3 | // #include 4 | // #include 5 | // #include 6 | import "C" 7 | 8 | func cairobool(b bool) C.cairo_bool_t { 9 | if b { 10 | return C.cairo_bool_t(1) 11 | } 12 | return C.cairo_bool_t(0) 13 | } 14 | 15 | func gobool(b C.cairo_bool_t) bool { 16 | if b != 0 { 17 | return true 18 | } 19 | return false 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/gdk_deprecated_since_3_16.go: -------------------------------------------------------------------------------- 1 | //+build gtk_3_6 gtk_3_8 gtk_3_10 gtk_3_12 gtk_3_14 gtk_deprecated 2 | 3 | package gdk 4 | 5 | // #include 6 | import "C" 7 | 8 | // SupportsComposite() is a wrapper around gdk_display_supports_composite(). 9 | func (v *Display) SupportsComposite() bool { 10 | c := C.gdk_display_supports_composite(v.native()) 11 | return gobool(c) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/gdk_since_3_12.go: -------------------------------------------------------------------------------- 1 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10 2 | // Supports building with gtk 3.12+ 3 | 4 | package gdk 5 | 6 | // TODO: 7 | // gdk_device_get_last_event_window(). 8 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/gdk_since_3_18.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14,!gtk_3_16 4 | // Supports building with gtk 3.18+ 5 | 6 | package gdk 7 | 8 | // #include 9 | import "C" 10 | 11 | /* 12 | * GdkKeymap 13 | */ 14 | 15 | // GetScrollLockState is a wrapper around gdk_keymap_get_scroll_lock_state(). 16 | func (v *Keymap) GetScrollLockState() bool { 17 | return gobool(C.gdk_keymap_get_scroll_lock_state(v.native())) 18 | } 19 | 20 | /* 21 | * GdkWindow 22 | */ 23 | 24 | // SetPassThrough is a wrapper around gdk_window_set_pass_through(). 25 | func (v *Window) SetPassThrough(passThrough bool) { 26 | C.gdk_window_set_pass_through(v.native(), gbool(passThrough)) 27 | } 28 | 29 | // GetPassThrough is a wrapper around gdk_window_get_pass_through(). 30 | func (v *Window) GetPassThrough() bool { 31 | return gobool(C.gdk_window_get_pass_through(v.native())) 32 | } 33 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/gdk_since_3_20.go.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013-2014 Conformal Systems 3 | * 4 | * This file originated from: http://opensource.conformal.com/ 5 | * 6 | * Permission to use, copy, modify, and distribute this software for any 7 | * purpose with or without fee is hereby granted, provided that the above 8 | * copyright notice and this permission notice appear in all copies. 9 | * 10 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | */ 18 | 19 | //#include 20 | 21 | static GdkSeat *toGdkSeat(void *p) { return ((GdkSeat *)p); } -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/pixbuf.go.h: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | #include 4 | 5 | static GdkPixbuf *toGdkPixbuf(void *p) { return (GDK_PIXBUF(p)); } 6 | 7 | static GdkPixbufAnimation *toGdkPixbufAnimation(void *p) { 8 | return (GDK_PIXBUF_ANIMATION(p)); 9 | } 10 | static gboolean 11 | 12 | _gdk_pixbuf_save_png(GdkPixbuf *pixbuf, const char *filename, GError **err, 13 | const char *compression) { 14 | return gdk_pixbuf_save(pixbuf, filename, "png", err, "compression", 15 | compression, NULL); 16 | } 17 | 18 | static gboolean _gdk_pixbuf_save_jpeg(GdkPixbuf *pixbuf, const char *filename, 19 | GError **err, const char *quality) { 20 | return gdk_pixbuf_save(pixbuf, filename, "jpeg", err, "quality", quality, 21 | NULL); 22 | } 23 | 24 | static GdkPixbufLoader *toGdkPixbufLoader(void *p) { 25 | return (GDK_PIXBUF_LOADER(p)); 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/pixbuf_deprecated_since_2_32.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | //+build gdk_pixbuf_2_2 gdk_pixbuf_2_4 gdk_pixbuf_2_6 gdk_pixbuf_2_8 gdk_pixbuf_2_12 gdk_pixbuf_2_14 gdk_pixbuf_2_24 gdk_pixbuf_2_26 gdk_pixbuf_2_28 gdk_pixbuf_2_30 gdk_pixbuf_deprecated 4 | 5 | package gdk 6 | 7 | // #cgo pkg-config: gdk-3.0 glib-2.0 gobject-2.0 8 | // #include 9 | // #include "gdk.go.h" 10 | // #include "pixbuf.go.h" 11 | import "C" 12 | 13 | // Image Data in Memory 14 | 15 | // TODO: 16 | // gdk_pixbuf_new_from_inline(). 17 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/pixbuf_since_2_12.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gdk_pixbuf_2_2,!gdk_pixbuf_2_4,!gdk_pixbuf_2_6,!gdk_pixbuf_2_8 4 | 5 | package gdk 6 | 7 | // #cgo pkg-config: gdk-3.0 glib-2.0 gobject-2.0 8 | // #include 9 | // #include "gdk.go.h" 10 | // #include "pixbuf.go.h" 11 | import "C" 12 | import ( 13 | "runtime" 14 | "unsafe" 15 | 16 | "github.com/gotk3/gotk3/glib" 17 | ) 18 | 19 | // Utilities 20 | 21 | // ApplyEmbeddedOrientation is a wrapper around gdk_pixbuf_apply_embedded_orientation(). 22 | func (v *Pixbuf) ApplyEmbeddedOrientation() (*Pixbuf, error) { 23 | c := C.gdk_pixbuf_apply_embedded_orientation(v.native()) 24 | if c == nil { 25 | return nil, nilPtrErr 26 | } 27 | 28 | obj := &glib.Object{glib.ToGObject(unsafe.Pointer(c))} 29 | p := &Pixbuf{obj} 30 | //obj.Ref() 31 | runtime.SetFinalizer(p, func(_ interface{}) { glib.FinalizerStrategy(obj.Unref) }) 32 | return p, nil 33 | } 34 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/pixbuf_since_2_14.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gdk_pixbuf_2_2,!gdk_pixbuf_2_4,!gdk_pixbuf_2_6,!gdk_pixbuf_2_8,!gdk_pixbuf_2_12 4 | 5 | package gdk 6 | 7 | // #cgo pkg-config: gdk-3.0 glib-2.0 gobject-2.0 8 | // #include 9 | // #include "gdk.go.h" 10 | // #include "pixbuf.go.h" 11 | import "C" 12 | 13 | // File Loading 14 | 15 | // TODO: 16 | // gdk_pixbuf_new_from_stream(). 17 | // gdk_pixbuf_new_from_stream_async(). 18 | // gdk_pixbuf_new_from_stream_at_scale(). 19 | 20 | // File saving 21 | 22 | // TODO: 23 | // gdk_pixbuf_save_to_stream(). 24 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/pixbuf_since_2_22.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gdk_pixbuf_2_2,!gdk_pixbuf_2_4,!gdk_pixbuf_2_6,!gdk_pixbuf_2_8,!gdk_pixbuf_2_12,!gdk_pixbuf_2_14 4 | 5 | package gdk 6 | 7 | // #cgo pkg-config: gdk-3.0 glib-2.0 gobject-2.0 8 | // #include 9 | // #include "gdk.go.h" 10 | // #include "pixbuf.go.h" 11 | import "C" 12 | 13 | /* 14 | * PixbufFormat 15 | */ 16 | 17 | // TODO: 18 | // gdk_pixbuf_format_copy(). 19 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/pixbuf_since_2_24.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gdk_pixbuf_2_2,!gdk_pixbuf_2_4,!gdk_pixbuf_2_6,!gdk_pixbuf_2_8,!gdk_pixbuf_2_12,!gdk_pixbuf_2_14,!gdk_pixbuf_2_22 4 | 5 | package gdk 6 | 7 | // #cgo pkg-config: gdk-3.0 glib-2.0 gobject-2.0 8 | // #include 9 | // #include "gdk.go.h" 10 | // #include "pixbuf.go.h" 11 | import "C" 12 | 13 | // File Loading 14 | 15 | // TODO: 16 | // gdk_pixbuf_new_from_stream_finish(). 17 | // gdk_pixbuf_new_from_stream_at_scale_async(). 18 | 19 | // File saving 20 | 21 | // TODO: 22 | // gdk_pixbuf_save_to_stream_async(). 23 | // gdk_pixbuf_save_to_stream_finish(). 24 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/pixbuf_since_2_26.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gdk_pixbuf_2_2,!gdk_pixbuf_2_4,!gdk_pixbuf_2_6,!gdk_pixbuf_2_8,!gdk_pixbuf_2_12,!gdk_pixbuf_2_14,!gdk_pixbuf_2_22,!gdk_pixbuf_2_24 4 | 5 | package gdk 6 | 7 | // #cgo pkg-config: gdk-3.0 glib-2.0 gobject-2.0 8 | // #include 9 | // #include "gdk.go.h" 10 | // #include "pixbuf.go.h" 11 | import "C" 12 | 13 | // File Loading 14 | 15 | // TODO: 16 | // gdk_pixbuf_new_from_resource(). 17 | // gdk_pixbuf_new_from_resource_at_scale(). 18 | 19 | // The GdkPixbuf Structure 20 | 21 | // GetByteLength is a wrapper around gdk_pixbuf_get_byte_length(). 22 | func (v *Pixbuf) GetByteLength() int { 23 | c := C.gdk_pixbuf_get_byte_length(v.native()) 24 | return int(c) 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/pixbuf_since_2_36.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gdk_pixbuf_2_2,!gdk_pixbuf_2_4,!gdk_pixbuf_2_6,!gdk_pixbuf_2_8,!gdk_pixbuf_2_12,!gdk_pixbuf_2_14,!gdk_pixbuf_2_22,!gdk_pixbuf_2_24,!gdk_pixbuf_2_26,!gdk_pixbuf_2_28,!gdk_pixbuf_2_30,!gdk_pixbuf_2_32 4 | 5 | package gdk 6 | 7 | // #cgo pkg-config: gdk-3.0 glib-2.0 gobject-2.0 8 | // #include 9 | // #include "gdk.go.h" 10 | // #include "pixbuf.go.h" 11 | import "C" 12 | 13 | // File saving 14 | 15 | // TODO: 16 | // gdk_pixbuf_save_to_streamv(). 17 | // gdk_pixbuf_save_to_streamv_async(). 18 | 19 | // The GdkPixbuf Structure 20 | 21 | // TODO: 22 | // gdk_pixbuf_remove_option(). 23 | // gdk_pixbuf_copy_options(). 24 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/screen_no_x11.go: -------------------------------------------------------------------------------- 1 | // +build !linux no_x11 2 | 3 | package gdk 4 | 5 | func WorkspaceControlSupported() bool { 6 | return false 7 | } 8 | 9 | // GetScreenNumber is a wrapper around gdk_x11_screen_get_screen_number(). 10 | // It only works on GDK versions compiled with X11 support - its return value can't be used if WorkspaceControlSupported returns false 11 | func (v *Screen) GetScreenNumber() int { 12 | return -1 13 | } 14 | 15 | // GetNumberOfDesktops is a wrapper around gdk_x11_screen_get_number_of_desktops(). 16 | // It only works on GDK versions compiled with X11 support - its return value can't be used if WorkspaceControlSupported returns false 17 | func (v *Screen) GetNumberOfDesktops() uint32 { 18 | return 0 19 | } 20 | 21 | // GetCurrentDesktop is a wrapper around gdk_x11_screen_get_current_desktop(). 22 | // It only works on GDK versions compiled with X11 support - its return value can't be used if WorkspaceControlSupported returns false 23 | func (v *Screen) GetCurrentDesktop() uint32 { 24 | return 0 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gdk/window_no_x11.go: -------------------------------------------------------------------------------- 1 | // +build !linux no_x11 2 | 3 | package gdk 4 | 5 | func (v *Window) MoveToCurrentDesktop() { 6 | } 7 | 8 | // GetDesktop is a wrapper around gdk_x11_window_get_desktop(). 9 | // It only works on GDK versions compiled with X11 support - its return value can't be used if WorkspaceControlSupported returns false 10 | func (v *Window) GetDesktop() uint32 { 11 | return 0 12 | } 13 | 14 | // MoveToDesktop is a wrapper around gdk_x11_window_move_to_desktop(). 15 | // It only works on GDK versions compiled with X11 support - its return value can't be used if WorkspaceControlSupported returns false 16 | func (v *Window) MoveToDesktop(d uint32) { 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/cast.go: -------------------------------------------------------------------------------- 1 | package glib 2 | 3 | type WrapFn interface{} 4 | 5 | var WrapMap = map[string]WrapFn{ 6 | "GMenu": wrapMenuModel, 7 | } -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/finalizers.go: -------------------------------------------------------------------------------- 1 | package glib 2 | 3 | // Finalizer is a function that when called will finalize an object 4 | type Finalizer func() 5 | 6 | // FinalizerStrategy will be called by every runtime finalizer in gotk3 7 | // The simple version will just call the finalizer given as an argument 8 | // but in larger programs this might cause problems with the UI thread. 9 | // The FinalizerStrategy function will always be called in the goroutine that 10 | // `runtime.SetFinalizer` uses. It is a `var` to explicitly allow clients to 11 | // change the strategy to something more advanced. 12 | var FinalizerStrategy = func(f Finalizer) { 13 | f() 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/gbinding_deprecated_since_2_68.go: -------------------------------------------------------------------------------- 1 | // +build glib_deprecated 2 | 3 | package glib 4 | 5 | // #include 6 | // #include 7 | // #include 8 | // #include "glib.go.h" 9 | import "C" 10 | import "unsafe" 11 | 12 | // GetSource is a wrapper around g_binding_get_source(). 13 | func (v *Binding) GetSource() *Object { 14 | obj := C.g_binding_get_source(v.native()) 15 | if obj == nil { 16 | return nil 17 | } 18 | return wrapObject(unsafe.Pointer(obj)) 19 | } 20 | 21 | // GetTarget is a wrapper around g_binding_get_target(). 22 | func (v *Binding) GetTarget() *Object { 23 | obj := C.g_binding_get_target(v.native()) 24 | if obj == nil { 25 | return nil 26 | } 27 | return wrapObject(unsafe.Pointer(obj)) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/gfile.go.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include 6 | 7 | static GFileInputStream *toGFileInputStream(void *p) { 8 | return (G_FILE_INPUT_STREAM(p)); 9 | } 10 | 11 | static GFileOutputStream *toGFileOutputStream(void *p) { 12 | return (G_FILE_OUTPUT_STREAM(p)); 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/giostream.go.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | static GIOStream *toGIOStream(void *p) { return (G_IO_STREAM(p)); } 11 | 12 | static GInputStream *toGInputStream(void *p) { return (G_INPUT_STREAM(p)); } 13 | 14 | static GOutputStream *toGOutputStream(void *p) { return (G_OUTPUT_STREAM(p)); } 15 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/glib_export.go: -------------------------------------------------------------------------------- 1 | package glib 2 | 3 | // #cgo pkg-config: gio-2.0 4 | // #include 5 | import "C" 6 | import ( 7 | "unsafe" 8 | 9 | "github.com/gotk3/gotk3/internal/callback" 10 | ) 11 | 12 | //export goAsyncReadyCallbacks 13 | func goAsyncReadyCallbacks(sourceObject *C.GObject, res *C.GAsyncResult, userData C.gpointer) { 14 | var source *Object 15 | if sourceObject != nil { 16 | source = wrapObject(unsafe.Pointer(sourceObject)) 17 | } 18 | 19 | fn := callback.Get(uintptr(userData)).(AsyncReadyCallback) 20 | fn(source, wrapAsyncResult(wrapObject(unsafe.Pointer(res)))) 21 | } 22 | 23 | //export goCompareDataFuncs 24 | func goCompareDataFuncs(a, b C.gconstpointer, userData C.gpointer) C.gint { 25 | fn := callback.Get(uintptr(userData)).(CompareDataFunc) 26 | return C.gint(fn(uintptr(a), uintptr(b))) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/glib_extension.go: -------------------------------------------------------------------------------- 1 | //glib_extension contains definitions and functions to interface between glib/gtk/gio and go universe 2 | 3 | package glib 4 | 5 | import ( 6 | "reflect" 7 | ) 8 | 9 | // Should be implemented by any class which need special conversion like 10 | // gtk.Application -> gio.Application 11 | type IGlibConvert interface { 12 | // If conversion can't be done, the function has to panic with a message that it can't convert to type 13 | Convert(reflect.Type) reflect.Value 14 | } 15 | 16 | var ( 17 | IGlibConvertType reflect.Type 18 | ) 19 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/glib_since_2_44.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !glib_2_40,!glib_2_42 4 | 5 | package glib 6 | 7 | // #include 8 | // #include 9 | // #include 10 | // #include "glib.go.h" 11 | // #include "glib_since_2_44.go.h" 12 | import "C" 13 | 14 | /* 15 | * Application 16 | */ 17 | 18 | // GetIsBusy is a wrapper around g_application_get_is_busy(). 19 | func (v *Application) GetIsBusy() bool { 20 | return gobool(C.g_application_get_is_busy(v.native())) 21 | } 22 | 23 | /* 24 | * SimpleAction 25 | */ 26 | 27 | // SetStateHint is a wrapper around g_simple_action_set_state_hint 28 | func (v *SimpleAction) SetStateHint(stateHint *Variant) { 29 | C.g_simple_action_set_state_hint(v.native(), stateHint.native()) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/glib_since_2_44.go.h: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | #include 4 | 5 | #include 6 | #include 7 | 8 | static GListModel *toGListModel(void *p) { return (G_LIST_MODEL(p)); } 9 | 10 | static GListStore *toGListStore(void *p) { return (G_LIST_STORE(p)); } 11 | 12 | static inline void _g_list_store_insert_sorted(GListStore *model, gpointer item, 13 | gpointer user_data) { 14 | g_list_store_insert_sorted(model, item, 15 | (GCompareDataFunc)(goCompareDataFuncs), user_data); 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/glib_since_2_46.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !glib_2_40,!glib_2_42,!glib_2_44 4 | 5 | package glib 6 | 7 | // #include 8 | // #include 9 | // #include 10 | // #include "glib.go.h" 11 | // #include "glib_since_2_44.go.h" 12 | // #include "glib_since_2_46.go.h" 13 | import "C" 14 | import "github.com/gotk3/gotk3/internal/callback" 15 | 16 | /* 17 | * GListStore 18 | */ 19 | 20 | // Sort is a wrapper around g_list_store_sort(). 21 | func (v *ListStore) Sort(compareFunc CompareDataFunc) { 22 | C._g_list_store_sort(v.native(), C.gpointer(callback.Assign(compareFunc))) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/glib_since_2_46.go.h: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | #include 4 | 5 | #include 6 | #include 7 | 8 | static inline void _g_list_store_sort(GListStore *model, gpointer user_data) { 9 | g_list_store_sort(model, (GCompareDataFunc)(goCompareDataFuncs), user_data); 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/glib_since_2_58.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !glib_2_40,!glib_2_42,!glib_2_44,!glib_2_46,!glib_2_48,!glib_2_50,!glib_2_52,!glib_2_54,!glib_2_56 4 | 5 | package glib 6 | 7 | // #include 8 | // #include 9 | // #include 10 | // #include "glib.go.h" 11 | import "C" 12 | 13 | const ( 14 | FORMAT_SIZE_BITS FormatSizeFlags = C.G_FORMAT_SIZE_BITS 15 | ) 16 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/glib_since_2_64.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !glib_2_40,!glib_2_42,!glib_2_44,!glib_2_46,!glib_2_48,!glib_2_50,!glib_2_52,!glib_2_54,!glib_2_56,!glib_2_58,!glib_2_60,!glib_2_62 4 | 5 | package glib 6 | 7 | // // #include 8 | // // #include 9 | // // #include 10 | // // #include "glib.go.h" 11 | // // #include "glib_since_2_44.go.h" 12 | // import "C" 13 | 14 | /* 15 | * GListStore 16 | */ 17 | 18 | // TODO 19 | // g_list_store_find 20 | // g_list_store_find_with_equal_func 21 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/gsource.go: -------------------------------------------------------------------------------- 1 | package glib 2 | 3 | // #include 4 | // #include 5 | // #include 6 | // #include "glib.go.h" 7 | import "C" 8 | 9 | type Source C.GSource 10 | 11 | // native returns a pointer to the underlying GSource. 12 | func (v *Source) native() *C.GSource { 13 | if v == nil { 14 | return nil 15 | } 16 | return (*C.GSource)(v) 17 | } 18 | 19 | func wrapSource(sourcePtr *C.GSource) *Source { 20 | source := Source(*sourcePtr) 21 | return &source 22 | } 23 | 24 | // MainCurrentSource is a wrapper around g_main_current_source(). 25 | func MainCurrentSource() *Source { 26 | c := C.g_main_current_source() 27 | if c == nil { 28 | return nil 29 | } 30 | return (*Source)(c) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/gvariant.go.h: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // GVariant : GVariant — strongly typed value datatype 4 | // https://developer.gnome.org/glib/2.26/glib-GVariant.html 5 | 6 | #ifndef __GVARIANT_GO_H__ 7 | #define __GVARIANT_GO_H__ 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | // Type Casting 15 | 16 | static GVariant *toGVariant(void *p) { return (GVariant *)p; } 17 | 18 | static GVariantBuilder *toGVariantBuilder(void *p) { 19 | return (GVariantBuilder *)p; 20 | } 21 | 22 | static GVariantDict *toGVariantDict(void *p) { return (GVariantDict *)p; } 23 | 24 | static GVariantIter *toGVariantIter(void *p) { return (GVariantIter *)p; } 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/glib/quark.go: -------------------------------------------------------------------------------- 1 | package glib 2 | 3 | import ( 4 | "unsafe" 5 | ) 6 | 7 | // #include 8 | // #include 9 | import "C" 10 | 11 | // QuarkFromString is a wrapper around g_quark_from_string(). 12 | func QuarkFromString(str string) Quark { 13 | cstr := (*C.gchar)(C.CString(str)) 14 | defer C.free(unsafe.Pointer(cstr)) 15 | 16 | return Quark(C.g_quark_from_string(cstr)) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/actionable.go.h: -------------------------------------------------------------------------------- 1 | static GtkActionable *toGtkActionable(void *p) { return (GTK_ACTIONABLE(p)); } 2 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/application_window_since_3_20.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14,!gtk_3_16,!gtk_3_18 4 | 5 | package gtk 6 | 7 | // #include 8 | // #include "gtk.go.h" 9 | import "C" 10 | import ( 11 | "unsafe" 12 | 13 | "github.com/gotk3/gotk3/glib" 14 | ) 15 | 16 | // SetHelpOverlay is a wrapper around gtk_application_window_set_help_overlay(). 17 | func (v *ApplicationWindow) SetHelpOverlay(helpOverlay *ShortcutsWindow) { 18 | C.gtk_application_window_set_help_overlay(v.native(), helpOverlay.native()) 19 | } 20 | 21 | // GetHelpOverlay is a wrapper around gtk_application_window_get_help_overlay(). 22 | func (v *ApplicationWindow) GetHelpOverlay() *ShortcutsWindow { 23 | c := C.gtk_application_window_get_help_overlay(v.native()) 24 | if c == nil { 25 | return nil 26 | } 27 | return wrapShortcutsWindow(glib.Take(unsafe.Pointer(c))) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/cell_area_since_3_14.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | // See: https://developer.gnome.org/gtk3/3.14/api-index-3-14.html 3 | 4 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12 5 | 6 | package gtk 7 | 8 | // #include 9 | // #include "gtk.go.h" 10 | import "C" 11 | import "unsafe" 12 | 13 | /* 14 | * GtkCellArea 15 | */ 16 | 17 | // AttributeGetColumn is a wrapper around gtk_cell_area_attribute_get_column(). 18 | func (v *CellArea) AttributeGetColumn(renderer ICellRenderer, attribute string) int { 19 | cstr := C.CString(attribute) 20 | defer C.free(unsafe.Pointer(cstr)) 21 | column := C.gtk_cell_area_attribute_get_column(v.native(), renderer.toCellRenderer(), (*C.gchar)(cstr)) 22 | return int(column) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/fixed.go.h: -------------------------------------------------------------------------------- 1 | static GtkFixed *toGtkFixed(void *p) { return (GTK_FIXED(p)); } -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/glarea_since_3_22.go: -------------------------------------------------------------------------------- 1 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14,!gtk_3_16,!gtk_3_18,!gtk_3_20 2 | // Supports building with gtk 3.22+ 3 | 4 | package gtk 5 | 6 | // #include 7 | import "C" 8 | 9 | // GetUseES is a wrapper around gtk_gl_area_get_use_es(). 10 | func (v *GLArea) GetUseES() bool { 11 | return gobool(C.gtk_gl_area_get_use_es(v.native())) 12 | } 13 | 14 | // SetUseES is a wrapper around gtk_gl_area_set_use_es(). 15 | func (v *GLArea) SetUseES(es bool) { 16 | C.gtk_gl_area_set_use_es(v.native(), gbool(es)) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/glib.go: -------------------------------------------------------------------------------- 1 | package gtk 2 | 3 | // #include 4 | // #include "gtk.go.h" 5 | import "C" 6 | import ( 7 | "unsafe" 8 | 9 | "github.com/gotk3/gotk3/glib" 10 | ) 11 | 12 | func nativeGPermission(permission *glib.Permission) *C.GPermission { 13 | // Note: would return C type prefixed with glib package. 14 | // Go issue: here https://github.com/golang/go/issues/13467. 15 | var perm *C.GPermission 16 | if permission != nil { 17 | perm = (*C.GPermission)(unsafe.Pointer(permission.Native())) 18 | } 19 | return perm 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/gtk_deprecated_since_3_18.go: -------------------------------------------------------------------------------- 1 | //+build gtk_3_6 gtk_3_8 gtk_3_10 gtk_3_12 gtk_3_14 gtk_3_16 gtk_deprecated 2 | 3 | package gtk 4 | 5 | /* 6 | * GtkPlacesSidebar 7 | */ 8 | 9 | // TODO: 10 | // gtk_places_sidebar_get_show_connect_to_server(). 11 | // gtk_places_sidebar_set_show_connect_to_server(). 12 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/gtk_export_since_3_14.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12 3 | 4 | package gtk 5 | 6 | // #include 7 | import "C" 8 | import ( 9 | "unsafe" 10 | 11 | "github.com/gotk3/gotk3/glib" 12 | "github.com/gotk3/gotk3/internal/callback" 13 | ) 14 | 15 | //export goListBoxForEachFuncs 16 | func goListBoxForEachFuncs(box *C.GtkListBox, row *C.GtkListBoxRow, userData C.gpointer) { 17 | fn := callback.Get(uintptr(userData)).(ListBoxForeachFunc) 18 | fn(wrapListBox(glib.Take(unsafe.Pointer(box))), wrapListBoxRow(glib.Take(unsafe.Pointer(row)))) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/gtk_export_since_3_16.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14 3 | 4 | package gtk 5 | 6 | // #include 7 | import "C" 8 | import "github.com/gotk3/gotk3/internal/callback" 9 | 10 | //export goListBoxCreateWidgetFuncs 11 | func goListBoxCreateWidgetFuncs(item, userData C.gpointer) { 12 | fn := callback.Get(uintptr(userData)).(ListBoxCreateWidgetFunc) 13 | fn(uintptr(item)) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/gtk_since_3_14.go.h: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | extern void goListBoxForEachFuncs(GtkListBox *box, GtkListBoxRow *row, 4 | gpointer user_data); 5 | 6 | static inline void _gtk_list_box_selected_foreach(GtkListBox *box, 7 | gpointer user_data) { 8 | gtk_list_box_selected_foreach( 9 | box, (GtkListBoxForeachFunc)(goListBoxForEachFuncs), user_data); 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/gtk_since_3_16_deprecated_since_3_20.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project. 2 | // This file is normally only compiled for GTK 3.16 and 3.18. 3 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14,gtk_deprecated gtk_3_16 gtk_3_18 4 | 5 | package gtk 6 | 7 | // #include 8 | import "C" 9 | 10 | /* 11 | * GtkPopover 12 | */ 13 | 14 | // SetTransitionsEnabled is a wrapper gtk_popover_set_transitions_enabled(). 15 | func (v *Popover) SetTransitionsEnabled(transitionsEnabled bool) { 16 | C.gtk_popover_set_transitions_enabled(v.native(), gbool(transitionsEnabled)) 17 | } 18 | 19 | // GetTransitionsEnabled is a wrapper gtk_popover_get_transitions_enabled(). 20 | func (v *Popover) GetTransitionsEnabled() bool { 21 | return gobool(C.gtk_popover_get_transitions_enabled(v.native())) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/gtk_since_3_16_glib_2_44.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | // The code in this file is only for GTK+ version 3.16+, as well as Glib version 2.44+ 3 | 4 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14,!glib_2_40,!glib_2_42 5 | 6 | package gtk 7 | 8 | // #include 9 | // #include "gtk_since_3_16.go.h" 10 | import "C" 11 | import ( 12 | "unsafe" 13 | 14 | "github.com/gotk3/gotk3/internal/callback" 15 | "github.com/gotk3/gotk3/glib" 16 | ) 17 | 18 | // BindModel is a wrapper around gtk_list_box_bind_model(). 19 | func (v *ListBox) BindModel(listModel *glib.ListModel, createWidgetFunc ListBoxCreateWidgetFunc) { 20 | C._gtk_list_box_bind_model( 21 | v.native(), 22 | C.toGListModel(unsafe.Pointer(listModel.Native())), 23 | C.gpointer(callback.Assign(createWidgetFunc)), 24 | ) 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/gtk_since_3_24.go: -------------------------------------------------------------------------------- 1 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14,!gtk_3_16,!gtk_3_18,!gtk_3_20,!gtk_3_22 2 | 3 | package gtk 4 | 5 | // #include 6 | import "C" 7 | 8 | /* 9 | * GtkInputPurpose 10 | */ 11 | 12 | const ( 13 | INPUT_PURPOSE_TERMINAL InputPurpose = C.GTK_INPUT_PURPOSE_TERMINAL 14 | ) 15 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/level_bar_since_3_20.go: -------------------------------------------------------------------------------- 1 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14,!gtk_3_16,!gtk_3_18 2 | 3 | package gtk 4 | 5 | // #include 6 | // #include "gtk.go.h" 7 | import "C" 8 | 9 | /* 10 | * Constants 11 | */ 12 | 13 | const ( 14 | LEVEL_BAR_OFFSET_FULL string = C.GTK_LEVEL_BAR_OFFSET_FULL 15 | ) 16 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/level_bar_since_3_8.go: -------------------------------------------------------------------------------- 1 | // +build !gtk_3_6 2 | 3 | package gtk 4 | 5 | // #include 6 | // #include "gtk.go.h" 7 | import "C" 8 | 9 | // SetInverted() is a wrapper around gtk_level_bar_set_inverted(). 10 | func (v *LevelBar) SetInverted(inverted bool) { 11 | C.gtk_level_bar_set_inverted(v.native(), gbool(inverted)) 12 | } 13 | 14 | // GetInverted() is a wrapper around gtk_level_bar_get_inverted(). 15 | func (v *LevelBar) GetInverted() bool { 16 | c := C.gtk_level_bar_get_inverted(v.native()) 17 | return gobool(c) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/menu_before_3_22.go: -------------------------------------------------------------------------------- 1 | // +build gtk_3_6 gtk_3_8 gtk_3_10 gtk_3_12 gtk_3_14 gtk_3_16 gtk_3_18 gtk_3_20 2 | 3 | package gtk 4 | 5 | // #include 6 | // #include 7 | import "C" 8 | import "github.com/gotk3/gotk3/gdk" 9 | 10 | // PopupAtPointer() is a wrapper for gtk_menu_popup_at_pointer(), on older versions it uses PopupAtMouseCursor 11 | func (v *Menu) PopupAtPointer(_ *gdk.Event) { 12 | C.gtk_menu_popup(v.native(), 13 | nil, 14 | nil, 15 | nil, 16 | nil, 17 | C.guint(0), 18 | C.gtk_get_current_event_time()) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/print.go.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | extern void goPrintSettings(gchar *key, gchar *value, gpointer user_data); 8 | 9 | static inline void _gtk_print_settings_foreach(GtkPrintSettings *ps, 10 | gpointer user_data) { 11 | gtk_print_settings_foreach(ps, (GtkPrintSettingsFunc)(goPrintSettings), 12 | user_data); 13 | } 14 | 15 | extern void goPageSetupDone(GtkPageSetup *setup, gpointer data); 16 | 17 | static inline void 18 | _gtk_print_run_page_setup_dialog_async(GtkWindow *parent, GtkPageSetup *setup, 19 | GtkPrintSettings *settings, 20 | gpointer data) { 21 | gtk_print_run_page_setup_dialog_async( 22 | parent, setup, settings, (GtkPageSetupDoneFunc)(goPageSetupDone), data); 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/print_export.go: -------------------------------------------------------------------------------- 1 | package gtk 2 | 3 | // #include 4 | import "C" 5 | import ( 6 | "unsafe" 7 | 8 | "github.com/gotk3/gotk3/glib" 9 | "github.com/gotk3/gotk3/internal/callback" 10 | ) 11 | 12 | //export goPageSetupDone 13 | func goPageSetupDone(setup *C.GtkPageSetup, data C.gpointer) { 14 | // This callback is only used once, so we can clean up immediately 15 | fn := callback.GetAndDelete(uintptr(data)).(PageSetupDoneCallback) 16 | fn(wrapPageSetup(glib.Take(unsafe.Pointer(setup)))) 17 | } 18 | 19 | //export goPrintSettings 20 | func goPrintSettings(key *C.gchar, value *C.gchar, userData C.gpointer) { 21 | fn := callback.Get(uintptr(userData)).(PrintSettingsCallback) 22 | fn(C.GoString((*C.char)(key)), C.GoString((*C.char)(value))) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/settings.go.h: -------------------------------------------------------------------------------- 1 | static GtkSettings *toGtkSettings(void *p) { return (GTK_SETTINGS(p)); } 2 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/socket_plug.go.h: -------------------------------------------------------------------------------- 1 | 2 | static GtkSocket *toGtkSocket(void *p) { return (GTK_SOCKET(p)); } 3 | 4 | static GtkPlug *toGtkPlug(void *p) { return (GTK_PLUG(p)); } 5 | 6 | static GdkDisplay *toGdkDisplay(void *p) { return (GDK_DISPLAY(p)); } 7 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/testing_since_3_10.go: -------------------------------------------------------------------------------- 1 | // +build !gtk_3_6,!gtk_3_8 2 | 3 | package gtk 4 | 5 | // #include 6 | import "C" 7 | 8 | // TestWidgetWaitForDraw is a wrapper around gtk_test_widget_wait_for_draw(). 9 | // Enters the main loop and waits for widget to be “drawn”. In this context that means it waits for the frame clock of widget to have run a full styling, layout and drawing cycle. 10 | // This function is intended to be used for syncing with actions that depend on widget relayouting or on interaction with the display server. 11 | func TestWidgetWaitForDraw(widget IWidget) { 12 | C.gtk_test_widget_wait_for_draw(widget.toWidget()) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/toolshell.go: -------------------------------------------------------------------------------- 1 | package gtk 2 | 3 | // TODO: 4 | // GtkToolShellIface 5 | // gtk_tool_shell_get_ellipsize_mode(). 6 | // gtk_tool_shell_get_icon_size(). 7 | // gtk_tool_shell_get_orientation(). 8 | // gtk_tool_shell_get_relief_style(). 9 | // gtk_tool_shell_get_style(). 10 | // gtk_tool_shell_get_text_alignment(). 11 | // gtk_tool_shell_get_text_orientation(). 12 | // gtk_tool_shell_rebuild_menu(). 13 | // gtk_tool_shell_get_text_size_group(). 14 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/version.go: -------------------------------------------------------------------------------- 1 | package gtk 2 | 3 | // #include 4 | import "C" 5 | import "errors" 6 | 7 | func CheckVersion(major, minor, micro uint) error { 8 | errChar := C.gtk_check_version(C.guint(major), C.guint(minor), C.guint(micro)) 9 | if errChar == nil { 10 | return nil 11 | } 12 | 13 | return errors.New(C.GoString((*C.char)(errChar))) 14 | } 15 | 16 | func GetMajorVersion() uint { 17 | v := C.gtk_get_major_version() 18 | return uint(v) 19 | } 20 | 21 | func GetMinorVersion() uint { 22 | v := C.gtk_get_minor_version() 23 | return uint(v) 24 | } 25 | 26 | func GetMicroVersion() uint { 27 | v := C.gtk_get_micro_version() 28 | return uint(v) 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/widget_export_since_3_8.go: -------------------------------------------------------------------------------- 1 | // +build !gtk_3_6 2 | 3 | package gtk 4 | 5 | // #include 6 | // #include 7 | import "C" 8 | import ( 9 | "unsafe" 10 | 11 | "github.com/gotk3/gotk3/gdk" 12 | "github.com/gotk3/gotk3/glib" 13 | "github.com/gotk3/gotk3/internal/callback" 14 | ) 15 | 16 | //export goTickCallbacks 17 | func goTickCallbacks(widget *C.GtkWidget, frameClock *C.GdkFrameClock, userData C.gpointer) C.gboolean { 18 | fn := callback.Get(uintptr(userData)).(TickCallback) 19 | return gbool(fn( 20 | wrapWidget(glib.Take(unsafe.Pointer(widget))), 21 | gdk.WrapFrameClock(unsafe.Pointer(frameClock)), 22 | )) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/widget_since_3_14.go: -------------------------------------------------------------------------------- 1 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12 2 | 3 | // See: https://developer.gnome.org/gtk3/3.14/api-index-3-14.html 4 | 5 | package gtk 6 | 7 | // #include 8 | import "C" 9 | 10 | // GetClip is a wrapper around gtk_widget_get_clip(). 11 | func (v *Widget) GetClip() *Allocation { 12 | var clip Allocation 13 | C.gtk_widget_get_clip(v.native(), clip.native()) 14 | return &clip 15 | } 16 | 17 | // SetClip is a wrapper around gtk_widget_set_clip(). 18 | func (v *Widget) SetClip(clip *Allocation) { 19 | C.gtk_widget_set_clip(v.native(), clip.native()) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/widget_since_3_16.go: -------------------------------------------------------------------------------- 1 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14 2 | 3 | package gtk 4 | 5 | // #include 6 | import "C" 7 | 8 | // TODO: 9 | // gtk_widget_list_action_prefixes(). 10 | // gtk_widget_get_action_group(). 11 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/widget_since_3_18.go: -------------------------------------------------------------------------------- 1 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14,!gtk_3_16 2 | 3 | package gtk 4 | 5 | // #include 6 | import "C" 7 | 8 | // TODO: 9 | // gtk_widget_set_font_options(). 10 | // gtk_widget_get_font_options(). 11 | // gtk_widget_set_font_map(). 12 | // gtk_widget_get_font_map(). 13 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/widget_since_3_20.go: -------------------------------------------------------------------------------- 1 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14,!gtk_3_16,!gtk_3_18 2 | 3 | package gtk 4 | 5 | // #include 6 | import "C" 7 | 8 | // GetFocusOnClick is a wrapper around gtk_widget_get_focus_on_click(). 9 | func (v *Widget) GetFocusOnClick() bool { 10 | c := C.gtk_widget_get_focus_on_click(v.native()) 11 | return gobool(c) 12 | } 13 | 14 | // SetFocusOnClick is a wrapper around gtk_widget_set_focus_on_click(). 15 | func (v *Widget) SetFocusOnClick(focusOnClick bool) { 16 | C.gtk_widget_set_focus_on_click(v.native(), gbool(focusOnClick)) 17 | } 18 | 19 | // TODO: 20 | // gtk_widget_class_get_css_name(). 21 | // gtk_widget_class_set_css_name(). 22 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/window_since_3_10.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gtk_3_6,!gtk_3_8 4 | // not use this: go build -tags gtk_3_8'. Otherwise, if no build tags are used, GTK 3.10 5 | 6 | package gtk 7 | 8 | // #include 9 | // #include 10 | // #include "gtk_since_3_10.go.h" 11 | import "C" 12 | 13 | /* 14 | * GtkWindow 15 | */ 16 | 17 | // SetTitlebar is a wrapper around gtk_window_set_titlebar(). 18 | func (v *Window) SetTitlebar(titlebar IWidget) { 19 | C.gtk_window_set_titlebar(v.native(), titlebar.toWidget()) 20 | } 21 | 22 | // Close is a wrapper around gtk_window_close(). 23 | func (v *Window) Close() { 24 | C.gtk_window_close(v.native()) 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/window_since_3_12.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10 4 | 5 | package gtk 6 | 7 | // #include 8 | import "C" 9 | 10 | // IsMaximized is a wrapper around gtk_window_is_maximized(). 11 | func (v *Window) IsMaximized() bool { 12 | c := C.gtk_window_is_maximized(v.native()) 13 | return gobool(c) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/window_since_3_14.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12 4 | 5 | package gtk 6 | 7 | // #include 8 | import "C" 9 | 10 | // SetInteractiveDebugging is a wrapper around gtk_window_set_interactive_debugging(). 11 | func SetInteractiveDebugging(enable bool) { 12 | C.gtk_window_set_interactive_debugging(gbool(enable)) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/window_since_3_16.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14 4 | 5 | package gtk 6 | 7 | // #include 8 | import "C" 9 | 10 | // GetTitlebar is a wrapper around gtk_window_get_titlebar(). 11 | func (v *Window) GetTitlebar() (IWidget, error) { 12 | c := C.gtk_window_get_titlebar(v.native()) 13 | if c == nil { 14 | return nil, nil 15 | } 16 | return castWidget(c) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/gtk/window_since_3_18.go: -------------------------------------------------------------------------------- 1 | // Same copyright and license as the rest of the files in this project 2 | 3 | // +build !gtk_3_6,!gtk_3_8,!gtk_3_10,!gtk_3_12,!gtk_3_14,!gtk_3_16 4 | 5 | package gtk 6 | 7 | // #include 8 | // #include "gtk.go.h" 9 | import "C" 10 | import ( 11 | "unsafe" 12 | 13 | "github.com/gotk3/gotk3/gdk" 14 | ) 15 | 16 | // FullscreenOnMonitor is a wrapper around gtk_window_fullscreen_on_monitor(). 17 | func (v *Window) FullscreenOnMonitor(screen *gdk.Screen, monitor int) { 18 | C.gtk_window_fullscreen_on_monitor(v.native(), C.toGdkScreen(unsafe.Pointer(screen.Native())), C.gint(monitor)) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/internal/callback/callback.go: -------------------------------------------------------------------------------- 1 | package callback 2 | 3 | import ( 4 | "sync" 5 | 6 | "github.com/gotk3/gotk3/internal/slab" 7 | ) 8 | 9 | var ( 10 | mutex sync.RWMutex 11 | registry slab.Slab 12 | ) 13 | 14 | func Assign(callback interface{}) uintptr { 15 | mutex.Lock() 16 | defer mutex.Unlock() 17 | 18 | return registry.Put(callback) 19 | } 20 | 21 | func Get(ptr uintptr) interface{} { 22 | mutex.RLock() 23 | defer mutex.RUnlock() 24 | 25 | return registry.Get(ptr) 26 | } 27 | 28 | func Delete(ptr uintptr) { 29 | GetAndDelete(ptr) 30 | } 31 | 32 | func GetAndDelete(ptr uintptr) interface{} { 33 | mutex.Lock() 34 | defer mutex.Unlock() 35 | 36 | return registry.Pop(ptr) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/internal/closure/closure_go_1_14.go: -------------------------------------------------------------------------------- 1 | // +build !go1.15 2 | 3 | package closure 4 | 5 | import "unsafe" 6 | 7 | func getAndDeleteClosure(closure unsafe.Pointer) FuncStack { 8 | v, ok := closures.Load(closure) 9 | if ok { 10 | closures.Delete(closure) 11 | return v.(FuncStack) 12 | } 13 | return zeroFuncStack 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/internal/closure/closure_go_1_15.go: -------------------------------------------------------------------------------- 1 | // +build go1.15 2 | 3 | package closure 4 | 5 | import "unsafe" 6 | 7 | func getAndDeleteClosure(closure unsafe.Pointer) FuncStack { 8 | v, ok := closures.LoadAndDelete(closure) 9 | if ok { 10 | return v.(FuncStack) 11 | } 12 | return zeroFuncStack 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/pango/fontconfig.go.h: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | static int addFont(unsigned char *font) { 5 | FcBool fontAddStatus = FcConfigAppFontAddFile(FcConfigGetCurrent(), font); 6 | return fontAddStatus; 7 | } -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/pango/pango-attributes_since_1_44.go: -------------------------------------------------------------------------------- 1 | // +build !pango_1_36,!pango_1_38,!pango_1_40,!pango_1_42 2 | 3 | package pango 4 | 5 | // #include 6 | // #include "pango.go.h" 7 | import "C" 8 | 9 | var ( 10 | ATTR_INSERT_HYPHENS AttrType = C.PANGO_ATTR_INSERT_HYPHENS 11 | ) 12 | 13 | func AttrInsertHyphensNew(insertHyphens bool) *Attribute { 14 | c := C.pango_attr_insert_hyphens_new(gbool(insertHyphens)) 15 | attr := new(Attribute) 16 | attr.internal = c 17 | return attr 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/gotk3/gotk3/pango/pangocairo.go.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clearlinux/clr-installer/1c35cd470cf0fff04959c866bc738d0fadf8e204/vendor/github.com/gotk3/gotk3/pango/pangocairo.go.h -------------------------------------------------------------------------------- /vendor/github.com/huandu/xstrings/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/huandu/xstrings/common.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 Huan Du. All rights reserved. 2 | // Licensed under the MIT license that can be found in the LICENSE file. 3 | 4 | package xstrings 5 | 6 | const bufferMaxInitGrowSize = 2048 7 | 8 | // Lazy initialize a buffer. 9 | func allocBuffer(orig, cur string) *stringBuilder { 10 | output := &stringBuilder{} 11 | maxSize := len(orig) * 4 12 | 13 | // Avoid to reserve too much memory at once. 14 | if maxSize > bufferMaxInitGrowSize { 15 | maxSize = bufferMaxInitGrowSize 16 | } 17 | 18 | output.Grow(maxSize) 19 | output.WriteString(orig[:len(orig)-len(cur)]) 20 | return output 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/huandu/xstrings/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 Huan Du. All rights reserved. 2 | // Licensed under the MIT license that can be found in the LICENSE file. 3 | 4 | // Package xstrings is to provide string algorithms which are useful but not included in `strings` package. 5 | // See project home page for details. https://github.com/huandu/xstrings 6 | // 7 | // Package xstrings assumes all strings are encoded in utf8. 8 | package xstrings 9 | -------------------------------------------------------------------------------- /vendor/github.com/huandu/xstrings/stringbuilder.go: -------------------------------------------------------------------------------- 1 | //go:build go1.10 2 | // +build go1.10 3 | 4 | package xstrings 5 | 6 | import "strings" 7 | 8 | type stringBuilder = strings.Builder 9 | -------------------------------------------------------------------------------- /vendor/github.com/huandu/xstrings/stringbuilder_go110.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.10 2 | // +build !go1.10 3 | 4 | package xstrings 5 | 6 | import "bytes" 7 | 8 | type stringBuilder struct { 9 | bytes.Buffer 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/leonelquinteros/gotext/.gitignore: -------------------------------------------------------------------------------- 1 | # Eclipse shit 2 | .project 3 | .settings 4 | .buildpath 5 | 6 | # golang jetbrains shit 7 | .idea 8 | 9 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 10 | *.o 11 | *.a 12 | *.so 13 | 14 | # Folders 15 | _obj 16 | _test 17 | 18 | # Architecture specific extensions/prefixes 19 | *.[568vq] 20 | [568vq].out 21 | 22 | *.cgo1.go 23 | *.cgo2.c 24 | _cgo_defun.c 25 | _cgo_gotypes.go 26 | _cgo_export.* 27 | 28 | _testmain.go 29 | 30 | *.exe 31 | *.test 32 | *.prof 33 | -------------------------------------------------------------------------------- /vendor/github.com/leonelquinteros/gotext/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # CONTRIBUTING 2 | 3 | This open source project welcomes everybody that wants to contribute to it by implementing new features, fixing bugs, testing, creating documentation or simply talk about it. 4 | 5 | Most contributions will start by creating a new Issue to discuss what is the contribution about and to agree on the steps to move forward. 6 | 7 | ## Issues 8 | 9 | All issues reports are welcome. Open a new Issue whenever you want to report a bug, request a change or make a proposal. 10 | 11 | This should be your start point of contribution. 12 | 13 | 14 | ## Pull Requests 15 | 16 | If you have any changes that can be merged, feel free to send a Pull Request. 17 | 18 | Usually, you'd want to create a new Issue to discuss about the change you want to merge and why it's needed or what it solves. 19 | 20 | -------------------------------------------------------------------------------- /vendor/github.com/leonelquinteros/gotext/plurals/math.go: -------------------------------------------------------------------------------- 1 | // Original work Copyright (c) 2016 Jonas Obrist (https://github.com/ojii/gettext.go) 2 | // Modified work Copyright (c) 2018 DeineAgentur UG https://www.deineagentur.com 3 | // Modified work Copyright (c) 2018-present gotext maintainers (https://github.com/leonelquinteros/gotext) 4 | // 5 | // Licensed under the 3-Clause BSD License. See LICENSE in the project root for license information. 6 | 7 | package plurals 8 | 9 | type math interface { 10 | calc(n uint32) uint32 11 | } 12 | 13 | type mod struct { 14 | value uint32 15 | } 16 | 17 | func (m mod) calc(n uint32) uint32 { 18 | return n % m.value 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-runewidth/README.md: -------------------------------------------------------------------------------- 1 | go-runewidth 2 | ============ 3 | 4 | [![Build Status](https://github.com/mattn/go-runewidth/workflows/test/badge.svg?branch=master)](https://github.com/mattn/go-runewidth/actions?query=workflow%3Atest) 5 | [![Codecov](https://codecov.io/gh/mattn/go-runewidth/branch/master/graph/badge.svg)](https://codecov.io/gh/mattn/go-runewidth) 6 | [![GoDoc](https://godoc.org/github.com/mattn/go-runewidth?status.svg)](http://godoc.org/github.com/mattn/go-runewidth) 7 | [![Go Report Card](https://goreportcard.com/badge/github.com/mattn/go-runewidth)](https://goreportcard.com/report/github.com/mattn/go-runewidth) 8 | 9 | Provides functions to get fixed width of the character or string. 10 | 11 | Usage 12 | ----- 13 | 14 | ```go 15 | runewidth.StringWidth("つのだ☆HIRO") == 12 16 | ``` 17 | 18 | 19 | Author 20 | ------ 21 | 22 | Yasuhiro Matsumoto 23 | 24 | License 25 | ------- 26 | 27 | under the MIT License: http://mattn.mit-license.org/2013 28 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-runewidth/runewidth_appengine.go: -------------------------------------------------------------------------------- 1 | //go:build appengine 2 | // +build appengine 3 | 4 | package runewidth 5 | 6 | // IsEastAsian return true if the current locale is CJK 7 | func IsEastAsian() bool { 8 | return false 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-runewidth/runewidth_js.go: -------------------------------------------------------------------------------- 1 | //go:build js && !appengine 2 | // +build js,!appengine 3 | 4 | package runewidth 5 | 6 | func IsEastAsian() bool { 7 | // TODO: Implement this for the web. Detect east asian in a compatible way, and return true. 8 | return false 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-runewidth/runewidth_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows && !appengine 2 | // +build windows,!appengine 3 | 4 | package runewidth 5 | 6 | import ( 7 | "syscall" 8 | ) 9 | 10 | var ( 11 | kernel32 = syscall.NewLazyDLL("kernel32") 12 | procGetConsoleOutputCP = kernel32.NewProc("GetConsoleOutputCP") 13 | ) 14 | 15 | // IsEastAsian return true if the current locale is CJK 16 | func IsEastAsian() bool { 17 | r1, _, _ := procGetConsoleOutputCP.Call() 18 | if r1 == 0 { 19 | return false 20 | } 21 | 22 | switch int(r1) { 23 | case 932, 51932, 936, 949, 950: 24 | return true 25 | } 26 | 27 | return false 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/nightlyone/lockfile/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # popular temporaries 11 | .err 12 | .out 13 | .diff 14 | 15 | # Architecture specific extensions/prefixes 16 | *.[568vq] 17 | [568vq].out 18 | 19 | *.cgo1.go 20 | *.cgo2.c 21 | _cgo_defun.c 22 | _cgo_gotypes.go 23 | _cgo_export.* 24 | 25 | _testmain.go 26 | 27 | *.exe 28 | -------------------------------------------------------------------------------- /vendor/github.com/nightlyone/lockfile/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "git-hooks"] 2 | path = git-hooks 3 | url = https://github.com/nightlyone/git-hooks 4 | -------------------------------------------------------------------------------- /vendor/github.com/nightlyone/lockfile/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.13 4 | - 1.14 5 | - tip 6 | 7 | # Only test commits to production branch and all pull requests 8 | branches: 9 | only: 10 | - master 11 | 12 | matrix: 13 | allow_failures: 14 | - go: tip 15 | -------------------------------------------------------------------------------- /vendor/github.com/nightlyone/lockfile/appveyor.yml: -------------------------------------------------------------------------------- 1 | clone_folder: c:\gopath\src\github.com\nightlyone\lockfile 2 | 3 | environment: 4 | GOPATH: c:\gopath 5 | 6 | install: 7 | - go version 8 | - go env 9 | - go get -v -t ./... 10 | 11 | build_script: 12 | - go test -v ./... 13 | -------------------------------------------------------------------------------- /vendor/github.com/nightlyone/lockfile/lockfile_unix.go: -------------------------------------------------------------------------------- 1 | // +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris aix 2 | 3 | package lockfile 4 | 5 | import ( 6 | "os" 7 | "syscall" 8 | ) 9 | 10 | func isRunning(pid int) (bool, error) { 11 | proc, err := os.FindProcess(pid) 12 | if err != nil { 13 | return false, err 14 | } 15 | 16 | if err := proc.Signal(syscall.Signal(0)); err != nil { 17 | return false, nil 18 | } 19 | 20 | return true, nil 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/nightlyone/lockfile/lockfile_windows.go: -------------------------------------------------------------------------------- 1 | package lockfile 2 | 3 | import ( 4 | "syscall" 5 | ) 6 | 7 | //For some reason these consts don't exist in syscall. 8 | const ( 9 | error_invalid_parameter = 87 10 | code_still_active = 259 11 | ) 12 | 13 | func isRunning(pid int) (bool, error) { 14 | procHnd, err := syscall.OpenProcess(syscall.PROCESS_QUERY_INFORMATION, true, uint32(pid)) 15 | if err != nil { 16 | if scerr, ok := err.(syscall.Errno); ok { 17 | if uintptr(scerr) == error_invalid_parameter { 18 | return false, nil 19 | } 20 | } 21 | } 22 | 23 | var code uint32 24 | err = syscall.GetExitCodeProcess(procHnd, &code) 25 | if err != nil { 26 | return false, err 27 | } 28 | 29 | return code == code_still_active, nil 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/nsf/termbox-go/AUTHORS: -------------------------------------------------------------------------------- 1 | # Please keep this file sorted. 2 | 3 | Georg Reinke 4 | nsf 5 | -------------------------------------------------------------------------------- /vendor/github.com/nsf/termbox-go/escwait.go: -------------------------------------------------------------------------------- 1 | // +build !darwin 2 | 3 | package termbox 4 | 5 | // On all systems other than macOS, disable behavior which will wait before 6 | // deciding that the escape key was pressed, to account for partially send 7 | // escape sequences, especially with regard to lengthy mouse sequences. 8 | // See https://github.com/nsf/termbox-go/issues/132 9 | func enable_wait_for_escape_sequence() bool { 10 | return false 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/nsf/termbox-go/escwait_darwin.go: -------------------------------------------------------------------------------- 1 | package termbox 2 | 3 | // On macOS, enable behavior which will wait before deciding that the escape 4 | // key was pressed, to account for partially send escape sequences, especially 5 | // with regard to lengthy mouse sequences. 6 | // See https://github.com/nsf/termbox-go/issues/132 7 | func enable_wait_for_escape_sequence() bool { 8 | return true 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/nsf/termbox-go/syscalls_darwin.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs syscalls.go 3 | 4 | // +build !amd64 5 | 6 | package termbox 7 | 8 | type syscall_Termios struct { 9 | Iflag uint32 10 | Oflag uint32 11 | Cflag uint32 12 | Lflag uint32 13 | Cc [20]uint8 14 | Ispeed uint32 15 | Ospeed uint32 16 | } 17 | 18 | const ( 19 | syscall_IGNBRK = 0x1 20 | syscall_BRKINT = 0x2 21 | syscall_PARMRK = 0x8 22 | syscall_ISTRIP = 0x20 23 | syscall_INLCR = 0x40 24 | syscall_IGNCR = 0x80 25 | syscall_ICRNL = 0x100 26 | syscall_IXON = 0x200 27 | syscall_OPOST = 0x1 28 | syscall_ECHO = 0x8 29 | syscall_ECHONL = 0x10 30 | syscall_ICANON = 0x100 31 | syscall_ISIG = 0x80 32 | syscall_IEXTEN = 0x400 33 | syscall_CSIZE = 0x300 34 | syscall_PARENB = 0x1000 35 | syscall_CS8 = 0x300 36 | syscall_VMIN = 0x10 37 | syscall_VTIME = 0x11 38 | 39 | syscall_TCGETS = 0x402c7413 40 | syscall_TCSETS = 0x802c7414 41 | ) 42 | -------------------------------------------------------------------------------- /vendor/github.com/nsf/termbox-go/syscalls_darwin_amd64.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs syscalls.go 3 | 4 | package termbox 5 | 6 | type syscall_Termios struct { 7 | Iflag uint64 8 | Oflag uint64 9 | Cflag uint64 10 | Lflag uint64 11 | Cc [20]uint8 12 | Pad_cgo_0 [4]byte 13 | Ispeed uint64 14 | Ospeed uint64 15 | } 16 | 17 | const ( 18 | syscall_IGNBRK = 0x1 19 | syscall_BRKINT = 0x2 20 | syscall_PARMRK = 0x8 21 | syscall_ISTRIP = 0x20 22 | syscall_INLCR = 0x40 23 | syscall_IGNCR = 0x80 24 | syscall_ICRNL = 0x100 25 | syscall_IXON = 0x200 26 | syscall_OPOST = 0x1 27 | syscall_ECHO = 0x8 28 | syscall_ECHONL = 0x10 29 | syscall_ICANON = 0x100 30 | syscall_ISIG = 0x80 31 | syscall_IEXTEN = 0x400 32 | syscall_CSIZE = 0x300 33 | syscall_PARENB = 0x1000 34 | syscall_CS8 = 0x300 35 | syscall_VMIN = 0x10 36 | syscall_VTIME = 0x11 37 | 38 | syscall_TCGETS = 0x40487413 39 | syscall_TCSETS = 0x80487414 40 | ) 41 | -------------------------------------------------------------------------------- /vendor/github.com/nsf/termbox-go/syscalls_dragonfly.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs syscalls.go 3 | 4 | package termbox 5 | 6 | type syscall_Termios struct { 7 | Iflag uint32 8 | Oflag uint32 9 | Cflag uint32 10 | Lflag uint32 11 | Cc [20]uint8 12 | Ispeed uint32 13 | Ospeed uint32 14 | } 15 | 16 | const ( 17 | syscall_IGNBRK = 0x1 18 | syscall_BRKINT = 0x2 19 | syscall_PARMRK = 0x8 20 | syscall_ISTRIP = 0x20 21 | syscall_INLCR = 0x40 22 | syscall_IGNCR = 0x80 23 | syscall_ICRNL = 0x100 24 | syscall_IXON = 0x200 25 | syscall_OPOST = 0x1 26 | syscall_ECHO = 0x8 27 | syscall_ECHONL = 0x10 28 | syscall_ICANON = 0x100 29 | syscall_ISIG = 0x80 30 | syscall_IEXTEN = 0x400 31 | syscall_CSIZE = 0x300 32 | syscall_PARENB = 0x1000 33 | syscall_CS8 = 0x300 34 | syscall_VMIN = 0x10 35 | syscall_VTIME = 0x11 36 | 37 | syscall_TCGETS = 0x402c7413 38 | syscall_TCSETS = 0x802c7414 39 | ) 40 | -------------------------------------------------------------------------------- /vendor/github.com/nsf/termbox-go/syscalls_freebsd.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs syscalls.go 3 | 4 | package termbox 5 | 6 | type syscall_Termios struct { 7 | Iflag uint32 8 | Oflag uint32 9 | Cflag uint32 10 | Lflag uint32 11 | Cc [20]uint8 12 | Ispeed uint32 13 | Ospeed uint32 14 | } 15 | 16 | const ( 17 | syscall_IGNBRK = 0x1 18 | syscall_BRKINT = 0x2 19 | syscall_PARMRK = 0x8 20 | syscall_ISTRIP = 0x20 21 | syscall_INLCR = 0x40 22 | syscall_IGNCR = 0x80 23 | syscall_ICRNL = 0x100 24 | syscall_IXON = 0x200 25 | syscall_OPOST = 0x1 26 | syscall_ECHO = 0x8 27 | syscall_ECHONL = 0x10 28 | syscall_ICANON = 0x100 29 | syscall_ISIG = 0x80 30 | syscall_IEXTEN = 0x400 31 | syscall_CSIZE = 0x300 32 | syscall_PARENB = 0x1000 33 | syscall_CS8 = 0x300 34 | syscall_VMIN = 0x10 35 | syscall_VTIME = 0x11 36 | 37 | syscall_TCGETS = 0x402c7413 38 | syscall_TCSETS = 0x802c7414 39 | ) 40 | -------------------------------------------------------------------------------- /vendor/github.com/nsf/termbox-go/syscalls_linux.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs syscalls.go 3 | 4 | package termbox 5 | 6 | import "syscall" 7 | 8 | type syscall_Termios syscall.Termios 9 | 10 | const ( 11 | syscall_IGNBRK = syscall.IGNBRK 12 | syscall_BRKINT = syscall.BRKINT 13 | syscall_PARMRK = syscall.PARMRK 14 | syscall_ISTRIP = syscall.ISTRIP 15 | syscall_INLCR = syscall.INLCR 16 | syscall_IGNCR = syscall.IGNCR 17 | syscall_ICRNL = syscall.ICRNL 18 | syscall_IXON = syscall.IXON 19 | syscall_OPOST = syscall.OPOST 20 | syscall_ECHO = syscall.ECHO 21 | syscall_ECHONL = syscall.ECHONL 22 | syscall_ICANON = syscall.ICANON 23 | syscall_ISIG = syscall.ISIG 24 | syscall_IEXTEN = syscall.IEXTEN 25 | syscall_CSIZE = syscall.CSIZE 26 | syscall_PARENB = syscall.PARENB 27 | syscall_CS8 = syscall.CS8 28 | syscall_VMIN = syscall.VMIN 29 | syscall_VTIME = syscall.VTIME 30 | 31 | syscall_TCGETS = syscall.TCGETS 32 | syscall_TCSETS = syscall.TCSETS 33 | ) 34 | -------------------------------------------------------------------------------- /vendor/github.com/nsf/termbox-go/syscalls_netbsd.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs syscalls.go 3 | 4 | package termbox 5 | 6 | type syscall_Termios struct { 7 | Iflag uint32 8 | Oflag uint32 9 | Cflag uint32 10 | Lflag uint32 11 | Cc [20]uint8 12 | Ispeed int32 13 | Ospeed int32 14 | } 15 | 16 | const ( 17 | syscall_IGNBRK = 0x1 18 | syscall_BRKINT = 0x2 19 | syscall_PARMRK = 0x8 20 | syscall_ISTRIP = 0x20 21 | syscall_INLCR = 0x40 22 | syscall_IGNCR = 0x80 23 | syscall_ICRNL = 0x100 24 | syscall_IXON = 0x200 25 | syscall_OPOST = 0x1 26 | syscall_ECHO = 0x8 27 | syscall_ECHONL = 0x10 28 | syscall_ICANON = 0x100 29 | syscall_ISIG = 0x80 30 | syscall_IEXTEN = 0x400 31 | syscall_CSIZE = 0x300 32 | syscall_PARENB = 0x1000 33 | syscall_CS8 = 0x300 34 | syscall_VMIN = 0x10 35 | syscall_VTIME = 0x11 36 | 37 | syscall_TCGETS = 0x402c7413 38 | syscall_TCSETS = 0x802c7414 39 | ) 40 | -------------------------------------------------------------------------------- /vendor/github.com/nsf/termbox-go/syscalls_openbsd.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs syscalls.go 3 | 4 | package termbox 5 | 6 | type syscall_Termios struct { 7 | Iflag uint32 8 | Oflag uint32 9 | Cflag uint32 10 | Lflag uint32 11 | Cc [20]uint8 12 | Ispeed int32 13 | Ospeed int32 14 | } 15 | 16 | const ( 17 | syscall_IGNBRK = 0x1 18 | syscall_BRKINT = 0x2 19 | syscall_PARMRK = 0x8 20 | syscall_ISTRIP = 0x20 21 | syscall_INLCR = 0x40 22 | syscall_IGNCR = 0x80 23 | syscall_ICRNL = 0x100 24 | syscall_IXON = 0x200 25 | syscall_OPOST = 0x1 26 | syscall_ECHO = 0x8 27 | syscall_ECHONL = 0x10 28 | syscall_ICANON = 0x100 29 | syscall_ISIG = 0x80 30 | syscall_IEXTEN = 0x400 31 | syscall_CSIZE = 0x300 32 | syscall_PARENB = 0x1000 33 | syscall_CS8 = 0x300 34 | syscall_VMIN = 0x10 35 | syscall_VTIME = 0x11 36 | 37 | syscall_TCGETS = 0x402c7413 38 | syscall_TCSETS = 0x802c7414 39 | ) 40 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/pflag/.gitignore: -------------------------------------------------------------------------------- 1 | .idea/* 2 | 3 | -------------------------------------------------------------------------------- /vendor/github.com/spf13/pflag/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: go 4 | 5 | go: 6 | - 1.9.x 7 | - 1.10.x 8 | - 1.11.x 9 | - tip 10 | 11 | matrix: 12 | allow_failures: 13 | - go: tip 14 | 15 | install: 16 | - go get golang.org/x/lint/golint 17 | - export PATH=$GOPATH/bin:$PATH 18 | - go install ./... 19 | 20 | script: 21 | - verify/all.sh -v 22 | - go test ./... 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/plan9/asm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | #include "textflag.h" 6 | 7 | TEXT ·use(SB),NOSPLIT,$0 8 | RET 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/plan9/asm_plan9_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | #include "textflag.h" 6 | 7 | // 8 | // System call support for 386, Plan 9 9 | // 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-32 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-44 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 21 | JMP syscall·RawSyscall(SB) 22 | 23 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 24 | JMP syscall·RawSyscall6(SB) 25 | 26 | TEXT ·seek(SB),NOSPLIT,$0-36 27 | JMP syscall·seek(SB) 28 | 29 | TEXT ·exit(SB),NOSPLIT,$4-4 30 | JMP syscall·exit(SB) 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | #include "textflag.h" 6 | 7 | // 8 | // System call support for amd64, Plan 9 9 | // 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-64 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-88 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 21 | JMP syscall·RawSyscall(SB) 22 | 23 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 24 | JMP syscall·RawSyscall6(SB) 25 | 26 | TEXT ·seek(SB),NOSPLIT,$0-56 27 | JMP syscall·seek(SB) 28 | 29 | TEXT ·exit(SB),NOSPLIT,$8-8 30 | JMP syscall·exit(SB) 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/plan9/asm_plan9_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | #include "textflag.h" 6 | 7 | // System call support for plan9 on arm 8 | 9 | // Just jump to package syscall's implementation for all these functions. 10 | // The runtime may know about them. 11 | 12 | TEXT ·Syscall(SB),NOSPLIT,$0-32 13 | JMP syscall·Syscall(SB) 14 | 15 | TEXT ·Syscall6(SB),NOSPLIT,$0-44 16 | JMP syscall·Syscall6(SB) 17 | 18 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 19 | JMP syscall·RawSyscall(SB) 20 | 21 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 22 | JMP syscall·RawSyscall6(SB) 23 | 24 | TEXT ·seek(SB),NOSPLIT,$0-36 25 | JMP syscall·exit(SB) 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/plan9/env_plan9.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Plan 9 environment variables. 6 | 7 | package plan9 8 | 9 | import ( 10 | "syscall" 11 | ) 12 | 13 | func Getenv(key string) (value string, found bool) { 14 | return syscall.Getenv(key) 15 | } 16 | 17 | func Setenv(key, value string) error { 18 | return syscall.Setenv(key, value) 19 | } 20 | 21 | func Clearenv() { 22 | syscall.Clearenv() 23 | } 24 | 25 | func Environ() []string { 26 | return syscall.Environ() 27 | } 28 | 29 | func Unsetenv(key string) error { 30 | return syscall.Unsetenv(key) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Copyright 2009 The Go Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style 4 | # license that can be found in the LICENSE file. 5 | 6 | COMMAND="mksysnum_plan9.sh $@" 7 | 8 | cat <= 10 { 16 | buf[i] = byte(val%10 + '0') 17 | i-- 18 | val /= 10 19 | } 20 | buf[i] = byte(val + '0') 21 | return string(buf[i:]) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/.gitignore: -------------------------------------------------------------------------------- 1 | _obj/ 2 | unix.test 3 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | type Signal = syscall.Signal 12 | type Errno = syscall.Errno 13 | type SysProcAttr = syscall.SysProcAttr 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_aix_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go 11 | // 12 | 13 | TEXT ·syscall6(SB),NOSPLIT,$0-88 14 | JMP syscall·syscall6(SB) 15 | 16 | TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSyscall6(SB) 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for 386 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-28 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for AMD64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for ARM BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-28 15 | B syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 18 | B syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 21 | B syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 24 | B syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 27 | B syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_arm64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for ARM64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for ppc64, BSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for RISCV64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for mips64, OpenBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 11 | // 12 | 13 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88 14 | JMP syscall·sysvicall6(SB) 15 | 16 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSysvicall6(SB) 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/auxv_unsupported.go: -------------------------------------------------------------------------------- 1 | // Copyright 2025 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.21 && (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Auxv() ([][2]uintptr, error) { 12 | return nil, syscall.ENOTSUP 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/bluetooth_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Bluetooth sockets and messages 6 | 7 | package unix 8 | 9 | // Bluetooth Protocols 10 | const ( 11 | BTPROTO_L2CAP = 0 12 | BTPROTO_HCI = 1 13 | BTPROTO_SCO = 2 14 | BTPROTO_RFCOMM = 3 15 | BTPROTO_BNEP = 4 16 | BTPROTO_CMTP = 5 17 | BTPROTO_HIDP = 6 18 | BTPROTO_AVDTP = 7 19 | ) 20 | 21 | const ( 22 | HCI_CHANNEL_RAW = 0 23 | HCI_CHANNEL_USER = 1 24 | HCI_CHANNEL_MONITOR = 2 25 | HCI_CHANNEL_CONTROL = 3 26 | HCI_CHANNEL_LOGGING = 4 27 | ) 28 | 29 | // Socketoption Level 30 | const ( 31 | SOL_BLUETOOTH = 0x112 32 | SOL_HCI = 0x0 33 | SOL_L2CAP = 0x6 34 | SOL_RFCOMM = 0x12 35 | SOL_SCO = 0x11 36 | ) 37 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/constants.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | const ( 10 | R_OK = 0x4 11 | W_OK = 0x2 12 | X_OK = 0x1 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_aix_ppc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used by AIX. 9 | 10 | package unix 11 | 12 | // Major returns the major component of a Linux device number. 13 | func Major(dev uint64) uint32 { 14 | return uint32((dev >> 16) & 0xffff) 15 | } 16 | 17 | // Minor returns the minor component of a Linux device number. 18 | func Minor(dev uint64) uint32 { 19 | return uint32(dev & 0xffff) 20 | } 21 | 22 | // Mkdev returns a Linux device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | return uint64(((major) << 16) | (minor)) 26 | } 27 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_aix_ppc64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc64 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used AIX. 9 | 10 | package unix 11 | 12 | // Major returns the major component of a Linux device number. 13 | func Major(dev uint64) uint32 { 14 | return uint32((dev & 0x3fffffff00000000) >> 32) 15 | } 16 | 17 | // Minor returns the minor component of a Linux device number. 18 | func Minor(dev uint64) uint32 { 19 | return uint32((dev & 0x00000000ffffffff) >> 0) 20 | } 21 | 22 | // Mkdev returns a Linux device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | var DEVNO64 uint64 26 | DEVNO64 = 0x8000000000000000 27 | return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in Darwin's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of a Darwin device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev >> 24) & 0xff) 13 | } 14 | 15 | // Minor returns the minor component of a Darwin device number. 16 | func Minor(dev uint64) uint32 { 17 | return uint32(dev & 0xffffff) 18 | } 19 | 20 | // Mkdev returns a Darwin device number generated from the given major and minor 21 | // components. 22 | func Mkdev(major, minor uint32) uint64 { 23 | return (uint64(major) << 24) | uint64(minor) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_netbsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in NetBSD's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of a NetBSD device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev & 0x000fff00) >> 8) 13 | } 14 | 15 | // Minor returns the minor component of a NetBSD device number. 16 | func Minor(dev uint64) uint32 { 17 | minor := uint32((dev & 0x000000ff) >> 0) 18 | minor |= uint32((dev & 0xfff00000) >> 12) 19 | return minor 20 | } 21 | 22 | // Mkdev returns a NetBSD device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | dev := (uint64(major) << 8) & 0x000fff00 26 | dev |= (uint64(minor) << 12) & 0xfff00000 27 | dev |= (uint64(minor) << 0) & 0x000000ff 28 | return dev 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_zos.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build zos && s390x 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used by z/OS. 9 | // 10 | // The information below is extracted and adapted from macros. 11 | 12 | package unix 13 | 14 | // Major returns the major component of a z/OS device number. 15 | func Major(dev uint64) uint32 { 16 | return uint32((dev >> 16) & 0x0000FFFF) 17 | } 18 | 19 | // Minor returns the minor component of a z/OS device number. 20 | func Minor(dev uint64) uint32 { 21 | return uint32(dev & 0x0000FFFF) 22 | } 23 | 24 | // Mkdev returns a z/OS device number generated from the given major and minor 25 | // components. 26 | func Mkdev(major, minor uint32) uint64 { 27 | return (uint64(major) << 16) | uint64(minor) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_big.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 6 | 7 | package unix 8 | 9 | const isBigEndian = true 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_little.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh 6 | 7 | package unix 8 | 9 | const isBigEndian = false 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/env_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | // Unix environment variables. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getenv(key string) (value string, found bool) { 14 | return syscall.Getenv(key) 15 | } 16 | 17 | func Setenv(key, value string) error { 18 | return syscall.Setenv(key, value) 19 | } 20 | 21 | func Clearenv() { 22 | syscall.Clearenv() 23 | } 24 | 25 | func Environ() []string { 26 | return syscall.Environ() 27 | } 28 | 29 | func Unsetenv(key string) error { 30 | return syscall.Unsetenv(key) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fcntl_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | import "unsafe" 8 | 9 | // FcntlInt performs a fcntl syscall on fd with the provided command and argument. 10 | func FcntlInt(fd uintptr, cmd, arg int) (int, error) { 11 | return fcntl(int(fd), cmd, arg) 12 | } 13 | 14 | // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. 15 | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { 16 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk)))) 17 | return err 18 | } 19 | 20 | // FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command. 21 | func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error { 22 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore)))) 23 | return err 24 | } 25 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc) 6 | 7 | package unix 8 | 9 | func init() { 10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 12 | fcntl64Syscall = SYS_FCNTL64 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fdset.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | // Set adds fd to the set fds. 10 | func (fds *FdSet) Set(fd int) { 11 | fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS)) 12 | } 13 | 14 | // Clear removes fd from the set fds. 15 | func (fds *FdSet) Clear(fd int) { 16 | fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS)) 17 | } 18 | 19 | // IsSet returns whether fd is in the set fds. 20 | func (fds *FdSet) IsSet(fd int) bool { 21 | return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0 22 | } 23 | 24 | // Zero clears the set fds. 25 | func (fds *FdSet) Zero() { 26 | for i := range fds.Bits { 27 | fds.Bits[i] = 0 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gccgo && linux && amd64 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //extern gettimeofday 12 | func realGettimeofday(*Timeval, *byte) int32 13 | 14 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 15 | r := realGettimeofday(tv, nil) 16 | if r < 0 { 17 | return syscall.GetErrno() 18 | } 19 | return 0 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/mmap_nomremap.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | var mapper = &mmapper{ 10 | active: make(map[*byte][]byte), 11 | mmap: mmap, 12 | munmap: munmap, 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/pagesize_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | // For Unix, get the pagesize from the runtime. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getpagesize() int { 14 | return syscall.Getpagesize() 15 | } 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/ptrace_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin && !ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) error { 10 | return ptrace1(request, pid, addr, data) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/ptrace_ios.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { 10 | return ENOTSUP 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin && race) || (linux && race) || (freebsd && race) 6 | 7 | package unix 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos 6 | 7 | package unix 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/readdirent_getdents.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || dragonfly || freebsd || linux || netbsd || openbsd 6 | 7 | package unix 8 | 9 | // ReadDirent reads directory entries from fd and writes them into buf. 10 | func ReadDirent(fd int, buf []byte) (n int, err error) { 11 | return Getdents(fd, buf) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/readdirent_getdirentries.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin || zos 6 | 7 | package unix 8 | 9 | import "unsafe" 10 | 11 | // ReadDirent reads directory entries from fd and writes them into buf. 12 | func ReadDirent(fd int, buf []byte) (n int, err error) { 13 | // Final argument is (basep *uintptr) and the syscall doesn't take nil. 14 | // 64 bits should be enough. (32 bits isn't even on 386). Since the 15 | // actual system call is getdirentries64, 64 is a good guess. 16 | // TODO(rsc): Can we use a single global basep for all calls? 17 | var base = (*uintptr)(unsafe.Pointer(new(uint64))) 18 | return Getdirentries(fd, buf, base) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | // Round the length of a raw sockaddr up to align it properly. 8 | func cmsgAlignOf(salen int) int { 9 | salign := SizeofPtr 10 | if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) { 11 | // 64-bit Dragonfly before the September 2019 ABI changes still requires 12 | // 32-bit aligned access to network subsystem. 13 | salign = 4 14 | } 15 | return (salen + salign - 1) & ^(salign - 1) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_hurd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build hurd 6 | 7 | package unix 8 | 9 | /* 10 | #include 11 | int ioctl(int, unsigned long int, uintptr_t); 12 | */ 13 | import "C" 14 | import "unsafe" 15 | 16 | func ioctl(fd int, req uint, arg uintptr) (err error) { 17 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg)) 18 | if r0 == -1 && er != nil { 19 | err = er 20 | } 21 | return 22 | } 23 | 24 | func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { 25 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(uintptr(arg))) 26 | if r0 == -1 && er != nil { 27 | err = er 28 | } 29 | return 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_hurd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && hurd 6 | 7 | package unix 8 | 9 | const ( 10 | TIOCGETA = 0x62251713 11 | ) 12 | 13 | type Winsize struct { 14 | Row uint16 15 | Col uint16 16 | Xpixel uint16 17 | Ypixel uint16 18 | } 19 | 20 | type Termios struct { 21 | Iflag uint32 22 | Oflag uint32 23 | Cflag uint32 24 | Lflag uint32 25 | Cc [20]uint8 26 | Ispeed int32 27 | Ospeed int32 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_alarm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) 6 | 7 | package unix 8 | 9 | // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH 10 | // values. 11 | 12 | //sys Alarm(seconds uint) (remaining uint, err error) 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && linux && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //go:noescape 12 | func gettimeofday(tv *Timeval) (err syscall.Errno) 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc 6 | 7 | package unix 8 | 9 | // SyscallNoError may be used instead of Syscall for syscalls that don't fail. 10 | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 11 | 12 | // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't 13 | // fail. 14 | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc && 386 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | // Underlying system call writes to newoffset via pointer. 12 | // Implemented in assembly to avoid allocation. 13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 14 | 15 | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 16 | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && gc && linux 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | // Underlying system call writes to newoffset via pointer. 12 | // Implemented in assembly to avoid allocation. 13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gccgo && arm 6 | 7 | package unix 8 | 9 | import ( 10 | "syscall" 11 | "unsafe" 12 | ) 13 | 14 | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { 15 | var newoffset int64 16 | offsetLow := uint32(offset & 0xffffffff) 17 | offsetHigh := uint32((offset >> 32) & 0xffffffff) 18 | _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) 19 | return newoffset, err 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm64 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && solaris 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: usec} 15 | } 16 | 17 | func (iov *Iovec) SetLen(length int) { 18 | iov.Len = uint64(length) 19 | } 20 | 21 | func (msghdr *Msghdr) SetIovlen(length int) { 22 | msghdr.Iovlen = int32(length) 23 | } 24 | 25 | func (cmsg *Cmsghdr) SetLen(length int) { 26 | cmsg.Len = uint32(length) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_unix_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 12 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 13 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 14 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (ppc64le || ppc64) && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 12 | return syscall.Syscall(trap, a1, a2, a3) 13 | } 14 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 15 | return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6) 16 | } 17 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 18 | return syscall.RawSyscall(trap, a1, a2, a3) 19 | } 20 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 21 | return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sysvshm_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux 6 | 7 | package unix 8 | 9 | import "runtime" 10 | 11 | // SysvShmCtl performs control operations on the shared memory segment 12 | // specified by id. 13 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 14 | if runtime.GOARCH == "arm" || 15 | runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" { 16 | cmd |= ipc_64 17 | } 18 | 19 | return shmctl(id, cmd, desc) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sysvshm_unix_other.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin && !ios) || zos 6 | 7 | package unix 8 | 9 | // SysvShmCtl performs control operations on the shared memory segment 10 | // specified by id. 11 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 12 | return shmctl(id, cmd, desc) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/vgetrandom_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && go1.24 6 | 7 | package unix 8 | 9 | import _ "unsafe" 10 | 11 | //go:linkname vgetrandom runtime.vgetrandom 12 | //go:noescape 13 | func vgetrandom(p []byte, flags uint32) (ret int, supported bool) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !linux || !go1.24 6 | 7 | package unix 8 | 9 | func vgetrandom(p []byte, flags uint32) (ret int, supported bool) { 10 | return -1, false 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go: -------------------------------------------------------------------------------- 1 | // Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT. 2 | 3 | package unix 4 | 5 | import "unsafe" 6 | 7 | // PtraceGetRegSetArm64 fetches the registers used by arm64 binaries. 8 | func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error { 9 | iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))} 10 | return ptracePtr(PTRACE_GETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 11 | } 12 | 13 | // PtraceSetRegSetArm64 sets the registers used by arm64 binaries. 14 | func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error { 15 | iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))} 16 | return ptracePtr(PTRACE_SETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | import "syscall" 10 | 11 | type Errno = syscall.Errno 12 | type SysProcAttr = syscall.SysProcAttr 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/eventlog.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | const ( 10 | EVENTLOG_SUCCESS = 0 11 | EVENTLOG_ERROR_TYPE = 1 12 | EVENTLOG_WARNING_TYPE = 2 13 | EVENTLOG_INFORMATION_TYPE = 4 14 | EVENTLOG_AUDIT_SUCCESS = 8 15 | EVENTLOG_AUDIT_FAILURE = 16 16 | ) 17 | 18 | //sys RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) [failretval==0] = advapi32.RegisterEventSourceW 19 | //sys DeregisterEventSource(handle Handle) (err error) = advapi32.DeregisterEventSource 20 | //sys ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) = advapi32.ReportEventW 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/mksyscall.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build generate 6 | 7 | package windows 8 | 9 | //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_windows.go 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && race 6 | 7 | package windows 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && !race 6 | 7 | package windows 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/str.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency 10 | if val < 0 { 11 | return "-" + itoa(-val) 12 | } 13 | var buf [32]byte // big enough for int64 14 | i := len(buf) - 1 15 | for val >= 10 { 16 | buf[i] = byte(val%10 + '0') 17 | i-- 18 | val /= 10 19 | } 20 | buf[i] = byte(val + '0') 21 | return string(buf[i:]) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | Description [WSADESCRIPTION_LEN + 1]byte 11 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 12 | MaxSockets uint16 13 | MaxUdpDg uint16 14 | VendorInfo *byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Port uint16 21 | Proto *byte 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | _ uint32 // pad to 8 byte boundary 35 | } 36 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | MaxSockets uint16 11 | MaxUdpDg uint16 12 | VendorInfo *byte 13 | Description [WSADESCRIPTION_LEN + 1]byte 14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Proto *byte 21 | Port uint16 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | } 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | Description [WSADESCRIPTION_LEN + 1]byte 11 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 12 | MaxSockets uint16 13 | MaxUdpDg uint16 14 | VendorInfo *byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Port uint16 21 | Proto *byte 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | _ uint32 // pad to 8 byte boundary 35 | } 36 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | MaxSockets uint16 11 | MaxUdpDg uint16 12 | VendorInfo *byte 13 | Description [WSADESCRIPTION_LEN + 1]byte 14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Proto *byte 21 | Port uint16 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | } 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/term/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Go 2 | 3 | Go is an open source project. 4 | 5 | It is the work of hundreds of contributors. We appreciate your help! 6 | 7 | ## Filing issues 8 | 9 | When [filing an issue](https://golang.org/issue/new), make sure to answer these five questions: 10 | 11 | 1. What version of Go are you using (`go version`)? 12 | 2. What operating system and processor architecture are you using? 13 | 3. What did you do? 14 | 4. What did you expect to see? 15 | 5. What did you see instead? 16 | 17 | General questions should go to the [golang-nuts mailing list](https://groups.google.com/group/golang-nuts) instead of the issue tracker. 18 | The gophers there will answer or ask you to file an issue if you've tripped over a bug. 19 | 20 | ## Contributing code 21 | 22 | Please read the [Contribution Guidelines](https://golang.org/doc/contribute.html) 23 | before sending patches. 24 | 25 | Unless otherwise noted, the Go source files are distributed under 26 | the BSD-style license found in the LICENSE file. 27 | -------------------------------------------------------------------------------- /vendor/golang.org/x/term/README.md: -------------------------------------------------------------------------------- 1 | # Go terminal/console support 2 | 3 | [![Go Reference](https://pkg.go.dev/badge/golang.org/x/term.svg)](https://pkg.go.dev/golang.org/x/term) 4 | 5 | This repository provides Go terminal and console support packages. 6 | 7 | ## Report Issues / Send Patches 8 | 9 | This repository uses Gerrit for code changes. To learn how to submit changes to 10 | this repository, see https://go.dev/doc/contribute. 11 | 12 | The git repository is https://go.googlesource.com/term. 13 | 14 | The main issue tracker for the term repository is located at 15 | https://go.dev/issues. Prefix your issue with "x/term:" in the 16 | subject line, so it is easy to find. 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/term/codereview.cfg: -------------------------------------------------------------------------------- 1 | issuerepo: golang/go 2 | -------------------------------------------------------------------------------- /vendor/golang.org/x/term/term_unix_bsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin || dragonfly || freebsd || netbsd || openbsd 6 | 7 | package term 8 | 9 | import "golang.org/x/sys/unix" 10 | 11 | const ioctlReadTermios = unix.TIOCGETA 12 | const ioctlWriteTermios = unix.TIOCSETA 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/term/term_unix_other.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || linux || solaris || zos 6 | 7 | package term 8 | 9 | import "golang.org/x/sys/unix" 10 | 11 | const ioctlReadTermios = unix.TCGETS 12 | const ioctlWriteTermios = unix.TCSETS 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/internal/language/common.go: -------------------------------------------------------------------------------- 1 | // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. 2 | 3 | package language 4 | 5 | // This file contains code common to the maketables.go and the package code. 6 | 7 | // AliasType is the type of an alias in AliasMap. 8 | type AliasType int8 9 | 10 | const ( 11 | Deprecated AliasType = iota 12 | Macro 13 | Legacy 14 | 15 | AliasTypeUnknown AliasType = -1 16 | ) 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/internal/language/compact.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package language 6 | 7 | // CompactCoreInfo is a compact integer with the three core tags encoded. 8 | type CompactCoreInfo uint32 9 | 10 | // GetCompactCore generates a uint32 value that is guaranteed to be unique for 11 | // different language, region, and script values. 12 | func GetCompactCore(t Tag) (cci CompactCoreInfo, ok bool) { 13 | if t.LangID > langNoIndexOffset { 14 | return 0, false 15 | } 16 | cci |= CompactCoreInfo(t.LangID) << (8 + 12) 17 | cci |= CompactCoreInfo(t.ScriptID) << 12 18 | cci |= CompactCoreInfo(t.RegionID) 19 | return cci, true 20 | } 21 | 22 | // Tag generates a tag from c. 23 | func (c CompactCoreInfo) Tag() Tag { 24 | return Tag{ 25 | LangID: Language(c >> 20), 26 | RegionID: Region(c & 0x3ff), 27 | ScriptID: Script(c>>12) & 0xff, 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/internal/language/coverage.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package language 6 | 7 | // BaseLanguages returns the list of all supported base languages. It generates 8 | // the list by traversing the internal structures. 9 | func BaseLanguages() []Language { 10 | base := make([]Language, 0, NumLanguages) 11 | for i := 0; i < langNoIndexOffset; i++ { 12 | // We included "und" already for the value 0. 13 | if i != nonCanonicalUnd { 14 | base = append(base, Language(i)) 15 | } 16 | } 17 | i := langNoIndexOffset 18 | for _, v := range langNoIndex { 19 | for k := 0; k < 8; k++ { 20 | if v&1 == 1 { 21 | base = append(base, Language(i)) 22 | } 23 | v >>= 1 24 | i++ 25 | } 26 | } 27 | return base 28 | } 29 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - "1.4.x" 5 | - "1.5.x" 6 | - "1.6.x" 7 | - "1.7.x" 8 | - "1.8.x" 9 | - "1.9.x" 10 | - "1.10.x" 11 | - "1.11.x" 12 | - "1.12.x" 13 | - "1.13.x" 14 | - "1.14.x" 15 | - "tip" 16 | 17 | go_import_path: gopkg.in/yaml.v2 18 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v2/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2011-2016 Canonical Ltd. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v2/writerc.go: -------------------------------------------------------------------------------- 1 | package yaml 2 | 3 | // Set the writer error and return false. 4 | func yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool { 5 | emitter.error = yaml_WRITER_ERROR 6 | emitter.problem = problem 7 | return false 8 | } 9 | 10 | // Flush the output buffer. 11 | func yaml_emitter_flush(emitter *yaml_emitter_t) bool { 12 | if emitter.write_handler == nil { 13 | panic("write handler not set") 14 | } 15 | 16 | // Check if the buffer is empty. 17 | if emitter.buffer_pos == 0 { 18 | return true 19 | } 20 | 21 | if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil { 22 | return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error()) 23 | } 24 | emitter.buffer_pos = 0 25 | return true 26 | } 27 | --------------------------------------------------------------------------------