diff --git a/.github/packaging/specs-completion.bash b/.github/packaging/specs-completion.bash new file mode 100644 index 0000000..b8a4a84 --- /dev/null +++ b/.github/packaging/specs-completion.bash @@ -0,0 +1,2 @@ +# bash completion for specs, provided by the specs-autocomplete helper. +complete -o bashdefault -o default -o nospace -C specs-autocomplete specs diff --git a/.github/packaging/specs.spec.in b/.github/packaging/specs.spec.in index 1d64242..4577ea1 100644 --- a/.github/packaging/specs.spec.in +++ b/.github/packaging/specs.spec.in @@ -21,9 +21,11 @@ multiple lines into single lines or vice versa. mkdir -p %{buildroot}/usr/local/bin mkdir -p %{buildroot}/usr/share/specs mkdir -p %{buildroot}/usr/lib/specs +mkdir -p %{buildroot}/etc/bash_completion.d install -m 755 specs %{buildroot}/usr/local/bin/specs install -m 755 specs-autocomplete %{buildroot}/usr/local/bin/specs-autocomplete install -m 644 specs.1.gz %{buildroot}/usr/share/specs/specs.1.gz +install -m 644 specs-completion.bash %{buildroot}/etc/bash_completion.d/specs cp -r python %{buildroot}/usr/lib/specs/ %post @@ -91,4 +93,5 @@ fi /usr/local/bin/specs /usr/local/bin/specs-autocomplete /usr/share/specs/specs.1.gz +/etc/bash_completion.d/specs /usr/lib/specs/python diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f8697d4..58c2e0f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -78,6 +78,7 @@ jobs: cp specs/exe/specs rpmbuild/SOURCES/specs-${SPECS_VERSION#v}/ cp specs/exe/specs-autocomplete rpmbuild/SOURCES/specs-${SPECS_VERSION#v}/ cp specs.1.gz rpmbuild/SOURCES/specs-${SPECS_VERSION#v}/ + cp .github/packaging/specs-completion.bash rpmbuild/SOURCES/specs-${SPECS_VERSION#v}/ - name: Bundle Python stdlib for RPM run: | @@ -405,12 +406,14 @@ jobs: mkdir -p deb-root/usr/local/bin mkdir -p deb-root/usr/share/specs mkdir -p deb-root/usr/lib/specs + mkdir -p deb-root/etc/bash_completion.d mkdir -p deb-root/DEBIAN cp specs/exe/specs deb-root/usr/local/bin/ cp specs/exe/specs-autocomplete deb-root/usr/local/bin/ chmod 755 deb-root/usr/local/bin/specs chmod 755 deb-root/usr/local/bin/specs-autocomplete cp specs.1.gz deb-root/usr/share/specs/ + install -m 644 .github/packaging/specs-completion.bash deb-root/etc/bash_completion.d/specs sed "s/@VERSION@/${SPECS_VERSION#v}/g; s/Architecture: amd64/Architecture: ${{ matrix.arch }}/g" .github/packaging/control.in > deb-root/DEBIAN/control cp .github/packaging/postinst deb-root/DEBIAN/ cp .github/packaging/postrm deb-root/DEBIAN/ diff --git a/.gitignore b/.gitignore index 3ae0f58..510502f 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,7 @@ specs/src/gdb/__pycache__ # Generated build info specs/src/utils/build_info.h + +# AI agents +.devin + diff --git a/specs/src/setup.py b/specs/src/setup.py index 5f6977e..654c6b8 100644 --- a/specs/src/setup.py +++ b/specs/src/setup.py @@ -254,7 +254,8 @@ def python_search(arg): $(MKDIR_C) /usr/local/share/man/man1 cp specs.1.gz /usr/local/share/man/man1/ /bin/rm specs.1.gz - grep -v "complete -o bashdefault -o default -o nospace -C specs-autocomplete specs" BASHRC | /usr/local/bin/specs -o BASHRC 1-* 1 EOF "complete -o bashdefault -o default -o nospace -C specs-autocomplete specs" + $(MKDIR_C) /etc/bash_completion.d + cp ../../.github/packaging/specs-completion.bash /etc/bash_completion.d/specs install_win: $(EXE_DIR)/specs.exe echo "Please copy the file specs.exe in the EXE dir to a location on the PATH"