Compare commits
No commits in common. "rawhide" and "f36" have entirely different histories.
5 changed files with 378 additions and 46 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -7,5 +7,3 @@
|
|||
/ydotool-0.2.0.tar.gz
|
||||
/ydotool-1.0.0.tar.gz
|
||||
/ydotool-1.0.1.tar.gz
|
||||
/ydotool-1.0.3.tar.gz
|
||||
/ydotool-1.0.4.tar.gz
|
||||
|
|
|
|||
118
portable_endian.h
Normal file
118
portable_endian.h
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
// "License": Public Domain
|
||||
// I, Mathias Panzenböck, place this file hereby into the public domain. Use it at your own risk for whatever you like.
|
||||
// In case there are jurisdictions that don't support putting things in the public domain you can also consider it to
|
||||
// be "dual licensed" under the BSD, MIT and Apache licenses, if you want to. This code is trivial anyway. Consider it
|
||||
// an example on how to get the endian conversion functions on different platforms.
|
||||
|
||||
#ifndef PORTABLE_ENDIAN_H__
|
||||
#define PORTABLE_ENDIAN_H__
|
||||
|
||||
#if (defined(_WIN16) || defined(_WIN32) || defined(_WIN64)) && !defined(__WINDOWS__)
|
||||
|
||||
# define __WINDOWS__
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(__linux__) || defined(__CYGWIN__)
|
||||
|
||||
# include <endian.h>
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
|
||||
# include <libkern/OSByteOrder.h>
|
||||
|
||||
# define htobe16(x) OSSwapHostToBigInt16(x)
|
||||
# define htole16(x) OSSwapHostToLittleInt16(x)
|
||||
# define be16toh(x) OSSwapBigToHostInt16(x)
|
||||
# define le16toh(x) OSSwapLittleToHostInt16(x)
|
||||
|
||||
# define htobe32(x) OSSwapHostToBigInt32(x)
|
||||
# define htole32(x) OSSwapHostToLittleInt32(x)
|
||||
# define be32toh(x) OSSwapBigToHostInt32(x)
|
||||
# define le32toh(x) OSSwapLittleToHostInt32(x)
|
||||
|
||||
# define htobe64(x) OSSwapHostToBigInt64(x)
|
||||
# define htole64(x) OSSwapHostToLittleInt64(x)
|
||||
# define be64toh(x) OSSwapBigToHostInt64(x)
|
||||
# define le64toh(x) OSSwapLittleToHostInt64(x)
|
||||
|
||||
# define __BYTE_ORDER BYTE_ORDER
|
||||
# define __BIG_ENDIAN BIG_ENDIAN
|
||||
# define __LITTLE_ENDIAN LITTLE_ENDIAN
|
||||
# define __PDP_ENDIAN PDP_ENDIAN
|
||||
|
||||
#elif defined(__OpenBSD__)
|
||||
|
||||
# include <sys/endian.h>
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
|
||||
# include <sys/endian.h>
|
||||
|
||||
# define be16toh(x) betoh16(x)
|
||||
# define le16toh(x) letoh16(x)
|
||||
|
||||
# define be32toh(x) betoh32(x)
|
||||
# define le32toh(x) letoh32(x)
|
||||
|
||||
# define be64toh(x) betoh64(x)
|
||||
# define le64toh(x) letoh64(x)
|
||||
|
||||
#elif defined(__WINDOWS__)
|
||||
|
||||
# include <winsock2.h>
|
||||
# include <sys/param.h>
|
||||
|
||||
# if BYTE_ORDER == LITTLE_ENDIAN
|
||||
|
||||
# define htobe16(x) htons(x)
|
||||
# define htole16(x) (x)
|
||||
# define be16toh(x) ntohs(x)
|
||||
# define le16toh(x) (x)
|
||||
|
||||
# define htobe32(x) htonl(x)
|
||||
# define htole32(x) (x)
|
||||
# define be32toh(x) ntohl(x)
|
||||
# define le32toh(x) (x)
|
||||
|
||||
# define htobe64(x) htonll(x)
|
||||
# define htole64(x) (x)
|
||||
# define be64toh(x) ntohll(x)
|
||||
# define le64toh(x) (x)
|
||||
|
||||
# elif BYTE_ORDER == BIG_ENDIAN
|
||||
|
||||
/* that would be xbox 360 */
|
||||
# define htobe16(x) (x)
|
||||
# define htole16(x) __builtin_bswap16(x)
|
||||
# define be16toh(x) (x)
|
||||
# define le16toh(x) __builtin_bswap16(x)
|
||||
|
||||
# define htobe32(x) (x)
|
||||
# define htole32(x) __builtin_bswap32(x)
|
||||
# define be32toh(x) (x)
|
||||
# define le32toh(x) __builtin_bswap32(x)
|
||||
|
||||
# define htobe64(x) (x)
|
||||
# define htole64(x) __builtin_bswap64(x)
|
||||
# define be64toh(x) (x)
|
||||
# define le64toh(x) __builtin_bswap64(x)
|
||||
|
||||
# else
|
||||
|
||||
# error byte order not supported
|
||||
|
||||
# endif
|
||||
|
||||
# define __BYTE_ORDER BYTE_ORDER
|
||||
# define __BIG_ENDIAN BIG_ENDIAN
|
||||
# define __LITTLE_ENDIAN LITTLE_ENDIAN
|
||||
# define __PDP_ENDIAN PDP_ENDIAN
|
||||
|
||||
#else
|
||||
|
||||
# error platform not supported
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
7
sources
7
sources
|
|
@ -1 +1,6 @@
|
|||
SHA512 (ydotool-1.0.4.tar.gz) = bbf66d752aa1dce9173c930e3a71bc277b330763b1aa0e38f9fec1976c282c64330251ba5abe222a991f4bcafbabf1312a940eb4b40a34bf99f628c2a41bc4a2
|
||||
SHA512 (cpm.cmake-0.27.5.tar.gz) = ef3a8dac77c189f0e612acc714e27464a075b86ba3454fe3410ab043a221d0a11ccd4654b9b1d3f4b33fc7a0f0fd64a1e30322a0552e3fc13528e33b82f1b350
|
||||
SHA512 (cxxopts-2d8e17c4f88efce80e274cb03eeb902e055a91d3.tar.gz) = ff26b941bdbae999b0d476f62d4a3c0c66aee2f1dac7bd4c1e05380532fbf93b462a2355d809a89eddb2d52aa8a6c7c31625a7fa442deca494e3358fa95ea009
|
||||
SHA512 (iodash-0.1.0.tar.gz) = 3ef05b5d909276c2e1be4619d0b075fcf001b5577939234f4952dd43b81f8806089d6e5d20dbe04743e3bd0c586f659709814cd0a4eb6938ebec4f727ff617ac
|
||||
SHA512 (libevdevPlus-0.2.1.tar.gz) = 2cf4725c491631f25263d27d07722e85ddd2c4489426fd3842c75ca84e697765003083262b565d85d232f178684fae52f0f2ca3d5c89a3c0d1655d9f08a8d3d3
|
||||
SHA512 (libuInputPlus-0.2.1.tar.gz) = aeaa23c4b5631ddc0c9a54507d4cecb38d8b792015aa636d37bab3dbc3fa1229a6a02297d4c7c0d922fa512c3e3a8429b32a2432f06e1ceaeed1a91c857731cd
|
||||
SHA512 (ydotool-1.0.1.tar.gz) = 4a9eede564b0e1cc706b12d75daadae79b9de7ba6a8165928b97fd54969fa874cb1be3e32ad706337808a94630cfbeb2e82a34cbe5682aa7549ce6ae726d744d
|
||||
|
|
|
|||
194
ydotool-man-page.patch
Normal file
194
ydotool-man-page.patch
Normal file
|
|
@ -0,0 +1,194 @@
|
|||
diff -Nur ydotool-1.0.1-orig/manpage/ydotool.1.scd ydotool-1.0.1/manpage/ydotool.1.scd
|
||||
--- ydotool-1.0.1-orig/manpage/ydotool.1.scd 2022-02-16 19:38:49.000000000 +1000
|
||||
+++ ydotool-1.0.1/manpage/ydotool.1.scd 2022-03-21 14:46:37.916103638 +1000
|
||||
@@ -1,12 +1,11 @@
|
||||
YDOTOOL(1)
|
||||
-
|
||||
# NAME
|
||||
|
||||
ydotool - command-line _/dev/uinput_ automation tool
|
||||
|
||||
# SYNOPSIS
|
||||
|
||||
-*ydotool* *cmd* _args_ [ , *cmd* _args_ ... ]
|
||||
+*ydotool* *cmd* _args_
|
||||
|
||||
*ydotool* *cmd* --help
|
||||
|
||||
@@ -14,8 +13,6 @@
|
||||
|
||||
*ydotool* lets you programmatically (or manually) simulate keyboard input and mouse activity, etc. It does this by writing directly to _/dev/uinput_ so it generally needs to run as root.
|
||||
|
||||
-It's possible to chain multiple commands together, separated by a comma between two spaces.
|
||||
-
|
||||
Currently implemented command(s):
|
||||
|
||||
*type*
|
||||
@@ -26,67 +23,37 @@
|
||||
Move mouse pointer to absolute position
|
||||
*click*
|
||||
Click on mouse buttons
|
||||
-*recorder*
|
||||
- Record/replay input events
|
||||
-*sleep*
|
||||
- sleep for a while
|
||||
|
||||
# KEYBOARD COMMANDS
|
||||
-*key* [*--up*] [*--down*] [*--next-delay* _<ms>_] [*--key-delay* _<ms>_] [*--repeat* _<times>_] [*--repeat-delay <ms>*] _<key sequence>_
|
||||
+*key* [*-d*,*--key-delay* _<ms>_] [_<KEYCODE:PRESSED>_ ...]
|
||||
|
||||
- Type a given keystroke. Examples being "alt+r", "ctrl+J",
|
||||
- "ctrl+alt+n", "backspace".
|
||||
+ Type a given keycode.
|
||||
+
|
||||
+ e.g. 28:1 28:0 means pressing on the Enter button on a standard US keyboard.
|
||||
|
||||
- Options:
|
||||
+ 42:1 38:1 38:0 24:1 24:0 38:1 38:0 42:0 - "LOL"
|
||||
|
||||
- *--up*
|
||||
- Only keyup
|
||||
-
|
||||
- *--down*
|
||||
- Only keydown
|
||||
+ Non-interpretable values, such as 0, aaa, l0l, will only cause a delay.
|
||||
|
||||
- *--delay* _<ms>_
|
||||
- Delay before starting to output keystrokes. Default 100ms.
|
||||
+ See `/usr/include/linux/input-event-codes.h' for available key codes (KEY_\*).
|
||||
|
||||
- *--key-delay* _<ms>_
|
||||
+ Options:
|
||||
+ *-d*,*--key-delay* _<ms>_
|
||||
Delay time between keystrokes. Default 12ms.
|
||||
|
||||
- *--repeat* _<times>_
|
||||
- Times to repeat the key sequence.
|
||||
-
|
||||
- *--repeat-delay* _<ms>_
|
||||
- Delay time between repetitions. Default 0ms.
|
||||
-
|
||||
- Generally, any valid name from _/usr/include/linux/input-event-codes.h_ will work. Multiple keys are separated by '+'.
|
||||
-
|
||||
- Each key sequence can be any number of modifiers and keys, separated by plus (+)
|
||||
-
|
||||
- For example: alt+r Alt+F4 CTRL+alt+f3 aLT+1+2+3 ctrl+Backspace
|
||||
-
|
||||
- Since we are emulating keyboard input, combinations like Shift+# is invalid because typing a `#' involves pressing Shift and 3.
|
||||
-
|
||||
- Example: Switch to tty1:
|
||||
- ydotool key ctrl+alt+f1
|
||||
-
|
||||
- Example: Close a window in graphical environment:
|
||||
- ydotool key Alt+F4
|
||||
-
|
||||
-*type* [*--next-delay* _<ms>_] [*--key-delay* _<ms>_] [*--texts* _arg_] [*--file* _<filepath>_] "_texts_"
|
||||
+*type* [*-D*,*--next-delay* _<ms>_] [*-d*,*--key-delay* _<ms>_] [*-f*,*--file* _<filepath>_] "_text_"
|
||||
|
||||
Types text as if you had typed it on the keyboard.
|
||||
|
||||
Options:
|
||||
|
||||
- *--next-delay* _<ms>_
|
||||
- Delay before starting typing. Default 100ms.
|
||||
+ *-d*,*--key-delay* _<ms>_
|
||||
+ Delay time between key events (up/down each). Default 12ms.
|
||||
|
||||
- *--key-delay* _<ms>_
|
||||
- Delay time between keystrokes. Default 12ms.
|
||||
-
|
||||
- *--texts* _arg_
|
||||
- Texts to type
|
||||
+ *-D*,*--next-delay* _<ms>_
|
||||
+ Delay between strings. Default 0ms.
|
||||
|
||||
- *--file* _<filepath>_
|
||||
+ *-f*,*--file* _<filepath>_
|
||||
Specify a file, the contents of which will be typed as if passed as an argument. The filepath may also be '-' to read from stdin.
|
||||
|
||||
Example: to type 'Hello world!' you would do:
|
||||
@@ -94,8 +61,8 @@
|
||||
|
||||
# MOUSE COMMANDS
|
||||
|
||||
-*mousemove* _<x> <y>_
|
||||
- Move the mouse to the specific relative X and Y coordinates on the screen.
|
||||
+*mousemove* [*-a*,*--absolute*] _<x> <y>_
|
||||
+ Move the mouse to the relative X and Y coordinates on the screen.
|
||||
|
||||
Options:
|
||||
*--absolute*
|
||||
@@ -104,47 +71,38 @@
|
||||
Example: to move the cursor to absolute coordinates (100,100):
|
||||
ydotool mousemove --absolute 100 100
|
||||
|
||||
-*click* [*--next-delay* _<ms>_] _button_
|
||||
- Send a click. Buttons are: _left_, _right_ or _middle_
|
||||
-
|
||||
- Options:
|
||||
-
|
||||
- *--next-delay* _<ms>_
|
||||
- Delay before click. Default 100ms.
|
||||
-
|
||||
- *--up*
|
||||
- Only mouseup
|
||||
-
|
||||
- *--down*
|
||||
- Only mousedown
|
||||
-
|
||||
- *--buttons* _<arg>_
|
||||
- Buttons to press (left, right, middle)
|
||||
-
|
||||
- Example: Mouse middle click:
|
||||
- ydotool click middle
|
||||
-
|
||||
-*recorder* [*--record* _<devices>_] [*--replay* _<input files>_] [*--display*] [*--duration* _<ms>_] [*--devices* _<path>_] [*--file* _<path>_]
|
||||
+*click* [*-d*,*--next-delay* _<ms>_] [*-r*,*--repeat* _N_ ] [_button_ ...]
|
||||
+ Send a click.
|
||||
|
||||
Options:
|
||||
+ *-d*,*--next-delay* _<ms>_
|
||||
+ Delay between input events (up/down, a compete click means doubled time). Default 25ms.
|
||||
|
||||
- *--record* _<devices>_
|
||||
- Devices to record from. Default is all, including non-keyboard devices.
|
||||
-
|
||||
- *--replay* _<input files>_
|
||||
- The record file can't be replayed on an architecture with different endianness.
|
||||
-
|
||||
- *--display*
|
||||
- Display
|
||||
+ *-r*,*--repeat* _N_
|
||||
+ Repeat entire sequence N times
|
||||
|
||||
- *--duration* _<ms>_
|
||||
- Record duration. Otherwise use SIGINT to stop recording.
|
||||
+ all mouse buttons are represented using hexadecimal numeric values, with an optional
|
||||
+ bit mask to specify if mouse up/down needs to be omitted.
|
||||
|
||||
- *--devices* _<path>_
|
||||
- Devices, separated by comma, to record from. Default is all devices (default: "")
|
||||
+ - 0x00 - LEFT
|
||||
+ - 0x01 - RIGHT
|
||||
+ - 0x02 - MIDDLE
|
||||
+ - 0x03 - SIDE
|
||||
+ - 0x04 - EXTR
|
||||
+ - 0x05 - FORWARD
|
||||
+ - 0x06 - BACK
|
||||
+ - 0x07 - TASK
|
||||
+ - 0x40 - Mouse down
|
||||
+ - 0x80 - Mouse up
|
||||
+
|
||||
+ Examples:
|
||||
+
|
||||
+ - 0x00: chooses left button, but does nothing (you can use this to implement extra sleeps)
|
||||
+ - 0xC0: left button click (down then up)
|
||||
+ - 0x41: right button down
|
||||
+ - 0x82: middle button up
|
||||
|
||||
- *--file* _<path>_
|
||||
- File to record to / replay from
|
||||
+ The '0x' prefix can be omitted if you want.
|
||||
|
||||
# AUTHOR
|
||||
|
||||
103
ydotool.spec
103
ydotool.spec
|
|
@ -2,20 +2,39 @@
|
|||
|
||||
%undefine __cmake_in_source_build
|
||||
|
||||
%global github_url https://github.com
|
||||
%global iodash_name IODash
|
||||
%global iodash_version 0.1.0
|
||||
%global libevdevplus_name libevdevPlus
|
||||
%global libevdevplus_version 0.2.1
|
||||
%global libuinputplus_name libuInputPlus
|
||||
%global libuinputplus_version 0.2.1
|
||||
%global cxxopts_name cxxopts
|
||||
%global cxxopts_version 3.0.0
|
||||
%global cxxopts_commit 2d8e17c4f88efce80e274cb03eeb902e055a91d3
|
||||
%global cpm_cmake_name cpm.cmake
|
||||
%global cpm_cmake_version 0.27.5
|
||||
%global debug_package %{nil}
|
||||
|
||||
Name: ydotool
|
||||
Version: 1.0.4
|
||||
Release: 9%{?dist}
|
||||
Version: 1.0.1
|
||||
Release: 2%{?dist}
|
||||
Summary: Generic command-line automation tool (no X!)
|
||||
# Automatically converted from old format: AGPLv3
|
||||
License: AGPL-3.0-only
|
||||
URL: https://github.com/ReimuNotMoe/%{name}
|
||||
License: AGPLv3, Public Domain
|
||||
URL: %github_url/ReimuNotMoe/%{name}
|
||||
|
||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
Source1: %{github_url}/YukiWorkshop/%{iodash_name}/archive/v%{iodash_version}/%(c=%{iodash_name}; echo ${c,,})-%{iodash_version}.tar.gz
|
||||
Source2: %{github_url}/YukiWorkshop/%{libevdevplus_name}/archive/v%{libevdevplus_version}/%{libevdevplus_name}-%{libevdevplus_version}.tar.gz
|
||||
Source3: %{github_url}/YukiWorkshop/%{libuinputplus_name}/archive/v%{libuinputplus_version}/%{libuinputplus_name}-%{libuinputplus_version}.tar.gz
|
||||
Source4: %{github_url}/jarro2783/%{cxxopts_name}/archive/%{cxxopts_commit}/%{cxxopts_name}-%{cxxopts_commit}.tar.gz
|
||||
Source5: %{github_url}/TheLartians/%{cpm_cmake_name}/archive/v%{cpm_cmake_version}/%{cpm_cmake_name}-%{cpm_cmake_version}.tar.gz
|
||||
Source6: https://gist.githubusercontent.com/panzi/6856583/raw/1eca2ab34f2301b9641aa73d1016b951fff3fc39/portable_endian.h
|
||||
|
||||
Patch1: ydotool-man-page.patch
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: make
|
||||
BuildRequires: scdoc
|
||||
BuildRequires: systemd-rpm-macros
|
||||
|
|
@ -25,6 +44,24 @@ BuildRequires: systemd-rpm-macros
|
|||
Performs some of the functions of xdotool(1) without requiring X11 -
|
||||
however, it generally requires root permission (to open /dev/uinput)
|
||||
|
||||
NOTE: changes in this release:
|
||||
NOTE: --delay option is now --next-delay
|
||||
NOTE: mousemove is now relative unless --absolute is given
|
||||
NOTE: mouseup, mousedown, mousemove_relative is removed
|
||||
NOTE: click accepts left, right, middle instead of 1, 2, 3
|
||||
NOTE: sleep is a new command
|
||||
|
||||
SEE: ydotool <cmd> --help for latest info
|
||||
|
||||
Currently implemented command(s):
|
||||
|
||||
- type - Type a string
|
||||
- key - Press keys
|
||||
- mousemove - Move mouse pointer to absolute position
|
||||
- click - Click on mouse buttons
|
||||
- recorder - Record/replay input events
|
||||
- sleep - sleep ms
|
||||
|
||||
N.B. it is strongly recommended to start the ydotoold daemon with:
|
||||
|
||||
- systemctl enable ydotool
|
||||
|
|
@ -32,9 +69,25 @@ N.B. it is strongly recommended to start the ydotoold daemon with:
|
|||
|
||||
%prep
|
||||
%setup -q
|
||||
gzip -dc %{S:1} | tar xf -
|
||||
gzip -dc %{S:2} | tar xf -
|
||||
gzip -dc %{S:3} | tar xf -
|
||||
gzip -dc %{S:4} | tar xf -
|
||||
gzip -dc %{S:5} | tar xf -
|
||||
|
||||
%patch1 -p1
|
||||
|
||||
# this is missing from IODash - I have logged a bug report upstream
|
||||
# https://github.com/YukiWorkshop/IODash/issues/1
|
||||
# it is licenced 'public domain':
|
||||
cp %{S:6} %{iodash_name}-%{iodash_version}/portable-endian.h
|
||||
|
||||
%build
|
||||
%cmake -DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
%cmake -DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
-DCPM_%{iodash_name}_SOURCE=$PWD/%{iodash_name}-%{iodash_version} \
|
||||
-DCPM_%{libevdevplus_name}_SOURCE=$PWD/%{libevdevplus_name}-%{libevdevplus_version} \
|
||||
-DCPM_%{libuinputplus_name}_SOURCE=$PWD/%{libuinputplus_name}-%{libuinputplus_version} \
|
||||
-DCPM_%{cxxopts_name}_SOURCE=$PWD/%{cxxopts_name}-%{cxxopts_commit}
|
||||
|
||||
make -C %{_vpath_builddir} -j `nproc`
|
||||
|
||||
|
|
@ -69,42 +122,6 @@ scdoc < manpage/%{name}d.8.scd > %{buildroot}/%{_mandir}/man8/%{name}d.8
|
|||
%{_mandir}/man8/%{name}d.8.*
|
||||
|
||||
%changelog
|
||||
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
||||
|
||||
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Wed Jul 17 2024 Miroslav Suchý <msuchy@redhat.com> - 1.0.4-4
|
||||
- convert license to SPDX
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jan 31 2023 Bob Hepple <bob.hepple@gmail.com> - 1.0.4-1
|
||||
- new version
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Thu Jan 12 2023 Bob Hepple <bob.hepple@gmail.com> - 1.0.3-1
|
||||
- new version
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Mon Mar 21 2022 Bob Hepple <bob.hepple@gmail.com> - 1.0.1-2
|
||||
- added new manual (also pushed upstream)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue