Package Details: devscripts 2.26.9-1

Git Clone URL: https://aur.archlinux.org/devscripts.git (read-only, click to copy)
Package Base: devscripts
Description: Scripts to make the life of a Debian Package maintainer easier
Upstream URL: https://tracker.debian.org/pkg/devscripts
Licenses: GPL-2.0-or-later
Conflicts: checkbashisms
Provides: checkbashisms
Submitter: Misery
Maintainer: fixeria
Last Packager: fixeria
Votes: 27
Popularity: 0.000000
First Submitted: 2008-03-19 22:52 (UTC)
Last Updated: 2026-05-28 07:42 (UTC)

Pinned Comments

ItachiSan commented on 2026-01-11 09:00 (UTC)

For all: debianutils and systemd conflict.

See a fix at the AUR page for debianutils: https://aur.archlinux.org/packages/debianutils#comment-1054438

ItachiSan commented on 2017-05-17 10:50 (UTC) (edited on 2023-02-16 09:00 (UTC) by ItachiSan)

If the package is outdated, please report it with the 'Flag outdated package' above.

If there is an issue regarding packaging, please report it here:

https://github.com/ItachiSan/linux_packaging/issues/

As I do not use this package (I use a Docker container for Debian packaging) please tell me whenever a dependency is missing, so that I can move it from a make dependency to a normal dependency.

Latest Comments

1 2 3 4 5 6 .. 9 Next › Last »

bhyoo commented on 2026-05-28 14:05 (UTC) (edited on 2026-05-28 14:09 (UTC) by bhyoo)

Built devscripts 2.26.9 against Arch end-to-end. Findings:

1. docbook-xsl path in fixes.patch does not exist on Arch

fixes.patch rewrites the two xsltproc rules to /usr/share/xml/docbook/xsl-stylesheets/manpages/docbook.xsl, but extra/docbook-xsl 1.79.2-9 only ships versioned dirs (xsl-stylesheets-1.79.2, …-1.79.2-nons). No versionless symlink. The rules silently fail and deb-reversion(1) ends up empty.

Glob resolution works on any version:

local xsl
xsl=$(printf '%s' /usr/share/xml/docbook/xsl-stylesheets-*-nons/manpages/docbook.xsl)
[[ -f $xsl ]] || xsl=$(printf '%s' /usr/share/xml/docbook/xsl-stylesheets-*/manpages/docbook.xsl)
grep -rl '/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl' . \
  | xargs -r sed -i "s|/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl|$xsl|g"
2. Hard use modules for uscan, bts, debrebuild are in optdepends

Top-level (not lazy) use lines:

  • lib/Devscripts/Uscan/Downloader.pm: JSON, LWP::UserAgent, URI
  • lib/Devscripts/Uscan/Ctype/{nodejs,perl}.pm: JSON
  • lib/Devscripts/Uscan/Modes/Gitlab.pm: URI, URI::Escape
  • scripts/bts.pl: URI, URI::QueryParam
  • scripts/debrebuild.pl: BEGIN { eval { require String::ShellQuote } or die ... }

uscan, bts, debrebuild die with Can't locate ... on first run unless every optdep is preinstalled. Promote to depends: perl-json, perl-uri, perl-libwww, perl-string-shellquote, perl-moo, perl-file-touch, perl-file-dirlist, perl-config-inifiles, perl-lwp-protocol-https (HTTPS uscan: eval { require LWP::Protocol::https } in Downloader.pm).

3. Python tools have no depends declared

scripts/setup.py installs the following; each top-level-imports modules missing from depends=():

  • debftbfs, debbisect: python-debian
  • debbisect: python-requests
  • debdiff-apply: python-unidiff (AUR)
  • deb-check-file-conflicts: python-junit-xml
  • suspicious-source: python-magic
  • wrap-and-sort: python-pyxdg
  • debootsnap, reproducible-check: python-apt

python-apt is orphaned-AUR and drags apt. Keep it in optdepends and drop its two manpages from the build so help2man does not crash:

