openSUSE Commits
Threads by month
- ----- 2024 -----
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
December 2022
- 1 participants
- 2263 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package dagger for openSUSE:Factory checked in at 2022-12-01 17:21:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dagger (Old)
and /work/SRC/openSUSE:Factory/.dagger.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dagger"
Thu Dec 1 17:21:28 2022 rev:25 rq:1039282 version:0.3.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/dagger/dagger.changes 2022-10-12 18:27:15.582029067 +0200
+++ /work/SRC/openSUSE:Factory/.dagger.new.1835/dagger.changes 2022-12-01 17:22:30.270653666 +0100
@@ -1,0 +2,385 @@
+Thu Dec 01 08:58:45 UTC 2022 - kastl(a)b1-systems.de
+
+- Update to version 0.3.5:
+ Changelog (without SDK entries)
+ * ci: publish: fix bump PR creation
+ * ci: publish engine by tag rather than commit
+ * Continue using engine image ref digests for now.
+ * Don't log removal already in progress error.
+ * ci: trigger engine push (#3955)
+ * Don't include credential helpers on macos.
+ * ci: fix publish engine flow (#3951)
+ * Python: Add tests for improved Provisioning Error Messages (#3880)
+ * Include linux engine-session bins in local dev engine.
+ * docs(python): Fix usage of ids
+ * Automatically mount dagger-engine-session from image.
+ * build(deps): bump github.com/netlify/open-api/v2 from 2.12.1 to 2.12.2
+ * Fix redirect of stdio to non root mount.
+ * Revert "Fully hide shim from container process."
+ * docs(python): Lint doc snippets
+ * docs: Add deprecation note, update /install page (#3915)
+ * api: Deprecate Exec in favor of WithExec. Make args mandatory.
+ * ci: cli distribution (#3901)
+ * api: Return the contents directly in Container Stdout/Stderr
+ * Fully hide shim from container process.
+ * Execute runc as child process instead of exec.
+ * api: directory.withNewFile: make contents option mandatory
+ * build(deps): Bump google.golang.org/grpc from 1.49.0 to 1.51.0
+ * Default nested dagger to bin://
+ * Include host docker dir in dagger-in-dagger tests.
+ * Use different image refs for different test cases.
+ * Add bin connector to python.
+ * Add bin connector to nodejs.
+ * Support full isolated sessions w/ dagger-in-dagger.
+ * Passthrough runc commands that don't have a bundledir.
+ * Change shim to be an oci-runtime wrapper.
+ * docs: update workdir -> directory
+ * api: Deprecate host.workdir
+ * build(deps): Bump typescript from 4.8.4 to 4.9.3 in /website
+ * python: add deprecated admonitions
+ * api: replace fs by rootfs
+ * codegen: support @deprecated directive
+ * build(deps): Bump loader-utils from 2.0.3 to 2.0.4 in /website (#3859)
+ * docs: lint NodeJS snippets (#3867)
+ * Remove cloak from a comment
+ * docs: Tabs for JavaScript & TypeScript (#3888)
+ * First take at Dagger CLI (#3748)
+ * Node Feedback (#3872)
+ * build(deps): bump github.com/containerd/containerd from 1.6.9 to 1.6.10 (#3817)
+ * remove trailing spaces
+ * build(deps): bump github.com/moby/buildkit from 0.10.5 to 0.10.6 (#3795)
+ * NodeJS Provisioning Follow ups (#3861)
+ * docs(python): port private registry docs to python (#3760)
+ * docs: Add FAQ entry for container registry auth (#3876)
+ * remove unused types.ts file (#3868)
+ * Remove unessary semicolons
+ * Remove temp files on error.
+ * Fail when session binary copy command fails.
+ * Add http engineconn to nodejs.
+ * chore: Ingore .env & .envrc files
+ * chore: Rename NodeJS mage namespace
+ * Fix go lint
+ * fix(codegen/nodejs): use the direct graphql-request lib
+ * test(codegen/nodejs): remove full api output test
+ * fix(codegen/nodejs): use updates from the provisioning part
+ * refactor(codegen/nodejs): remove unused templates+tests
+ * refactor(codegen/nodejs): move return next to return_solve
+ * refactor(codegen/nodejs): change custom scalar from `any` to `string`
+ * refactor(codegen/nodejs): remove call_arg
+ * feat(codegen/nodejs): expand args in the function param list
+ * refactor(codegen/nodejs): make template functions and funcmap private
+ * fix(codegen/nodejs): remove FIXME
+ * ci(codegen/nodejs): make linter happy
+ * test(codegen/nodejs): add golden update capacity for full API file
+ * fix(codegen/nodejs): fix imports and file destination in the codegen
+ * feat(codegen/nodejs): add autogenerated warning on the top of node generated API file
+ * chore(codegen/nodejs): cleanup unused code/tests
+ * fix(cli): remove default language generation
+ * ci(codegen/nodejs): make linter happy
+ * feat(cli): enable nodejs codegen
+ * refactor(codegen): refactor codegen to enable Go and NodeJS generation
+ * refactore(codegen/nodejs): rename full test into api test
+ * refactor(codegen): move generator in codegen/generator
+ * refactor(codegen/nodejs): rename dir from ts to nodejs
+ * refactor(codegen/nodejs): cleanup template functions
+ * refactor(codegen/nodejs): move filter of graphql __Xxx types in objects template
+ * refactor(codegen/nodejs): move more logic in leaf templates
+ * build(codegen/nodejs): bump strcase
+ * refactor(codegen/nodejs): update templates
+ * test(codegen/nodejs): document template
+ * test(codegen/nodejs): add full codegen file test
+ * test(codegen/nodejs): fix test fixtures
+ * test(codegen/nodejs): fix test fixtures for optionals
+ * feat(codegen/nodejs): make args optional if possible
+ * fix(codegen/nodejs): use correct typescript way of declaring a custom type
+ * fix(codegen/nodejs): remove duplicate custom scalars
+ * fix(codegen/nodejs): suffix [] at the end of the type
+ * fix(codegen/nodejs): also prefix args by Client instead of Query
+ * fix(codegen/nodejs): use typescript boolean type
+ * fix(codegen/nodejs): filter out "__Xxx" types
+ * refactor(codegen/nodejs): update code block for sync code
+ * fix(codegen/nodejs): improve scalar types generation
+ * refactor(codegen/nodejs): indent object template
+ * fix(codegen/nodejs): rename Query into Client + export type
+ * fix(codegen/nodejs): remove Scalars['xxxtypexxx']
+ * feat(codegen/nodejs): use correct schema json
+ * feat(codegen/nodejs): only include type if it is not nil
+ * test(codegen/nodejs): integrate type with objects
+ * feat(codegen/nodejs): add args type generation
+ * fix(codegen/nodejs): add missing templates
+ * feat(codegen/nodejs): handle optional args type
+ * refactor(codegen/nodejs): integrate with a more complete test
+ * feat(codegen/nodejs): add scalar type field body
+ * feat(codegen/nodejs): add field body for non scalar types
+ * fix(codegen/nodejs): add solveable return template
+ * feat(codegen/nodejs): return the async type for scalar types
+ * fix(codegen/nodejs): include *.ts.tmpl files
+ * fix(codegen/nodejs): make linter happy
+ * feat(codegen/nodejs): handle sync return type (without solving)
+ * fix(codegen/nodejs): don't generate empty comments blocks
+ * test(codegen/nodejs): use lang flag
+ * test(codegen/nodejs): use more realistic schema data
+ * feat(codegen/nodejs): add input args types template
+ * feat(codegen/nodejs): add pascal and camel case formatting template funcs
+ * refactor(codegen): split IntrospectAndGenerate into Introspect and Generate
+ * feat(codegen/nodejs): pass args as `args: { xxx }`
+ * feat(codegen/nodejs): add lang flag for client-gen
+ * refactor(codegen/nodejs): reformat test data
+ * fix(codegen/nodejs): fix the arg template to use a *TypeRef
+ * refactor(codegen/nodejs): harmonize templates whitespace deletion
+ * ci(codegen/nodejs): make linter happy
+ * ci(codegen/nodejs): simplify Solve template func
+ * feat(codegen/nodejs): first version of object generated
+ * fix(codegen/nodejs): fix comment linting
+ * refactor(codegen/nodejs): remove unused comment template func
+ * test(codegen/nodejs): add comments to object template
+ * test(codegen/nodejs): add template deps in templateHelper
+ * test(codegen/nodejs): add multi line comments
+ * feat(codegen/nodejs): add simple comments
+ * refactor(codegen/nodejs): move subtract into the templates package
+ * refactor(codegen/nodejs): improve args test
+ * refactor(codegen/nodejs): split args functions into template
+ * refactor: extract Generator interface and specialize for Go
+ * fix(codegen): imports after move
+ * refactor: move go generator in its own directory
+ * Use unix timestamp in nanosecond to generate a random id used when creating a temporary bin file path
+ * use kill process from execa which is using SIGTERM then SIGKILL
+ * feat: finish engine callback connection
+ * fix: broken api test
+ * rebase main branch
+ * Make docker-image default connect implementation.
+ * Spawn engine session subprocess and read port.
+ * Set nodejs provision output directly to temporary binary.
+ * Prevented the attempted read of an None or unreadable stderr.
+ * Improved error message when dagger engine is cached but docker is not running.
+ * Improved error messages when docker is not installed/running.
+ * Added DaggerException.
+ * chore(pyhon): Add dependabot
+ * Fix use of xdg dir in python provision test.
+ * Use pytest fixture and anyio
+ * Add docker image provisioner test.
+ * Fix dockerfile path join in windows
+ * ci: Only publish engine when specific paths change
+ * fix(race): TestConnectOption racing on buffer's write (#3792)
+ * ci: Rename Node to NodeJS
+ * ci: Preserve oldest supported Node.JS version when running tests
+ * ci: Fix readthedocs os value
+ * ci: basic NodeJS support
+ * ci: limit usage of large runners
+ * Include kernel logs in gha output.
+ * Add `WithAllowWildcard` to `(dir *Directory) Without()` (#3735)
+ * Deal with Scratch correctly (#3759)
+ * ci: remove mage from engine:publish
+ * docs: remove --pre from pip install
+ * docs: indicate that config is optional
+ * ci: Switch to Makefile
+ * update multistage guide with suggestions
+ * update multistage build best practice
+ * add multistage build guide to guides list
+ * start multistage build guide
+
+-------------------------------------------------------------------
+Thu Dec 01 08:45:58 UTC 2022 - kastl(a)b1-systems.de
+
+- Update to version 0.3.4:
+ Changelog (without SDK entries)
+ * docs: Minor addition to guide
+ * docs: Make first example give immediate feedback
+ * Ensure shim can build when exec'ing on scratch.
+ * Include .exe suffix in engine-sesion bin on windows.
+ * Add windows engine-session binaries to engine image.
+ * Fix obscure race condition that can result in ETXTBSY.
+ * Add test for docker image provision.
+ * Don't unlink docker-container tmpbin after process starts.
+ * Add engine:publish workflow to GHA.
+ * Add engine release instructions.
+ * Fix lint errors.
+ * Centralize more provisioning logic to be in helper.
++++ 188 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/dagger/dagger.changes
++++ and /work/SRC/openSUSE:Factory/.dagger.new.1835/dagger.changes
Old:
----
dagger-0.2.36.tar.gz
New:
----
dagger-0.3.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dagger.spec ++++++
--- /var/tmp/diff_new_pack.GcZ1ja/_old 2022-12-01 17:22:31.370659681 +0100
+++ /var/tmp/diff_new_pack.GcZ1ja/_new 2022-12-01 17:22:31.374659703 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: dagger
-Version: 0.2.36
+Version: 0.3.5
Release: 0
Summary: A portable devkit for CI/CD pipelines
License: GPL-3.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.GcZ1ja/_old 2022-12-01 17:22:31.410659900 +0100
+++ /var/tmp/diff_new_pack.GcZ1ja/_new 2022-12-01 17:22:31.414659922 +0100
@@ -3,10 +3,11 @@
<param name="url">https://github.com/dagger/dagger</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.2.36</param>
+ <param name="revision">v0.3.5</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
+ <param name="match-tag">v*</param>
</service>
<service name="set_version" mode="disabled">
<param name="basename">dagger</param>
@@ -16,7 +17,7 @@
<param name="compression">gz</param>
</service>
<service name="go_modules" mode="disabled">
- <param name="archive">dagger-0.2.36.tar.gz</param>
+ <param name="archive">dagger-0.3.5.tar.gz</param>
</service>
</services>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.GcZ1ja/_old 2022-12-01 17:22:31.430660009 +0100
+++ /var/tmp/diff_new_pack.GcZ1ja/_new 2022-12-01 17:22:31.434660031 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/dagger/dagger</param>
- <param name="changesrevision">ea275a3bafbc5b5c611e0b81bf2dd8a8add72f6b</param></service></servicedata>
+ <param name="changesrevision">cfdd91fc1e497c32e723e96aa452a6bbe4bb2888</param></service></servicedata>
(No newline at EOF)
++++++ dagger-0.2.36.tar.gz -> dagger-0.3.5.tar.gz ++++++
/work/SRC/openSUSE:Factory/dagger/dagger-0.2.36.tar.gz /work/SRC/openSUSE:Factory/.dagger.new.1835/dagger-0.3.5.tar.gz differ: char 12, line 1
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/dagger/vendor.tar.gz /work/SRC/openSUSE:Factory/.dagger.new.1835/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package featherpad for openSUSE:Factory checked in at 2022-12-01 17:21:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/featherpad (Old)
and /work/SRC/openSUSE:Factory/.featherpad.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "featherpad"
Thu Dec 1 17:21:27 2022 rev:29 rq:1039274 version:1.3.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/featherpad/featherpad.changes 2022-10-10 18:47:22.775233404 +0200
+++ /work/SRC/openSUSE:Factory/.featherpad.new.1835/featherpad.changes 2022-12-01 17:22:28.506644021 +0100
@@ -1,0 +2,11 @@
+Thu Dec 1 09:26:13 UTC 2022 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 1.3.4:
+ * A potential cause of crash is removed (by initializing the
+ variables of TextEdit and TabBar before any event is triggered).
+ * The Paste item of the Edit menu is enabled/disabled appropriately.
+ * The single quote is covered as the digit separator in C++(���14)
+ syntax highlighting.
+ * Enabled instant tooltips and corrected context menus on Wayland.
+
+-------------------------------------------------------------------
Old:
----
V1.3.3.tar.gz
New:
----
V1.3.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ featherpad.spec ++++++
--- /var/tmp/diff_new_pack.JpB3fc/_old 2022-12-01 17:22:28.958646492 +0100
+++ /var/tmp/diff_new_pack.JpB3fc/_new 2022-12-01 17:22:28.966646536 +0100
@@ -17,7 +17,7 @@
Name: featherpad
-Version: 1.3.3
+Version: 1.3.4
Release: 0
Summary: Qt5-based plaintext editor
License: GPL-3.0-only
++++++ V1.3.3.tar.gz -> V1.3.4.tar.gz ++++++
++++ 12809 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package swappy for openSUSE:Factory checked in at 2022-12-01 17:21:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/swappy (Old)
and /work/SRC/openSUSE:Factory/.swappy.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "swappy"
Thu Dec 1 17:21:26 2022 rev:7 rq:1039269 version:1.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/swappy/swappy.changes 2022-10-18 12:45:35.589804779 +0200
+++ /work/SRC/openSUSE:Factory/.swappy.new.1835/swappy.changes 2022-12-01 17:22:27.546638771 +0100
@@ -1,0 +2,15 @@
+Thu Dec 1 08:46:12 UTC 2022 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 1.5.1:
+ * ui: use *-symbolic variant of toolbar icons (5dc44f8), closes #34
+
+-------------------------------------------------------------------
+Thu Dec 1 08:45:41 UTC 2022 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 1.5.0:
+ * config: add early_exit option (60da549)
+ * config: allow paint_mode to be configured through config file (2f35f02)
+ * config: try to create save_dir if it does not exist (4fb291a)
+ * ui: allow filling rectangles and ellipsis (8ee55f7), closes #120
+
+-------------------------------------------------------------------
Old:
----
swappy-1.4.0.tar.gz.sig
v1.4.0.tar.gz
New:
----
swappy-1.5.1.tar.gz.sig
v1.5.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ swappy.spec ++++++
--- /var/tmp/diff_new_pack.AavoHo/_old 2022-12-01 17:22:28.118641899 +0100
+++ /var/tmp/diff_new_pack.AavoHo/_new 2022-12-01 17:22:28.122641921 +0100
@@ -17,7 +17,7 @@
Name: swappy
-Version: 1.4.0
+Version: 1.5.1
Release: 0
Summary: Wayland compositor screenshot editor
License: MIT
++++++ v1.4.0.tar.gz -> v1.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/.versionrc new/swappy-1.5.1/.versionrc
--- old/swappy-1.4.0/.versionrc 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/.versionrc 2022-11-20 22:50:09.000000000 +0100
@@ -3,6 +3,9 @@
{
"filename": "meson.build",
"updater": "script/bump-meson-build.js"
+ },
+ {
+ "filename": "package.json"
}
]
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/CHANGELOG.md new/swappy-1.5.1/CHANGELOG.md
--- old/swappy-1.4.0/CHANGELOG.md 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/CHANGELOG.md 2022-11-20 22:50:09.000000000 +0100
@@ -2,6 +2,23 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-versio… for commit guidelines.
+### [1.5.1](https://github.com/jtheoof/swappy/compare/v1.5.0...v1.5.1) (2022-11-20)
+
+
+### Bug Fixes
+
+* **ui:** use *-symbolic variant of toolbar icons ([5dc44f8](https://github.com/jtheoof/swappy/commit/5dc44f8970b0f6cdf21466bc2…), closes [#34](https://github.com/jtheoof/swappy/issues/34)
+
+## [1.5.0](https://github.com/jtheoof/swappy/compare/v1.4.0...v1.5.0) (2022-11-18)
+
+
+### Features
+
+* **config:** add early_exit option ([60da549](https://github.com/jtheoof/swappy/commit/60da5491e243c9edd85f62253…)
+* **config:** allow paint_mode to be configured through config file ([2f35f02](https://github.com/jtheoof/swappy/commit/2f35f02b4e89bf67b6e9cc461…)
+* **config:** try to create `save_dir` if it does not exist ([4fb291a](https://github.com/jtheoof/swappy/commit/4fb291ad4b0b116afeaa7094b…)
+* **ui:** allow filling rectangles and ellipsis ([8ee55f7](https://github.com/jtheoof/swappy/commit/8ee55f7d52ce6ac7175298186…), closes [#120](https://github.com/jtheoof/swappy/issues/120)
+
## [1.4.0](https://github.com/jtheoof/swappy/compare/v1.3.1...v1.4.0) (2021-09-06)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/README.md new/swappy-1.5.1/README.md
--- old/swappy-1.4.0/README.md 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/README.md 2022-11-20 22:50:09.000000000 +0100
@@ -48,14 +48,20 @@
line_size=5
text_size=20
text_font=sans-serif
+paint_mode=brush
+early_exit=false
+fill_shape=false
```
-- `save_dir` is where swappshots will be saved, can contain env variables and must exist in your filesystem
+- `save_dir` is where swappshots will be saved, can contain env variables, when it does not exist, swappy attempts to create it first, but does not abort if directory creation fails
- `save_filename_format`: is the filename template, if it contains a date format, this will be parsed into a timestamp. Format is detailed in [strftime(3)](https://man.archlinux.org/man/strftime.3). If this date format is missing, filename will have no timestamp
- `show_panel` is used to toggle the paint panel on or off upon startup
- `line_size` is the default line size (must be between 1 and 50)
- `text_size` is the default text size (must be between 10 and 50)
- `text_font` is the font used to render text, its format is pango friendly
+- `paint_mode` is the mode activated at application start (must be one of: brush|text|rectangle|ellipse|arrow|blur, matching is case-insensitive)
+- `early_exit` is used to make the application exit after saving the picture or copying it to the clipboard
+- `fill_shape` is used to toggle shape filling (for the rectangle and ellipsis tools) on or off upon startup
## Keyboard Shortcuts
@@ -79,6 +85,7 @@
- `Minus`: Reduce Stroke Size
- `Plus`: Increase Stroke Size
- `Equal`: Reset Stroke Size
+- `f`: Toggle Shape Filling
- `k`: Clear Paints (cannot be undone)
<hr>
@@ -159,12 +166,11 @@
We rely on [standard-version](https://github.com/conventional-changelog/standard-versio… which is part of the JavaScript ecosystem but works well with any project.
+```sh
+./script/github-release
```
-npx standard-version --sign
-git push --follow-tags
-# Do the release on Github with manual steps, then:
-./script/sign-post-release
-```
+
+Make sure everything is valid in the Draft release, then publish the draft.
Release tarballs are signed with this PGP key: `F44D05A50F6C9EB5C81BCF966A6B35DBE9442683`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/include/config.h new/swappy-1.5.1/include/config.h
--- old/swappy-1.4.0/include/config.h 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/include/config.h 2022-11-20 22:50:09.000000000 +0100
@@ -5,6 +5,9 @@
#define CONFIG_TEXT_SIZE_DEFAULT 20
#define CONFIG_SHOW_PANEL_DEFAULT false
#define CONFIG_SAVE_FILENAME_FORMAT_DEFAULT "swappy-%Y%m%d_%H%M%S.png"
+#define CONFIG_PAINT_MODE_DEFAULT SWAPPY_PAINT_MODE_BRUSH
+#define CONFIG_EARLY_EXIT_DEFAULT false
+#define CONFIG_FILL_SHAPE_DEFAULT false
void config_load(struct swappy_state *state);
void config_free(struct swappy_state *state);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/include/swappy.h new/swappy-1.5.1/include/swappy.h
--- old/swappy-1.4.0/include/swappy.h 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/include/swappy.h 2022-11-20 22:50:09.000000000 +0100
@@ -137,16 +137,21 @@
GtkButton *line_size;
GtkButton *text_size;
+
+ GtkToggleButton *fill_shape;
};
struct swappy_config {
char *config_file;
char *save_dir;
char *save_filename_format;
+ gint8 paint_mode;
+ gboolean fill_shape;
gboolean show_panel;
guint32 line_size;
guint32 text_size;
char *text_font;
+ gboolean early_exit;
};
struct swappy_state {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/meson.build new/swappy-1.5.1/meson.build
--- old/swappy-1.4.0/meson.build 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/meson.build 2022-11-20 22:50:09.000000000 +0100
@@ -1,7 +1,7 @@
project(
'swappy',
'c',
- version: '1.4.0',
+ version: '1.5.1',
license: 'MIT',
meson_version: '>=0.48.0',
default_options: [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/package.json new/swappy-1.5.1/package.json
--- old/swappy-1.4.0/package.json 1970-01-01 01:00:00.000000000 +0100
+++ new/swappy-1.5.1/package.json 2022-11-20 22:50:09.000000000 +0100
@@ -0,0 +1,9 @@
+{
+ "name": "swappy",
+ "version": "1.5.1",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/jtheoof/swappy.git"
+ },
+ "author": "Jeremy Attali"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/res/swappy.glade new/swappy-1.5.1/res/swappy.glade
--- old/swappy-1.4.0/res/swappy.glade 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/res/swappy.glade 2022-11-20 22:50:09.000000000 +0100
@@ -5,57 +5,57 @@
<object class="GtkImage" id="edit-redo">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">edit-redo</property>
+ <property name="icon_name">edit-redo-symbolic</property>
</object>
<object class="GtkImage" id="edit-undo">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">edit-undo</property>
+ <property name="icon_name">edit-undo-symbolic</property>
</object>
<object class="GtkImage" id="img-clear-paints">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">edit-delete</property>
+ <property name="icon_name">edit-delete-symbolic</property>
</object>
<object class="GtkImage" id="img-copy-surface">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">edit-copy</property>
+ <property name="icon_name">edit-copy-symbolic</property>
</object>
<object class="GtkImage" id="img-save-surface">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">document-save</property>
+ <property name="icon_name">document-save-symbolic</property>
</object>
<object class="GtkImage" id="img-toggle-panel">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">document-properties</property>
+ <property name="icon_name">document-properties-symbolic</property>
</object>
<object class="GtkImage" id="zoom-in">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">zoom-in</property>
+ <property name="icon_name">zoom-in-symbolic</property>
</object>
<object class="GtkImage" id="zoom-in1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">zoom-in</property>
+ <property name="icon_name">zoom-in-symbolic</property>
</object>
<object class="GtkImage" id="zoom-in2">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">zoom-in</property>
+ <property name="icon_name">zoom-in-symbolic</property>
</object>
<object class="GtkImage" id="zoom-out">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">zoom-out</property>
+ <property name="icon_name">zoom-out-symbolic</property>
</object>
<object class="GtkImage" id="zoom-out1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">zoom-out</property>
+ <property name="icon_name">zoom-out-symbolic</property>
</object>
<object class="GtkApplicationWindow" id="paint-window">
<property name="visible">True</property>
@@ -582,6 +582,35 @@
<property name="position">4</property>
</packing>
</child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkToggleButton" id="fill-shape-toggle-button">
+ <property name="label" translatable="yes">Fill shape</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="focus-on-click">False</property>
+ <property name="receives-default">True</property>
+ <property name="tooltip-text" translatable="yes">Toggle shape filling</property>
+ <property name="always-show-image">True</property>
+ <signal name="toggled" handler="fill_shape_toggled_handler" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="resize">False</property>
@@ -788,9 +817,4 @@
</object>
</child>
</object>
- <object class="GtkImage" id="zoom-out2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon_name">zoom-out</property>
- </object>
</interface>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/script/github-release new/swappy-1.5.1/script/github-release
--- old/swappy-1.4.0/script/github-release 1970-01-01 01:00:00.000000000 +0100
+++ new/swappy-1.5.1/script/github-release 2022-11-20 22:50:09.000000000 +0100
@@ -0,0 +1,104 @@
+#!/bin/bash
+
+set -e
+
+declare -r git_root=$(git rev-parse --show-toplevel)
+declare -r app_name="swappy"
+declare -r release_folder="$git_root/release"
+
+declare version=""
+
+die() {
+ echo "$*" 1>&2
+ exit 1
+}
+
+init() {
+ command -v git >/dev/null 2>&1 || { echo >&2 "git required: pacman -S git"; exit 1; }
+ command -v gh >/dev/null 2>&1 || { echo >&2 "github cli tool required to publish the release: pacman -S github-cli"; exit 1; }
+ command -v npx >/dev/null 2>&1 || { echo >&2 "npx required for standard versionning the release: pacman -S npm"; exit 1; }
+ command -v gpg >/dev/null 2>&1 || { echo >&2 "gpg required to sign the archive: pacman -S gnupg"; exit 1; }
+
+ mkdir -p $release_folder
+}
+
+git_get_release_version() {
+ version=$(git describe --tags --abbrev=0 | sed 's/^v//')
+
+ if [ -z "$version" ]
+ then
+ die "version not found, is the git tag valid?"
+ fi
+
+ echo "found latest version: $version"
+}
+
+npx_standard_version() {
+ echo "setting up new standard version with npx..."
+ npx standard-version --sign
+}
+
+git_push_tags() {
+ echo "pushing git tags..."
+ git push --follow-tags
+}
+
+
+git_build_archive() {
+ echo "building source archives..."
+ cd $git_root
+ git archive -o "$release_folder/$app_name-$version.tar.gz" --format tar.gz --prefix "$app_name-$version/" "v$version"
+}
+
+download_source_for_release() {
+ echo "downloading source assets..."
+ cd $release_folder
+ curl --location --output github-$app_name-$version.tar.gz https://github.com/jtheoof/$app_name/archive/v$version.tar.gz
+}
+
+verify_sha256_checksums() {
+ echo "verifying signatures..."
+ cd $release_folder
+ sha256sum $app_name-$version.tar.gz | awk '{ print $1 }' > $app_name-$version.tar.gz.sha256
+
+ # sha256sum --check will exit if the checksums do not match
+ echo "$(cat $app_name-$version.tar.gz.sha256) github-$app_name-$version.tar.gz" | sha256sum --check
+}
+
+gpg_sign_archive() {
+ echo "signing source assets..."
+ cd $release_folder
+ gpg --output $app_name-$version.tar.gz.sig --detach-sign $app_name-$version.tar.gz
+}
+
+git_generate_changelog() {
+ echo "generating changelog..."
+ git diff "v$version"^ -- CHANGELOG.md | tail -n +9 | head -n -4 | sed 's/^+//g' > $release_folder/CHANGELOG.md
+}
+
+github_create_release() {
+ echo "creating github release..."
+ gh release create --draft "v$version" \
+ -F "$release_folder/CHANGELOG.md" \
+ "$release_folder/$app_name-$version.tar.gz" \
+ "$release_folder/$app_name-$version.tar.gz.sig" \
+ "$release_folder/CHANGELOG.md"
+}
+
+main() {
+ init
+
+ npx_standard_version
+ git_push_tags
+ git_get_release_version
+ git_build_archive
+ # Turning off manual downloading from github
+ # doing all the steps, including archive, ourselves.
+ #download_source_for_release
+ #verify_sha256_checksums
+ git_generate_changelog
+ gpg_sign_archive
+ github_create_release
+}
+
+main "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/script/sign-post-release new/swappy-1.5.1/script/sign-post-release
--- old/swappy-1.4.0/script/sign-post-release 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/script/sign-post-release 1970-01-01 01:00:00.000000000 +0100
@@ -1,78 +0,0 @@
-#!/bin/bash
-
-set -e
-
-declare -r git_root=$(git rev-parse --show-toplevel)
-declare -r app_name="swappy"
-declare -r release_folder="$git_root/release"
-
-declare version=""
-
-die() {
- echo "$*" 1>&2
- exit 1
-}
-
-init() {
- command -v gh >/dev/null 2>&1 || { echo >&2 "github cli tool required: pacman -S github-cli"; exit 1; }
-
- mkdir -p $release_folder
-}
-
-get_release_version() {
- version=$(git describe | sed 's/^v//')
- echo "found latest version: $version"
-}
-
-build_archives_from_source() {
- echo "building source archives..."
- cd $git_root
- git archive -o "$release_folder/local-$app_name-$version.tar.gz" --format tar.gz --prefix "$app_name-$version/" "v$version"
-}
-
-
-download_source_for_release() {
- echo "downloading source assets..."
- cd $release_folder
- curl --location --output github-$app_name-$version.tar.gz https://github.com/jtheoof/$app_name/archive/v$version.tar.gz
-}
-
-verify_sha256_checksums() {
- echo "verifying signatures..."
- cd $release_folder
- sha256sum local-$app_name-$version.tar.gz | awk '{ print $1 }' > local-$app_name-$version.tar.gz.sha256
-
- # sha256sum --check will exit if the checksums do not match
- echo "$(cat local-$app_name-$version.tar.gz.sha256) github-$app_name-$version.tar.gz" | sha256sum --check
-}
-
-sign_release_source() {
- echo "signing source assets..."
- cd $release_folder
- gpg --output $app_name-$version.tar.gz.sig --detach-sign github-$app_name-$version.tar.gz
-}
-
-upload_signed_assets_to_release() {
- echo "uploading signatures to github release..."
- cd $release_folder
- gh release upload v$version $app_name-$version.tar.gz.sig --clobber
-}
-
-
-main() {
- init
- get_release_version
-
- if [ -z "$version" ]
- then
- die "version not found, is the git tag valid?"
- fi
-
- build_archives_from_source
- download_source_for_release
- verify_sha256_checksums
- sign_release_source
- upload_signed_assets_to_release
-}
-
-main "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/src/application.c new/swappy-1.5.1/src/application.c
--- old/swappy-1.4.0/src/application.c 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/src/application.c 2022-11-20 22:50:09.000000000 +0100
@@ -45,6 +45,36 @@
gtk_widget_set_visible(painting_box, toggled);
}
+static void update_ui_fill_shape_toggle_button(struct swappy_state *state) {
+ GtkToggleButton *button = GTK_TOGGLE_BUTTON(state->ui->fill_shape);
+ gboolean toggled = state->config->fill_shape;
+
+ gtk_toggle_button_set_active(button, toggled);
+}
+
+void application_finish(struct swappy_state *state) {
+ g_debug("application finishing, cleaning up");
+ paint_free_all(state);
+ pixbuf_free(state);
+ cairo_surface_destroy(state->rendering_surface);
+ cairo_surface_destroy(state->original_image_surface);
+ if (state->temp_file_str) {
+ g_info("deleting temporary file: %s", state->temp_file_str);
+ if (g_unlink(state->temp_file_str) != 0) {
+ g_warning("unable to delete temporary file: %s", state->temp_file_str);
+ }
+ g_free(state->temp_file_str);
+ }
+ g_free(state->file_str);
+ g_free(state->geometry);
+ g_free(state->window);
+ g_free(state->ui);
+
+ g_object_unref(state->app);
+
+ config_free(state);
+}
+
static void action_undo(struct swappy_state *state) {
GList *first = state->paints;
@@ -103,26 +133,32 @@
static void switch_mode_to_brush(struct swappy_state *state) {
state->mode = SWAPPY_PAINT_MODE_BRUSH;
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), false);
}
static void switch_mode_to_text(struct swappy_state *state) {
state->mode = SWAPPY_PAINT_MODE_TEXT;
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), false);
}
static void switch_mode_to_rectangle(struct swappy_state *state) {
state->mode = SWAPPY_PAINT_MODE_RECTANGLE;
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), true);
}
static void switch_mode_to_ellipse(struct swappy_state *state) {
state->mode = SWAPPY_PAINT_MODE_ELLIPSE;
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), true);
}
static void switch_mode_to_arrow(struct swappy_state *state) {
state->mode = SWAPPY_PAINT_MODE_ARROW;
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), false);
}
static void switch_mode_to_blur(struct swappy_state *state) {
state->mode = SWAPPY_PAINT_MODE_BLUR;
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), false);
}
static void action_stroke_size_decrease(struct swappy_state *state) {
@@ -179,6 +215,18 @@
update_ui_text_size_widget(state);
}
+static void action_fill_shape_toggle(struct swappy_state *state,
+ gboolean *toggled) {
+ // Don't allow changing the state via a shortcut if the button can't be
+ // clicked.
+ if (!gtk_widget_get_sensitive(GTK_WIDGET(state->ui->fill_shape))) return;
+
+ gboolean toggle = (toggled == NULL) ? !state->config->fill_shape : *toggled;
+ state->config->fill_shape = toggle;
+
+ update_ui_fill_shape_toggle_button(state);
+}
+
static void save_state_to_file_or_folder(struct swappy_state *state,
char *file) {
GdkPixbuf *pixbuf = pixbuf_get_from_state(state);
@@ -191,6 +239,10 @@
}
g_object_unref(pixbuf);
+
+ if (state->config->early_exit) {
+ gtk_main_quit();
+ }
}
static void maybe_save_output_file(struct swappy_state *state) {
@@ -254,28 +306,6 @@
switch_mode_to_blur(state);
}
-void application_finish(struct swappy_state *state) {
- paint_free_all(state);
- pixbuf_free(state);
- cairo_surface_destroy(state->rendering_surface);
- cairo_surface_destroy(state->original_image_surface);
- if (state->temp_file_str) {
- g_info("deleting temporary file: %s", state->temp_file_str);
- if (g_unlink(state->temp_file_str) != 0) {
- g_warning("unable to delete temporary file: %s", state->temp_file_str);
- }
- g_free(state->temp_file_str);
- }
- g_free(state->file_str);
- g_free(state->geometry);
- g_free(state->window);
- g_free(state->ui);
-
- g_object_unref(state->app);
-
- config_free(state);
-}
-
void save_clicked_handler(GtkWidget *widget, struct swappy_state *state) {
// Commit a potential paint (e.g. text being written)
commit_state(state);
@@ -404,6 +434,9 @@
case GDK_KEY_Control_L:
control_modifier_changed(true, state);
break;
+ case GDK_KEY_f:
+ action_fill_shape_toggle(state, NULL);
+ break;
default:
break;
}
@@ -608,6 +641,12 @@
action_text_size_increase(state);
}
+void fill_shape_toggled_handler(GtkWidget *widget, struct swappy_state *state) {
+ GtkToggleButton *button = GTK_TOGGLE_BUTTON(widget);
+ gboolean toggled = gtk_toggle_button_get_active(button);
+ action_fill_shape_toggle(state, &toggled);
+}
+
static void compute_window_size_and_scaling_factor(struct swappy_state *state) {
GdkRectangle workarea = {0};
GdkDisplay *display = gdk_display_get_default();
@@ -743,6 +782,9 @@
state->ui->text_size =
GTK_BUTTON(gtk_builder_get_object(builder, "text-size-button"));
+ state->ui->fill_shape = GTK_TOGGLE_BUTTON(
+ gtk_builder_get_object(builder, "fill-shape-toggle-button"));
+
state->ui->brush = brush;
state->ui->text = text;
state->ui->rectangle = rectangle;
@@ -762,6 +804,38 @@
return true;
}
+static void set_paint_mode(struct swappy_state *state) {
+ switch (state->mode) {
+ case SWAPPY_PAINT_MODE_BRUSH:
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(state->ui->brush), true);
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), false);
+ break;
+ case SWAPPY_PAINT_MODE_TEXT:
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(state->ui->text), true);
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), false);
+ break;
+ case SWAPPY_PAINT_MODE_RECTANGLE:
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(state->ui->rectangle),
+ true);
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), true);
+ break;
+ case SWAPPY_PAINT_MODE_ELLIPSE:
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(state->ui->ellipse), true);
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), true);
+ break;
+ case SWAPPY_PAINT_MODE_ARROW:
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(state->ui->arrow), true);
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), false);
+ break;
+ case SWAPPY_PAINT_MODE_BLUR:
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(state->ui->blur), true);
+ gtk_widget_set_sensitive(GTK_WIDGET(state->ui->fill_shape), false);
+ break;
+ default:
+ break;
+ }
+}
+
static bool init_gtk_window(struct swappy_state *state) {
if (!state->original_image) {
g_critical("original image not loaded");
@@ -776,10 +850,13 @@
return false;
}
+ set_paint_mode(state);
+
update_ui_stroke_size_widget(state);
update_ui_text_size_widget(state);
update_ui_undo_redo(state);
update_ui_panel_toggle_button(state);
+ update_ui_fill_shape_toggle_button(state);
return true;
}
@@ -799,6 +876,7 @@
state->settings.a = 1;
state->settings.w = state->config->line_size;
state->settings.t = state->config->text_size;
+ state->mode = state->config->paint_mode;
}
static gint command_line_handler(GtkApplication *app,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/src/clipboard.c new/swappy-1.5.1/src/clipboard.c
--- old/swappy-1.4.0/src/clipboard.c 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/src/clipboard.c 2022-11-20 22:50:09.000000000 +0100
@@ -82,5 +82,9 @@
g_object_unref(pixbuf);
+ if (state->config->early_exit) {
+ gtk_main_quit();
+ }
+
return true;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/src/config.c new/swappy-1.5.1/src/config.c
--- old/swappy-1.4.0/src/config.c 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/src/config.c 2022-11-20 22:50:09.000000000 +0100
@@ -19,6 +19,9 @@
g_info("line_size: %d", config->line_size);
g_info("text_font: %s", config->text_font);
g_info("text_size: %d", config->text_size);
+ g_info("paint_mode: %d", config->paint_mode);
+ g_info("early_exit: %d", config->early_exit);
+ g_info("fill_shape: %d", config->fill_shape);
}
static char *get_default_save_dir() {
@@ -75,6 +78,9 @@
gchar *save_dir_expanded = NULL;
guint64 line_size, text_size;
gchar *text_font = NULL;
+ gchar *paint_mode = NULL;
+ gboolean early_exit;
+ gboolean fill_shape;
GError *error = NULL;
if (file == NULL) {
@@ -97,7 +103,11 @@
save_dir_expanded = g_strdup(p.we_wordv[0]);
wordfree(&p);
if (!save_dir_expanded || !folder_exists(save_dir_expanded)) {
- g_warning("save_dir: %s is not a valid directory", save_dir_expanded);
+ g_info("save_dir: attempting to create non-existent directory '%s'",
+ save_dir_expanded);
+ if (g_mkdir_with_parents(save_dir_expanded, 0755)) {
+ g_warning("save_dir: failed to create '%s'", save_dir_expanded);
+ }
}
g_free(save_dir);
@@ -176,6 +186,52 @@
error = NULL;
}
+ early_exit = g_key_file_get_boolean(gkf, group, "early_exit", &error);
+
+ if (error == NULL) {
+ config->early_exit = early_exit;
+ } else {
+ g_info("early_exit is missing in %s (%s)", file, error->message);
+ g_error_free(error);
+ error = NULL;
+ }
+
+ paint_mode = g_key_file_get_string(gkf, group, "paint_mode", &error);
+
+ if (error == NULL) {
+ if (g_ascii_strcasecmp(paint_mode, "brush") == 0) {
+ config->paint_mode = SWAPPY_PAINT_MODE_BRUSH;
+ } else if (g_ascii_strcasecmp(paint_mode, "text") == 0) {
+ config->paint_mode = SWAPPY_PAINT_MODE_TEXT;
+ } else if (g_ascii_strcasecmp(paint_mode, "rectangle") == 0) {
+ config->paint_mode = SWAPPY_PAINT_MODE_RECTANGLE;
+ } else if (g_ascii_strcasecmp(paint_mode, "ellipse") == 0) {
+ config->paint_mode = SWAPPY_PAINT_MODE_ELLIPSE;
+ } else if (g_ascii_strcasecmp(paint_mode, "arrow") == 0) {
+ config->paint_mode = SWAPPY_PAINT_MODE_ARROW;
+ } else if (g_ascii_strcasecmp(paint_mode, "blur") == 0) {
+ config->paint_mode = SWAPPY_PAINT_MODE_BLUR;
+ } else {
+ g_warning(
+ "paint_mode is not a valid value: %s - see man page for details",
+ paint_mode);
+ }
+ } else {
+ g_info("paint_mode is missing in %s (%s)", file, error->message);
+ g_error_free(error);
+ error = NULL;
+ }
+
+ fill_shape = g_key_file_get_boolean(gkf, group, "fill_shape", &error);
+
+ if (error == NULL) {
+ config->fill_shape = fill_shape;
+ } else {
+ g_info("fill_shape is missing in %s (%s)", file, error->message);
+ g_error_free(error);
+ error = NULL;
+ }
+
g_key_file_free(gkf);
}
@@ -190,6 +246,9 @@
config->text_font = g_strdup(CONFIG_TEXT_FONT_DEFAULT);
config->text_size = CONFIG_TEXT_SIZE_DEFAULT;
config->show_panel = CONFIG_SHOW_PANEL_DEFAULT;
+ config->paint_mode = CONFIG_PAINT_MODE_DEFAULT;
+ config->early_exit = CONFIG_EARLY_EXIT_DEFAULT;
+ config->fill_shape = CONFIG_FILL_SHAPE_DEFAULT;
}
void config_load(struct swappy_state *state) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/src/paint.c new/swappy-1.5.1/src/paint.c
--- old/swappy-1.4.0/src/paint.c 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/src/paint.c 2022-11-20 22:50:09.000000000 +0100
@@ -118,7 +118,10 @@
paint->content.shape.a = a;
paint->content.shape.w = w;
paint->content.shape.type = type;
- paint->content.shape.operation = SWAPPY_PAINT_SHAPE_OPERATION_STROKE;
+ if (state->config->fill_shape)
+ paint->content.shape.operation = SWAPPY_PAINT_SHAPE_OPERATION_FILL;
+ else
+ paint->content.shape.operation = SWAPPY_PAINT_SHAPE_OPERATION_STROKE;
break;
case SWAPPY_PAINT_MODE_TEXT:
paint->can_draw = false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/src/po/de.po new/swappy-1.5.1/src/po/de.po
--- old/swappy-1.4.0/src/po/de.po 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/src/po/de.po 2022-11-20 22:50:09.000000000 +0100
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: swappy\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-06-21 21:57-0400\n"
+"POT-Creation-Date: 2022-11-18 16:07-0500\n"
"PO-Revision-Date: 2020-11-19 18:03+0300\n"
"Last-Translator: Brodi <me(a)brodi.ml>\n"
"Language-Team: none\n"
@@ -17,34 +17,42 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: res/swappy.glade:455
+#: res/swappy.glade:456
msgid "Line Width"
msgstr "Linienst��rke"
-#: res/swappy.glade:525
+#: res/swappy.glade:526
msgid "Text Size"
msgstr "Textgr����e"
-#: res/swappy.glade:641
+#: res/swappy.glade:592
+msgid "Fill shape"
+msgstr ""
+
+#: res/swappy.glade:597
+msgid "Toggle shape filling"
+msgstr ""
+
+#: res/swappy.glade:671
msgid "Toggle Paint Panel"
msgstr "Farbtafel umschalten"
-#: res/swappy.glade:667
+#: res/swappy.glade:697
msgid "Undo Last Paint"
msgstr "Letzte Bemalung r��ckg��ngig machen"
-#: res/swappy.glade:686
+#: res/swappy.glade:716
msgid "Redo Previous Paint"
msgstr "Vorherige Bemalung wiederherstellen"
-#: res/swappy.glade:705
+#: res/swappy.glade:735
msgid "Clear Paints"
msgstr "Bemalung l��schen"
-#: res/swappy.glade:733
+#: res/swappy.glade:763
msgid "Copy Surface"
msgstr "Fl��che kopieren"
-#: res/swappy.glade:749
+#: res/swappy.glade:779
msgid "Save Surface"
msgstr "Fl��che speichern"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/src/po/en.po new/swappy-1.5.1/src/po/en.po
--- old/swappy-1.4.0/src/po/en.po 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/src/po/en.po 2022-11-20 22:50:09.000000000 +0100
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: swappy\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-06-21 21:57-0400\n"
+"POT-Creation-Date: 2022-11-18 16:07-0500\n"
"PO-Revision-Date: 2020-06-21 21:57-0400\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,34 +17,42 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: res/swappy.glade:455
+#: res/swappy.glade:456
msgid "Line Width"
msgstr "Line Width"
-#: res/swappy.glade:525
+#: res/swappy.glade:526
msgid "Text Size"
msgstr "Text Size"
-#: res/swappy.glade:641
+#: res/swappy.glade:592
+msgid "Fill shape"
+msgstr "Fill shape"
+
+#: res/swappy.glade:597
+msgid "Toggle shape filling"
+msgstr "Toggle shape filling"
+
+#: res/swappy.glade:671
msgid "Toggle Paint Panel"
msgstr "Toggle Paint Panel"
-#: res/swappy.glade:667
+#: res/swappy.glade:697
msgid "Undo Last Paint"
msgstr "Undo Last Paint"
-#: res/swappy.glade:686
+#: res/swappy.glade:716
msgid "Redo Previous Paint"
msgstr "Redo Previous Paint"
-#: res/swappy.glade:705
+#: res/swappy.glade:735
msgid "Clear Paints"
msgstr "Clear Paints"
-#: res/swappy.glade:733
+#: res/swappy.glade:763
msgid "Copy Surface"
msgstr "Copy Surface"
-#: res/swappy.glade:749
+#: res/swappy.glade:779
msgid "Save Surface"
msgstr "Save Surface"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/src/po/fr.po new/swappy-1.5.1/src/po/fr.po
--- old/swappy-1.4.0/src/po/fr.po 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/src/po/fr.po 2022-11-20 22:50:09.000000000 +0100
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: swappy\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-02-20 21:17-0500\n"
+"POT-Creation-Date: 2022-11-18 16:07-0500\n"
"PO-Revision-Date: 2021-02-20 21:00-0500\n"
"Last-Translator: Jeremy Attali <contact(a)jtheoof.me>\n"
"Language-Team: none\n"
@@ -17,34 +17,42 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: res/swappy.glade:455
+#: res/swappy.glade:456
msgid "Line Width"
msgstr "Epaisseur de ligne"
-#: res/swappy.glade:525
+#: res/swappy.glade:526
msgid "Text Size"
msgstr "Taille du texte"
-#: res/swappy.glade:641
+#: res/swappy.glade:592
+msgid "Fill shape"
+msgstr "Remplir la forme"
+
+#: res/swappy.glade:597
+msgid "Toggle shape filling"
+msgstr "Activer/D��sactiver le remplissage de forme"
+
+#: res/swappy.glade:671
msgid "Toggle Paint Panel"
msgstr "Afficher/Cacher le panneau de peinture"
-#: res/swappy.glade:667
+#: res/swappy.glade:697
msgid "Undo Last Paint"
msgstr "Annuler la derni��re peinture"
-#: res/swappy.glade:686
+#: res/swappy.glade:716
msgid "Redo Previous Paint"
msgstr "R��tablir la derni��re peinture"
-#: res/swappy.glade:705
+#: res/swappy.glade:735
msgid "Clear Paints"
msgstr "Supprimer les peintures"
-#: res/swappy.glade:733
+#: res/swappy.glade:763
msgid "Copy Surface"
msgstr "Copier la surface"
-#: res/swappy.glade:749
+#: res/swappy.glade:779
msgid "Save Surface"
msgstr "Sauvegarder la surface"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/src/po/pt_BR.po new/swappy-1.5.1/src/po/pt_BR.po
--- old/swappy-1.4.0/src/po/pt_BR.po 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/src/po/pt_BR.po 2022-11-20 22:50:09.000000000 +0100
@@ -7,45 +7,53 @@
msgstr ""
"Project-Id-Version: swappy\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-06-21 21:57-0400\n"
+"POT-Creation-Date: 2022-11-18 16:07-0500\n"
"PO-Revision-Date: 2021-02-14 20:38-0300\n"
+"Last-Translator: Gustavo Costa <xfgusta(a)gmail.com>\n"
"Language-Team: \n"
+"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.4.2\n"
-"Last-Translator: Gustavo Costa <xfgusta(a)gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"Language: pt_BR\n"
-#: res/swappy.glade:455
+#: res/swappy.glade:456
msgid "Line Width"
msgstr "Espessura da linha"
-#: res/swappy.glade:525
+#: res/swappy.glade:526
msgid "Text Size"
msgstr "Tamanho do texto"
-#: res/swappy.glade:641
+#: res/swappy.glade:592
+msgid "Fill shape"
+msgstr ""
+
+#: res/swappy.glade:597
+msgid "Toggle shape filling"
+msgstr ""
+
+#: res/swappy.glade:671
msgid "Toggle Paint Panel"
msgstr "Alternar painel de pintura"
-#: res/swappy.glade:667
+#: res/swappy.glade:697
msgid "Undo Last Paint"
msgstr "Desfazer ��ltima pintura"
-#: res/swappy.glade:686
+#: res/swappy.glade:716
msgid "Redo Previous Paint"
msgstr "Refazer pintura anterior"
-#: res/swappy.glade:705
+#: res/swappy.glade:735
msgid "Clear Paints"
msgstr "Limpar pinturas"
-#: res/swappy.glade:733
+#: res/swappy.glade:763
msgid "Copy Surface"
msgstr "Copiar superf��cie"
-#: res/swappy.glade:749
+#: res/swappy.glade:779
msgid "Save Surface"
msgstr "Salvar superf��cie"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/src/po/swappy.pot new/swappy-1.5.1/src/po/swappy.pot
--- old/swappy-1.4.0/src/po/swappy.pot 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/src/po/swappy.pot 2022-11-20 22:50:09.000000000 +0100
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: swappy\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-06-21 21:57-0400\n"
+"POT-Creation-Date: 2022-11-18 16:07-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
@@ -17,34 +17,42 @@
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: res/swappy.glade:455
+#: res/swappy.glade:456
msgid "Line Width"
msgstr ""
-#: res/swappy.glade:525
+#: res/swappy.glade:526
msgid "Text Size"
msgstr ""
-#: res/swappy.glade:641
+#: res/swappy.glade:592
+msgid "Fill shape"
+msgstr ""
+
+#: res/swappy.glade:597
+msgid "Toggle shape filling"
+msgstr ""
+
+#: res/swappy.glade:671
msgid "Toggle Paint Panel"
msgstr ""
-#: res/swappy.glade:667
+#: res/swappy.glade:697
msgid "Undo Last Paint"
msgstr ""
-#: res/swappy.glade:686
+#: res/swappy.glade:716
msgid "Redo Previous Paint"
msgstr ""
-#: res/swappy.glade:705
+#: res/swappy.glade:735
msgid "Clear Paints"
msgstr ""
-#: res/swappy.glade:733
+#: res/swappy.glade:763
msgid "Copy Surface"
msgstr ""
-#: res/swappy.glade:749
+#: res/swappy.glade:779
msgid "Save Surface"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/src/po/tr.po new/swappy-1.5.1/src/po/tr.po
--- old/swappy-1.4.0/src/po/tr.po 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/src/po/tr.po 2022-11-20 22:50:09.000000000 +0100
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: swappy\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-06-21 21:57-0400\n"
+"POT-Creation-Date: 2022-11-18 16:07-0500\n"
"PO-Revision-Date: 2020-10-16 22:00+0300\n"
"Last-Translator: O��uz Ersen <oguzersen(a)protonmail.com>\n"
"Language-Team: none\n"
@@ -17,34 +17,42 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: res/swappy.glade:455
+#: res/swappy.glade:456
msgid "Line Width"
msgstr "��izgi Geni��li��i"
-#: res/swappy.glade:525
+#: res/swappy.glade:526
msgid "Text Size"
msgstr "Metin Boyutu"
-#: res/swappy.glade:641
+#: res/swappy.glade:592
+msgid "Fill shape"
+msgstr ""
+
+#: res/swappy.glade:597
+msgid "Toggle shape filling"
+msgstr ""
+
+#: res/swappy.glade:671
msgid "Toggle Paint Panel"
msgstr "Boyama Panelini A��/Kapat"
-#: res/swappy.glade:667
+#: res/swappy.glade:697
msgid "Undo Last Paint"
msgstr "Son Boyamay�� Geri Al"
-#: res/swappy.glade:686
+#: res/swappy.glade:716
msgid "Redo Previous Paint"
msgstr "��nceki Boyamay�� Tekrarla"
-#: res/swappy.glade:705
+#: res/swappy.glade:735
msgid "Clear Paints"
msgstr "Boyamalar�� Temizle"
-#: res/swappy.glade:733
+#: res/swappy.glade:763
msgid "Copy Surface"
msgstr "Y��zeyi Kopyala"
-#: res/swappy.glade:749
+#: res/swappy.glade:779
msgid "Save Surface"
msgstr "Y��zeyi Kaydet"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/src/render.c new/swappy-1.5.1/src/render.c
--- old/swappy-1.4.0/src/render.c 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/src/render.c 2022-11-20 22:50:09.000000000 +0100
@@ -310,7 +310,19 @@
cairo_scale(cr, x / n, y / n);
cairo_arc(cr, 0, 0, r, 0, 2 * G_PI);
cairo_set_matrix(cr, &save_matrix);
- cairo_stroke(cr);
+
+ switch (shape.operation) {
+ case SWAPPY_PAINT_SHAPE_OPERATION_STROKE:
+ cairo_stroke(cr);
+ break;
+ case SWAPPY_PAINT_SHAPE_OPERATION_FILL:
+ cairo_fill(cr);
+ break;
+ default:
+ cairo_stroke(cr);
+ break;
+ }
+
cairo_close_path(cr);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swappy-1.4.0/swappy.1.scd new/swappy-1.5.1/swappy.1.scd
--- old/swappy-1.4.0/swappy.1.scd 2021-09-06 16:36:15.000000000 +0200
+++ new/swappy-1.5.1/swappy.1.scd 2022-11-20 22:50:09.000000000 +0100
@@ -63,14 +63,21 @@
line_size=5
text_size=20
text_font=sans-serif
+ paint_mode=brush
+ early_exit=false
+ fill_shape=false
```
-- *save_dir* is where swappshots will be saved, can contain env variables and must exist in your filesystem
+- *save_dir* is where swappshots will be saved, can contain env variables, when it does not exist, swappy attempts to create it first, but does not abort if directory creation fails
- *save_filename_format* is the filename template, if it contains a date format, this will be parsed into a timestamp. Format is detailed in strftime(3). If this date format is missing, filename will have no timestamp
- *show_panel* is used to toggle the paint panel on or off upon startup
- *line_size* is the default line size (must be between 1 and 50)
- *text_size* is the default text size (must be between 10 and 50)
- *text_font* is the font used to render text, its format is pango friendly
+- *paint_mode* is the mode activated at application start (must be one of: brush|text|rectangle|ellipse|arrow|blur, matching is case-insensitive)
+- *early_exit* is used to make the application exit after saving the picture or copying it to the clipboard
+- *fill_shape* is used to toggle shape filling (for the rectangle and ellipsis tools) on or off upon startup
+
# KEY BINDINGS
@@ -94,6 +101,7 @@
- *Minus*: Reduce Stroke Size
- *Plus*: Increase Stroke Size
- *Equal*: Reset Stroke Size
+- *f*: Toggle Shape Filling
- *k*: Clear Paints (cannot be undone)
## MODIFIERS
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ouch for openSUSE:Factory checked in at 2022-12-01 17:21:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ouch (Old)
and /work/SRC/openSUSE:Factory/.ouch.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ouch"
Thu Dec 1 17:21:24 2022 rev:3 rq:1039268 version:0.4.0~0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ouch/ouch.changes 2022-11-05 14:46:57.626660819 +0100
+++ /work/SRC/openSUSE:Factory/.ouch.new.1835/ouch.changes 2022-12-01 17:22:21.546605963 +0100
@@ -1,0 +2,12 @@
+Thu Dec 1 09:11:10 UTC 2022 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 0.4.0:
+ * More than 15 bug fixes (including major bugs).
+ * New accessible mode.
+ * Added list command.
+ * Added support for .lz4 and .sz (snappy).
+ * Infer file type while decompressing via MIME types.
+ * New flags to ignore hidden files and .gitignore'd files when compressing.
+ * Flag -o/--output was renamed to -d/--dir.
+
+-------------------------------------------------------------------
Old:
----
ouch-0.3.1~0.tar.xz
New:
----
ouch-0.4.0~0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ouch.spec ++++++
--- /var/tmp/diff_new_pack.rqpFYv/_old 2022-12-01 17:22:27.278637306 +0100
+++ /var/tmp/diff_new_pack.rqpFYv/_new 2022-12-01 17:22:27.282637328 +0100
@@ -17,7 +17,7 @@
Name: ouch
-Version: 0.3.1~0
+Version: 0.4.0~0
Release: 0
Summary: Compression and decompression utility for the terminal
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.rqpFYv/_old 2022-12-01 17:22:27.322637546 +0100
+++ /var/tmp/diff_new_pack.rqpFYv/_new 2022-12-01 17:22:27.326637568 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/ouch-org/ouch.git</param>
<param name="versionformat">@PARENT_TAG@~@TAG_OFFSET@</param>
<param name="scm">git</param>
- <param name="revision">0.3.1</param>
+ <param name="revision">0.4.0</param>
<param name="match-tag">*</param>
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
<param name="versionrewrite-replacement">\1</param>
++++++ ouch-0.3.1~0.tar.xz -> ouch-0.4.0~0.tar.xz ++++++
++++ 6709 lines of diff (skipped)
++++++ vendor.tar.xz ++++++
/work/SRC/openSUSE:Factory/ouch/vendor.tar.xz /work/SRC/openSUSE:Factory/.ouch.new.1835/vendor.tar.xz differ: char 25, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package terraform for openSUSE:Factory checked in at 2022-12-01 17:21:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/terraform (Old)
and /work/SRC/openSUSE:Factory/.terraform.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "terraform"
Thu Dec 1 17:21:20 2022 rev:46 rq:1039262 version:1.3.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/terraform/terraform.changes 2022-11-18 15:44:21.678780398 +0100
+++ /work/SRC/openSUSE:Factory/.terraform.new.1835/terraform.changes 2022-12-01 17:22:15.606573482 +0100
@@ -1,0 +2,8 @@
+Thu Dec 1 05:48:20 UTC 2022 - Johannes Kastl <kastl(a)b1-systems.de>
+
+- update to 1.3.6:
+ * BUG FIXES:
+ - Terraform could crash if an orphaned resource instance was deleted externally and had condition checks in the configuration (#32246)
+ - Module output changes were being removed and re-added to the stored plan, impacting performance with large numbers of outputs (#32307)
+
+-------------------------------------------------------------------
Old:
----
terraform-1.3.5.obscpio
terraform-1.3.5.tar.gz
New:
----
terraform-1.3.6.obscpio
terraform-1.3.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ terraform.spec ++++++
--- /var/tmp/diff_new_pack.aYn5pO/_old 2022-12-01 17:22:19.242593365 +0100
+++ /var/tmp/diff_new_pack.aYn5pO/_new 2022-12-01 17:22:19.278593562 +0100
@@ -17,7 +17,7 @@
Name: terraform
-Version: 1.3.5
+Version: 1.3.6
Release: 0
Summary: Tool for building infrastructure safely and efficiently
License: MPL-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.aYn5pO/_old 2022-12-01 17:22:19.558595092 +0100
+++ /var/tmp/diff_new_pack.aYn5pO/_new 2022-12-01 17:22:19.570595158 +0100
@@ -3,8 +3,8 @@
<param name="url">https://github.com/hashicorp/terraform</param>
<param name="scm">git</param>
<param name="filename">terraform</param>
- <param name="versionformat">1.3.5</param>
- <param name="revision">v1.3.5</param>
+ <param name="versionformat">1.3.6</param>
+ <param name="revision">v1.3.6</param>
<param name="exclude">.git</param>
</service>
<service name="tar" mode="disabled"/>
@@ -16,7 +16,7 @@
<param name="basename">terraform</param>
</service>
<service name="go_modules" mode="disabled">
- <param name="archive">terraform-1.3.5.tar.gz</param>
+ <param name="archive">terraform-1.3.6.tar.gz</param>
</service>
</services>
++++++ terraform-1.3.5.obscpio -> terraform-1.3.6.obscpio ++++++
/work/SRC/openSUSE:Factory/terraform/terraform-1.3.5.obscpio /work/SRC/openSUSE:Factory/.terraform.new.1835/terraform-1.3.6.obscpio differ: char 49, line 1
++++++ terraform-1.3.5.tar.gz -> terraform-1.3.6.tar.gz ++++++
++++ 6885 lines of diff (skipped)
++++++ terraform.obsinfo ++++++
--- /var/tmp/diff_new_pack.aYn5pO/_old 2022-12-01 17:22:21.362604957 +0100
+++ /var/tmp/diff_new_pack.aYn5pO/_new 2022-12-01 17:22:21.366604978 +0100
@@ -1,5 +1,5 @@
name: terraform
-version: 1.3.5
-mtime: 1668714155
-commit: 6e904a14881063158833a0245f113559a120c590
+version: 1.3.6
+mtime: 1669840974
+commit: 603f48b2a1e27f102e4f53c0fae53cd591bb03ae
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/terraform/vendor.tar.gz /work/SRC/openSUSE:Factory/.terraform.new.1835/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package direnv for openSUSE:Factory checked in at 2022-12-01 17:21:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/direnv (Old)
and /work/SRC/openSUSE:Factory/.direnv.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "direnv"
Thu Dec 1 17:21:18 2022 rev:13 rq:1039259 version:2.32.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/direnv/direnv.changes 2022-05-09 18:45:30.428306256 +0200
+++ /work/SRC/openSUSE:Factory/.direnv.new.1835/direnv.changes 2022-12-01 17:22:10.918547848 +0100
@@ -1,0 +2,12 @@
+Thu Nov 24 15:48:26 UTC 2022 - Andrea Manzini <andrea.manzini(a)suse.com>
+
+- Update to version 2.32.1
+ * Support custom VIRTUAL_ENV for layout_python
+ * Add gha shell for GitHub Actions
+ * allow conda environment names to be detected from environment.yml
+ * source_up_if_exists: A strict_env compatible version of source_up
+ * Expand ~/ in whitelist paths
+ * Add "block" and "revoke" as aliases of the "deny" command
+ * Add "permit" and "grant" as aliases of the "allow" command
+
+-------------------------------------------------------------------
Old:
----
direnv-2.31.0.tar.gz
New:
----
direnv-2.32.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ direnv.spec ++++++
--- /var/tmp/diff_new_pack.WapjeT/_old 2022-12-01 17:22:11.562551370 +0100
+++ /var/tmp/diff_new_pack.WapjeT/_new 2022-12-01 17:22:11.566551392 +0100
@@ -18,7 +18,7 @@
%define gopackagepath github.com/direnv/direnv
Name: direnv
-Version: 2.31.0
+Version: 2.32.1
Release: 0
Summary: Environment switcher for shells
License: MIT
++++++ direnv-2.31.0.tar.gz -> direnv-2.32.1.tar.gz ++++++
++++ 2037 lines of diff (skipped)
++++++ vendor.tar.gz ++++++
++++ 11549 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package etckeeper for openSUSE:Factory checked in at 2022-12-01 17:21:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/etckeeper (Old)
and /work/SRC/openSUSE:Factory/.etckeeper.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "etckeeper"
Thu Dec 1 17:21:19 2022 rev:10 rq:1039260 version:1.18.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/etckeeper/etckeeper.changes 2022-10-14 15:42:31.979917768 +0200
+++ /work/SRC/openSUSE:Factory/.etckeeper.new.1835/etckeeper.changes 2022-12-01 17:22:12.190554804 +0100
@@ -1,0 +2,7 @@
+Thu Nov 17 13:52:20 UTC 2022 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Do not have the main package recommend the bash-completion
+ sub-package, but rather have the subpackage supplement the
+ combination of etckeeper and bash-completion.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ etckeeper.spec ++++++
--- /var/tmp/diff_new_pack.OKFqTt/_old 2022-12-01 17:22:12.634557232 +0100
+++ /var/tmp/diff_new_pack.OKFqTt/_new 2022-12-01 17:22:12.638557253 +0100
@@ -2,7 +2,7 @@
#
# spec file for package etckeeper
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2014 Mitsutoshi NAKANO <bkbin005(a)rinku.zaq.ne.jp>
# Copyright (c) 2013 Pascal Bleser <pascal.bleser(a)opensuse.org>
#
@@ -62,9 +62,8 @@
BuildRequires: bzr
%endif
-Recommends: git-core
-Recommends: %{name}-bash-completion = %{version}-%{release}
Recommends: %{name}-zypp-plugin = %{version}-%{release}
+Recommends: git-core
%if %{with bzr}
Recommends: %{name}-bzr = %{version}-%{release}
%endif
@@ -126,6 +125,7 @@
Group: System/Shells
Requires: bash-completion
Requires: etckeeper = %{version}-%{release}
+Supplements: (%{name} and bash-completion)
%description bash-completion
Bash command line completion support for %{name}.
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package yank for openSUSE:Factory checked in at 2022-12-01 17:21:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yank (Old)
and /work/SRC/openSUSE:Factory/.yank.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yank"
Thu Dec 1 17:21:18 2022 rev:4 rq:1039257 version:1.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/yank/yank.changes 2019-09-19 15:53:08.579265229 +0200
+++ /work/SRC/openSUSE:Factory/.yank.new.1835/yank.changes 2022-12-01 17:22:10.182543824 +0100
@@ -1,0 +2,6 @@
+Tue Nov 29 08:38:56 UTC 2022 - Andrea Manzini <andrea.manzini(a)suse.com>
+
+- Version 1.3.0
+ - Add opt-in selection of one and only field.
+
+-------------------------------------------------------------------
Old:
----
yank-1.2.0.tar.gz
New:
----
yank-1.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yank.spec ++++++
--- /var/tmp/diff_new_pack.nbCaEm/_old 2022-12-01 17:22:10.670546492 +0100
+++ /var/tmp/diff_new_pack.nbCaEm/_new 2022-12-01 17:22:10.674546514 +0100
@@ -1,7 +1,7 @@
#
# spec file for package yank
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: yank
-Version: 1.2.0
+Version: 1.3.0
Release: 0
Summary: Tool for selecting and copying text from stdin without a mouse
License: MIT
++++++ yank-1.2.0.tar.gz -> yank-1.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yank-1.2.0/.gitignore new/yank-1.3.0/.gitignore
--- old/yank-1.2.0/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/yank-1.3.0/.gitignore 2022-06-18 08:25:45.000000000 +0200
@@ -0,0 +1,2 @@
+/yank.o
+/yank
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yank-1.2.0/CHANGELOG.md new/yank-1.3.0/CHANGELOG.md
--- old/yank-1.2.0/CHANGELOG.md 2019-08-12 10:27:17.000000000 +0200
+++ new/yank-1.3.0/CHANGELOG.md 2022-06-18 08:25:45.000000000 +0200
@@ -1,5 +1,12 @@
-v1.2.0 - 2019-08-12
-===================
+# v1.3.0 - 2022-06-18
+
+## News
+
+- Add opt-in selection of one and only field.
+ (d8b2024)
+ (Anton Lindqvist)
+
+# v1.2.0 - 2019-08-12
- Add openSUSE installation instructions to README.
(c4ce72e)
@@ -17,8 +24,7 @@
(dffe105)
(Anton Lindqvist)
-v1.1.0 - 2018-11-01
-===================
+# v1.1.0 - 2018-11-01
- Fix compilation on FreeBSD by passing preprocessor macros in `CFLAGS` as
opposed of using `CPPFLAGS` which is not honored.
@@ -33,8 +39,7 @@
(8dff9f3)
(Tobias Kortkamp)
-v1.0.0 - 2018-09-09
-===================
+# v1.0.0 - 2018-09-09
- Fix a broken reference and improve the semantics of the manual.
(f99c6ed, 7a964c1)
@@ -52,8 +57,7 @@
instead of relying on the ones created by GitHub.
(99a91e2)
-v0.8.3 - 2017-06-05
-===================
+# v0.8.3 - 2017-06-05
- Fix typo in README and man page (fe45fc1) (Jakub Wilk)
@@ -68,13 +72,11 @@
- `snprintf(3)` can return `-1` (9ecb1f5) (Anton Lindqvist)
-v0.8.2 - 2017-02-19
-===================
+# v0.8.2 - 2017-02-19
- Ensure `make clean` always exits with success (47a0ee9) (S��bastien Delafond)
-v0.8.1 - 2017-02-18
-===================
+# v0.8.1 - 2017-02-18
- Add Fedora install instructions to README (#33, #34, 8d90aae) (Nemanja
Milosevic)
@@ -82,8 +84,7 @@
- Allow the name of the compiled binary to be changed using the `PROG` variable
(#35, #36, 1c43c46) (Nemanja Milosevic)
-v0.8.0 - 2017-01-17
-===================
+# v0.8.0 - 2017-01-17
- Update man page and README (9eac46f, 252a419) (Anton Lindqvist)
@@ -93,8 +94,7 @@
- Add support for `DESTDIR` to Makefile (77cf987) (Anton Lindqvist)
-v0.7.1 - 2016-10-08
-===================
+# v0.7.1 - 2016-10-08
- Update man page (2e78c28, a5cdba9) (Anton Lindqvist)
@@ -110,22 +110,19 @@
- Refactoring and cleanup (2017de6) (Anton Lindqvist)
-v0.7.0 - 2016-05-18
-===================
+# v0.7.0 - 2016-05-18
- Add MANPREFIX support to installation task (Anton Lindqvist)
- Pledge on OpenBSD (Anton Lindqvist)
-v0.6.4 - 2016-03-13
-===================
+# v0.6.4 - 2016-03-13
- Add Vi key bindings (Samson Yeung)
- Fix wrong exit code on yank command failure (Anton Lindqvist)
-v0.6.3 - 2016-02-20
-===================
+# v0.6.3 - 2016-02-20
- Exit with correct code on invocation failure (Anton Lindqvist)
@@ -133,24 +130,20 @@
- Fix endless loop while executing the supplied regex (Anton Lindqvist)
-v0.6.2 - 2015-12-15
-===================
+# v0.6.2 - 2015-12-15
- Fix non string literal compilation warning (Anton Lindqvist)
-v0.6.1 - 2015-12-15
-===================
+# v0.6.1 - 2015-12-15
- Use more common save/restore cursor capabilities (Eli Young)
-v0.6.0 - 2015-12-06
-===================
+# v0.6.0 - 2015-12-06
- Add regex delimiter support using the `-g` option and `-i` to make the pattern
case-insensitive (Anton Lindqvist)
-v0.5.0 - 2015-11-12
-===================
+# v0.5.0 - 2015-11-12
- Add arrow key bindings (Anton Lindqvist)
@@ -158,8 +151,7 @@
- Add OS X installation instructions (Carl Dong)
-v0.4.1 - 2015-10-19
-===================
+# v0.4.1 - 2015-10-19
- Fix number of lines in input bug (Anton Lindqvist)
@@ -167,8 +159,7 @@
- Fix description in man page (Jeremiah LaRocco)
-v0.4.0 - 2015-10-10
-===================
+# v0.4.0 - 2015-10-10
- Always recognize carriage return as a delimiter (Anton Lindqvist)
@@ -178,20 +169,17 @@
- Fix number of lines in input bug (Anton Lindqvist)
-v0.3.1 - 2015-09-24
-===================
+# v0.3.1 - 2015-09-24
- Fix moving beyond input bug (Anton Lindqvist)
-v0.3.0 - 2015-09-21
-===================
+# v0.3.0 - 2015-09-21
- Add `-x` option used to enable usage of the alternate screen (Anton Lindqvist)
- Fix `style(9)` violations (Anton Lindqvist)
-v0.2.0 - 2015-09-10
-===================
+# v0.2.0 - 2015-09-10
- Add `-l` option used to yank a whole line (Anton Lindqvist)
@@ -203,12 +191,10 @@
- Fix number of lines in input bug (Anton Lindqvist)
-v0.1.1 - 2015-08-28
-===================
+# v0.1.1 - 2015-08-28
- Add support for linking against musl (Anton Lindqvist)
-v0.1.0 - 2015-08-24
-===================
+# v0.1.0 - 2015-08-24
- Initial commit (Anton Lindqvist)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yank-1.2.0/LICENSE new/yank-1.3.0/LICENSE
--- old/yank-1.2.0/LICENSE 2019-08-12 10:27:17.000000000 +0200
+++ new/yank-1.3.0/LICENSE 2022-06-18 08:25:45.000000000 +0200
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2018 Anton Lindqvist
+Copyright (c) 2022 Anton Lindqvist
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yank-1.2.0/Makefile new/yank-1.3.0/Makefile
--- old/yank-1.2.0/Makefile 2019-08-12 10:27:17.000000000 +0200
+++ new/yank-1.3.0/Makefile 2022-06-18 08:25:45.000000000 +0200
@@ -1,4 +1,4 @@
-VERSION= 1.2.0
+VERSION= 1.3.0
YANKCMD= xsel
@@ -8,6 +8,8 @@
PROG= yank
OBJS= yank.o
+KNFMT+= yank.c
+
INSTALL_PROGRAM= install -s -m 0755
INSTALL_MAN= install -m 0644
@@ -28,28 +30,36 @@
clean:
rm -f ${PROG} ${OBJS}
+.PHONY: clean
dist:
set -e; \
- d=${PROG}-${VERSION}; \
+ d=yank-${VERSION}; \
mkdir $$d; \
for f in ${DISTFILES}; do \
mkdir -p $$d/`dirname $$f`; \
- cp $$f $$d/$$f; \
+ cp -p ${.CURDIR}/$$f $$d/$$f; \
done; \
- tar czvf $$d.tar.gz $$d; \
- sha256 $$d.tar.gz >$$d.sha256; \
+ find $$d -type d -exec touch -r ${.CURDIR}/Makefile {} \;; \
+ tar czvf ${.CURDIR}/$$d.tar.gz $$d; \
+ (cd ${.CURDIR}; sha256 $$d.tar.gz >$$d.sha256); \
rm -r $$d
+.PHONY: dist
-distclean: clean
- rm -f ${PROG}-${VERSION}.tar.gz ${PROG}-${VERSION}.sha256
+format:
+ cd ${.CURDIR} && knfmt -is ${KNFMT}
+.PHONY: format
install: ${PROG}
@mkdir -p ${DESTDIR}${PREFIX}/bin
@mkdir -p ${DESTDIR}${MANPREFIX}/man1
${INSTALL_PROGRAM} ${PROG} ${DESTDIR}${PREFIX}/bin
${INSTALL_MAN} yank.1 ${DESTDIR}${MANPREFIX}/man1
+.PHONY: install
-.PHONY: all clean dist distclean install
+lint:
+ cd ${.CURDIR} && mandoc -Tlint -Wstyle yank.1
+ cd ${.CURDIR} && knfmt -ds ${KNFMT}
+.PHONY: lint
-include config.mk
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yank-1.2.0/README.md new/yank-1.3.0/README.md
--- old/yank-1.2.0/README.md 2019-08-12 10:27:17.000000000 +0200
+++ new/yank-1.3.0/README.md 2022-06-18 08:25:45.000000000 +0200
@@ -81,8 +81,6 @@
### Debian
-On testing and unstable:
-
```sh
$ sudo apt-get install yank
```
@@ -112,12 +110,18 @@
$ zypper install yank
```
-### macOS
+### macOS via Homebrew
```sh
$ brew install yank
```
+### macOS via MacPorts
+
+```sh
+$ sudo port install yank
+```
+
### FreeBSD
```sh
@@ -154,7 +158,7 @@
## License
-Copyright (c) 2018 Anton Lindqvist.
+Copyright (c) 2015-2022 Anton Lindqvist.
Distributed under the MIT license.
[xsel]: http://www.vergenet.net/~conrad/software/xsel/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yank-1.2.0/yank.1 new/yank-1.3.0/yank.1
--- old/yank-1.2.0/yank.1 2019-08-12 10:27:17.000000000 +0200
+++ new/yank-1.3.0/yank.1 2022-06-18 08:25:45.000000000 +0200
@@ -6,7 +6,7 @@
.Nd yank terminal output to clipboard
.Sh SYNOPSIS
.Nm
-.Op Fl ilxv
+.Op Fl 1ilxv
.Op Fl d Ar delim
.Op Fl g Ar pattern
.Op Fl - Ar command Op Ar argument ...
@@ -39,6 +39,10 @@
.Pp
The options are as follows:
.Bl -tag -width Ds
+.It Fl 1
+If only one field is recognized, select it and invoke
+.Ar command
+without displaying the selection interface.
.It Fl d Ar delim
All input characters not present in
.Ar delim
@@ -131,7 +135,7 @@
Yank the selected field to the clipboard as opposed of the default primary
clipboard:
.Pp
-.Dl $ yank -- xsel -b
+.Dl $ yank \(em xsel -b
.Sh DIAGNOSTICS
.Ex -std
.Sh SEE ALSO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yank-1.2.0/yank.c new/yank-1.3.0/yank.c
--- old/yank-1.2.0/yank.c 2019-08-12 10:27:17.000000000 +0200
+++ new/yank-1.3.0/yank.c 2022-06-18 08:25:45.000000000 +0200
@@ -49,14 +49,14 @@
static char **yankargv;
static struct {
- size_t nmemb;
- size_t size;
- struct field *v;
+ size_t nmemb;
+ size_t size;
+ struct field *v;
} f;
static struct {
- size_t size;
- size_t nmemb;
+ size_t size;
+ size_t nmemb;
char *v;
} in;
@@ -70,7 +70,7 @@
static void
input(void)
{
- int n;
+ int n;
in.size = BUFSIZ;
if ((in.v = malloc(in.size)) == NULL)
@@ -97,10 +97,10 @@
static char *
strtopat(const char *s)
{
- const char *fmt = "[^%s\f\n\r\t]+";
- char *pat;
- size_t len;
- int n;
+ const char *fmt = "[^%s\f\n\r\t]+";
+ char *pat;
+ size_t len;
+ int n;
len = strlen(s) + strlen(fmt) + 1;
if ((pat = malloc(len)) == NULL)
@@ -120,7 +120,7 @@
static int
fcmp(const struct field *f1, const struct field *f2)
{
- size_t s1, s2, e1, e2;
+ size_t e1, e2, s1, s2;
s1 = f1->so - f1->lo, e1 = f1->eo - f1->lo;
s2 = f2->so - f2->lo, e2 = f2->eo - f2->lo;
@@ -131,8 +131,8 @@
static ssize_t
xwrite(int fd, const char *s, size_t nmemb)
{
- ssize_t r;
- size_t n;
+ ssize_t r;
+ size_t n;
n = nmemb;
do {
@@ -149,9 +149,9 @@
static void
yank(const char *s, size_t nmemb)
{
- int fd[2];
- int status;
- pid_t pid;
+ int fd[2];
+ int status;
+ pid_t pid;
if (!isatty(1)) {
if (xwrite(1, s, nmemb) == -1)
@@ -198,7 +198,7 @@
static void
tputs(const char *s)
{
- size_t n;
+ size_t n;
n = strlen(s);
twrite(s, n);
@@ -207,12 +207,12 @@
static void
tsetup(void)
{
- struct termios attr;
- struct winsize ws;
- regmatch_t r;
- char *s, *e;
- size_t m, n, w;
- unsigned int i, j;
+ struct termios attr;
+ struct winsize ws;
+ regmatch_t r;
+ char *e, *s;
+ size_t m, n, w;
+ unsigned int i, j;
if ((tty.rfd = open("/dev/tty", O_RDONLY)) == -1)
err(1, "/dev/tty");
@@ -253,8 +253,8 @@
}
f.nmemb = MIN(f.nmemb, j);
/* Ensure last field does not exceed the terminal width. */
- if (n > 0 && f.nmemb > 0
- && f.v[f.nmemb - 1].eo - f.v[f.nmemb - 1].lo >= ws.ws_col)
+ if (n > 0 && f.nmemb > 0 &&
+ f.v[f.nmemb - 1].eo - f.v[f.nmemb - 1].lo >= ws.ws_col)
f.v[f.nmemb - 1].eo = f.v[f.nmemb - 1].lo + ws.ws_col - 1;
/* Number of bytes to output. */
f.v[f.nmemb].lo = MAX(s - in.v - 1, 0);
@@ -296,8 +296,8 @@
{
static struct {
const char *s;
- int c;
- } keys[] = {
+ int c;
+ } keys[] = {
{ "\n", KEY_ENTER },
{ "\001", KEY_HOME }, /* Ctrl-A */
{ "\003", KEY_TERM }, /* Ctrl-C */
@@ -317,9 +317,9 @@
{ "\033[D", KEY_LEFT },
{ NULL, 0 },
};
- char buf[4];
- ssize_t n;
- int i;
+ char buf[4];
+ ssize_t n;
+ int i;
n = read(tty.rfd, buf, sizeof(buf) - 1);
if (n == -1)
@@ -338,8 +338,8 @@
static const struct field *
tmain(void)
{
- size_t n;
- int c, i, j, k;
+ size_t n;
+ int c, i, j, k;
i = j = 0;
n = f.v[f.nmemb].lo;
@@ -376,24 +376,25 @@
j = i - 1;
break;
case KEY_DOWN:
- j = i;
- while (j < (ssize_t)f.nmemb && f.v[i].lo == f.v[j].lo)
- j++;
- if (j == (ssize_t)f.nmemb)
- break;
- /* FALLTHROUGH */
- if (0) {
case KEY_UP:
- k = i;
- while (k && f.v[i].lo == f.v[k].lo)
- k--;
- j = k;
- while (j && f.v[j - 1].lo == f.v[k].lo)
- j--;
- }
- for (; fcmp(&f.v[i], &f.v[j]) < 0
- && f.v[j].lo == f.v[j + 1].lo; j++)
- /* NOP */;
+ if (c == KEY_DOWN) {
+ j = i;
+ while (j < (ssize_t)f.nmemb &&
+ f.v[i].lo == f.v[j].lo)
+ j++;
+ if (j == (ssize_t)f.nmemb)
+ break;
+ } else {
+ k = i;
+ while (k && f.v[i].lo == f.v[k].lo)
+ k--;
+ j = k;
+ while (j && f.v[j - 1].lo == f.v[k].lo)
+ j--;
+ }
+ for (; fcmp(&f.v[i], &f.v[j]) < 0 &&
+ f.v[j].lo == f.v[j + 1].lo; j++)
+ continue;
break;
}
if (j >= 0 && j < (ssize_t)f.nmemb)
@@ -404,7 +405,7 @@
static void
usage(void)
{
- fprintf(stderr, "usage: yank [-ilxv] [-d delim] [-g pattern] "
+ fprintf(stderr, "usage: yank [-1ilxv] [-d delim] [-g pattern] "
"[-- command [args]]\n");
exit(2);
}
@@ -412,9 +413,11 @@
int
main(int argc, char *argv[])
{
- const struct field *field;
- char *pat;
- int c, i, rflags = REG_EXTENDED;
+ const struct field *field;
+ char *pat;
+ int one = 0;
+ int rflags = REG_EXTENDED;
+ int c, i;
setlocale(LC_CTYPE, "");
@@ -424,8 +427,11 @@
#endif
pat = strtopat(" ");
- while ((c = getopt(argc, argv, "ilvxd:g:")) != -1)
+ while ((c = getopt(argc, argv, "1ilvxd:g:")) != -1)
switch (c) {
+ case '1':
+ one = 1;
+ break;
case 'd':
free(pat);
pat = strtopat(optarg);
@@ -467,7 +473,10 @@
input();
tsetup();
- field = tmain();
+ if (one && f.nmemb == 1)
+ field = &f.v[0];
+ else
+ field = tmain();
tend();
if (field == NULL)
return 1;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package bat for openSUSE:Factory checked in at 2022-12-01 17:21:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bat (Old)
and /work/SRC/openSUSE:Factory/.bat.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bat"
Thu Dec 1 17:21:14 2022 rev:18 rq:1039254 version:0.22.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/bat/bat.changes 2022-10-14 15:44:03.236070152 +0200
+++ /work/SRC/openSUSE:Factory/.bat.new.1835/bat.changes 2022-12-01 17:22:08.206533019 +0100
@@ -1,0 +2,6 @@
+Wed Nov 30 22:20:13 UTC 2022 - Filippo Bonazzi <filippo.bonazzi(a)suse.com>
+
+- Add shell completion packages
+- Install manpage
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bat.spec ++++++
--- /var/tmp/diff_new_pack.31RMo8/_old 2022-12-01 17:22:09.946542534 +0100
+++ /var/tmp/diff_new_pack.31RMo8/_new 2022-12-01 17:22:09.950542556 +0100
@@ -36,6 +36,33 @@
A cat(1) clone which supports syntax highlighting for a large number of
programming and markup languages. It has git integration and automatic paging.
+%package bash-completion
+Summary: Bash completion for %{name}
+Requires: %{name} = %{version}
+Supplements: (%{name} and bash-completion)
+BuildArch: noarch
+
+%description bash-completion
+Bash command line completion support for %{name}.
+
+%package fish-completion
+Summary: Fish completion for %{name}
+Requires: %{name} = %{version}
+Supplements: (%{name} and fish)
+BuildArch: noarch
+
+%description fish-completion
+Fish command line completion support for %{name}.
+
+%package zsh-completion
+Summary: Zsh completion for %{name}
+Requires: %{name} = %{version}
+Supplements: (%{name} and zsh)
+BuildArch: noarch
+
+%description zsh-completion
+Zsh command line completion support for %{name}.
+
%prep
%setup -qa1
mkdir .cargo
@@ -47,6 +74,12 @@
%install
install -D -m 0755 target/release/%{name} %{buildroot}%{_bindir}/%{name}
+install -D -m 0644 $(find target/release/build -name "%{name}.1") "%{buildroot}/%{_mandir}/man1/%{name}.1"
+
+install -D -m 0644 $(find target/release/build -name "%{name}.bash") "%{buildroot}/%{_datadir}/bash-completion/completions/%{name}"
+install -D -m 0644 $(find target/release/build -name "%{name}.fish") "%{buildroot}/%{_datadir}/fish/vendor_completions.d/%{name}.fish"
+install -D -m 0644 $(find target/release/build -name "%{name}.zsh") "%{buildroot}/%{_datadir}/zsh/site-functions/_%{name}"
+
%if %{with check}
%check
%{cargo_test}
@@ -56,5 +89,19 @@
%doc README.md CONTRIBUTING.md CHANGELOG.md
%license LICENSE-MIT LICENSE-APACHE
%{_bindir}/%{name}
+%{_mandir}/man1/%{name}.1%{ext_man}
+
+%files bash-completion
+%{_datadir}/bash-completion/completions/%{name}
+
+%files fish-completion
+%dir %{_datadir}/fish
+%dir %{_datadir}/fish/vendor_completions.d
+%{_datadir}/fish/vendor_completions.d/%{name}.fish
+
+%files zsh-completion
+%dir %{_datadir}/zsh
+%dir %{_datadir}/zsh/site-functions
+%{_datadir}/zsh/site-functions/_%{name}
%changelog
++++++ vendor.tar.xz ++++++
/work/SRC/openSUSE:Factory/bat/vendor.tar.xz /work/SRC/openSUSE:Factory/.bat.new.1835/vendor.tar.xz differ: char 26, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package exa for openSUSE:Factory checked in at 2022-12-01 17:21:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/exa (Old)
and /work/SRC/openSUSE:Factory/.exa.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "exa"
Thu Dec 1 17:21:13 2022 rev:9 rq:1039255 version:0.10.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/exa/exa.changes 2021-08-23 10:08:54.816194360 +0200
+++ /work/SRC/openSUSE:Factory/.exa.new.1835/exa.changes 2022-12-01 17:22:07.526529301 +0100
@@ -1,0 +2,5 @@
+Wed Nov 30 22:26:27 UTC 2022 - Filippo Bonazzi <filippo.bonazzi(a)suse.com>
+
+- Install ZSH shell completion to /usr/share/zsh/site-functions/
+
+-------------------------------------------------------------------
New:
----
_service
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ exa.spec ++++++
--- /var/tmp/diff_new_pack.vV3FGV/_old 2022-12-01 17:22:08.022532013 +0100
+++ /var/tmp/diff_new_pack.vV3FGV/_new 2022-12-01 17:22:08.026532035 +0100
@@ -1,7 +1,7 @@
#
# spec file for package exa
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -101,9 +101,8 @@
pandoc --standalone -f markdown -t man man/exa_colors.5.md > %{buildroot}%{_mandir}/man5/exa_colors.5
# Completion files
-install -Dm0644 completions/completions.bash \
- %{buildroot}%{_datarootdir}/bash-completion/completions/%{name}
-install -Dm0644 completions/completions.zsh "%{buildroot}%{_sysconfdir}/zsh_completion.d/%{name}"
+install -Dm0644 completions/completions.bash "%{buildroot}%{_datadir}/bash-completion/completions/%{name}"
+install -Dm0644 completions/completions.zsh "%{buildroot}%{_datadir}/zsh/site-functions/_%{name}"
install -Dm0644 completions/completions.fish "%{buildroot}/%{_datadir}/fish/vendor_completions.d/%{name}.fish"
%files
@@ -114,10 +113,10 @@
%{_mandir}/man5/exa_colors.5%{ext_man}
%files bash-completion
-%{_datarootdir}/bash-completion/completions/%{name}
+%{_datadir}/bash-completion/completions/%{name}
%files zsh-completion
-%{_sysconfdir}/zsh_completion.d/%{name}
+%{_datadir}/zsh/site-functions/_%{name}
%files fish-completion
%{_datadir}/fish/vendor_completions.d/%{name}.fish
++++++ _service ++++++
<services>
<service name="cargo_audit" mode="disabled">
</service>
</services>
1
0