sed -i \
  -e '/^[[:space:]]*debootsnap\.1[[:space:]]*\\\?$/d' \
  -e '/^[[:space:]]*reproducible-check\.1[[:space:]]*\\\?$/d' \
  scripts/Makefile
4. Missing debian/links aliases

debian/links (installed by dh_link) defines:

debi → debc, debchange → dch, pts-subscribe → pts-unsubscribe, deb2apptainer → deb2singularity

PKGBUILD only re-creates dch. debc, pts-unsubscribe, deb2singularity and the matching de/fr translated manpage aliases are missing.

5. cowpoke.conf not installed

debian/install puts it in /etc/; plain make install does not:

install -Dm0644 cowpoke.conf "$pkgdir/etc/cowpoke.conf"

Add backup=('etc/cowpoke.conf').

6. Translated manpages dropped

cp scripts/*.1 covers English only. po4a/<lang>/*.{1,5,7} files produced by make never get installed, so LANG=de|fr|pt users see nothing. A loop mapping po4a/<lang>/<name>.<lang>.<sect> to /usr/share/man/<lang>/man<sect>/<name>.<sect> covers all three.

7. arch=('i686' 'x86_64') should be arch=('any')

Architecture-independent upstream (Perl + Python + shell only). any also covers aarch64 and armv7h.

8. License accuracy

debian/copyright declares GPL-1+, GPL-2[+], GPL-3[+], Artistic-1.0-Perl, Artistic-2.0, ISC, MIT, public-domain. Whether you list every SPDX or keep umbrella GPL-2.0-or-later, install the per-file map:

install -Dm0644 debian/copyright "$pkgdir/usr/share/licenses/devscripts/copyright"
9. PATH safety net for Perl scripts

po4a-translate, pod2man, podchecker live in /usr/bin/{site,vendor,core}_perl. /etc/profile.d/perlbin.sh adds them only in interactive shells; makepkg's build env may not inherit. Add to build():

export PATH="/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:$PATH"

Reference PKGBUILD with all of the above applied; verified clean with makepkg -s --nodeps on aarch64, full manpage set including de/fr/pt, all CLIs survive their import-time use, namcap clean: https://gist.github.com/isac322/614b8ef24c5fa746ca7be9d0399df02d

ItachiSan commented on 2026-01-11 18:48 (UTC)

Hello to whomever is listening,

Since I am not using this package, I will disown it. As of today (2026-01-11) the package is up to date and building.

Feel free to poke me for maintenance help and hope someone will pick it up soon!

ItachiSan commented on 2026-01-11 09:00 (UTC)

For all: debianutils and systemd conflict.

See a fix at the AUR page for debianutils: https://aur.archlinux.org/packages/debianutils#comment-1054438

ItachiSan commented on 2026-01-11 08:40 (UTC)

@fixeria thanks for the changes, I will review the changes in your Github and apply them here. :)

fixeria commented on 2026-01-09 20:35 (UTC)

@ItachiSan I created https://github.com/fixeria/aur_devscripts with some patches for this repository, feel free to pull them. Thanks for maintaining.

fixeria commented on 2026-01-09 19:53 (UTC)

@ItachiSan now https://deb.debian.org/debian/pool/main/d/devscripts/devscripts_2.25.29.tar.xz returns 404, same issue as with the 2.25.25. Could you please switch to a more reliable source? I suggested https://salsa.debian.org/debian/devscripts/-/tags in a previous comment. All release tarballs, even old ones, can still be downloaded from there. Thank you!

fixeria commented on 2025-12-06 21:07 (UTC)

https://deb.debian.org/debian/pool/main/d/devscripts/devscripts_2.25.25.tar.xz returns 404, looks like it has been removed? The 2.25.25 can be found here: https://salsa.debian.org/debian/devscripts/-/tags.

jsimon0 commented on 2025-08-27 15:33 (UTC)

While I haven't tested everything (I only use this package for debchange), here is a PKGBUILD that depends on sensible-utils instead of the split packages sensible-browser and sensible-editor such that it can be built and installed. At least debchange functions afterwards

# Maintainer: Giovanni 'ItachiSan' Santini <giovannisantini93@yahoo.it>
# Contributor: Ferdinand Bachmann <theferdi265@gmail.com>
# Contributor: Jochen Schalanda <jochen+aur@schalanda.name>
# Contributor: Charles Pigott <charlespigott@googlemail.com>
# Contributor: André Klitzing <aklitzing@online.de>
# Contributor: JD Horelick <jdhore1@gmail.com>

pkgname=devscripts
pkgver=2.25.18
pkgrel=1
pkgdesc="Scripts to make the life of a Debian Package maintainer easier"
arch=('i686' 'x86_64')
url="https://tracker.debian.org/pkg/devscripts"
license=('GPL2')
depends=('dpkg' 'wget' 'sed' 'perl' 'debianutils' 'debhelper'
         'perl-file-homedir' 'perl-timedate' 'sensible-utils')
makedepends=(
    'docbook-xsl'
    'bash-completion'
    'help2man'
    'git'
    'perl-file-desktopentry'
    'perl-file-basedir'
    'perl-git-wrapper'
    'perl-libwww'
    'perl-list-compare'
    'perl-parse-debcontrol'
    'perl-pod-parser'
    'perl-timedate'
    'po4a'
    'python-setuptools'
)
optdepends=(
    'debian-keyring: Required for commands interacting with the system / user keyring'
    'perl-file-touch: Required for uscan'
    'perl-file-dirlist: Required for uscan'
    'perl-moo: Required for uscan'
    'perl-ipc-run: Required for uscan'
    'perl-lwp-protocol-https: Required for uscan'
    'quilt: Required for edit-patch'
)
provides=(checkbashisms)
conflicts=(checkbashisms)
options=('!makeflags')
source=(
    "https://deb.debian.org/debian/pool/main/${pkgname:0:1}/${pkgname}/${pkgname}_${pkgver}.tar.xz"
    fixes.patch
)
sha256sums=('4f17c44ef6f9db4f590051d3b2c9ffc81d8fb379ab17ca437a90c03fe5d9e01d'
            'd6c57a87037b6f15c5130b6f40a909b9dc6f9414be5fd1628a1eddecfba4e4b2')

prepare(){
    # Sometimes there is the version in the tarball, sometimes not.
    # Ensure we always have the proper directory.
    if [ ! -d "${pkgname}-${pkgver}" -a -d "${pkgname}" ]
    then
        ln -s "${pkgname}" "${pkgname}-${pkgver}"
    fi

    # Somehow they now have a "work" folder instead?
    if [ ! -d "${pkgname}-${pkgver}" -a -d work ]
    then
        ln -s work "${pkgname}-${pkgver}"
    fi

    cd "${pkgname}-${pkgver}"
    patch -p1 -i "$srcdir/fixes.patch"

    # Ensure the local folder is recognized as a package and used appropriately.
    touch scripts/devscripts/__init__.py
}

build() {
    cd "${pkgname}-${pkgver}"
    make
}

package() {
    cd "${pkgname}-${pkgver}"
    make DESTDIR="$pkgdir" install

    # Install the script manpages appropriately
    for script_manpage in scripts/*.1
    do
        cp -v $script_manpage "$pkgdir/usr/share/man/man1"
    done

    # Create dch symlink to debchange
    ln -s /usr/bin/debchange "$pkgdir/usr/bin/dch"

    # bts completion is present already in the official package
    rm "$pkgdir/usr/share/bash-completion/completions/bts"
}

fbrennan commented on 2023-05-27 18:35 (UTC)

The flag is likely invalid as I just pushed a sensible-utils that should work with this package. See https://github.com/ItachiSan/linux_packaging/issues/14.

However, @xiota remains right that the dep is dubious.