Package Details: bugwarrior 1.6.0-1

Git Clone URL: https://aur.archlinux.org/bugwarrior.git (read-only)
Package Base: bugwarrior
Description: pull issues from issue trackers into taskwarrior (GitHub, GitLab, Bitbucket, etc.)
Upstream URL: https://bugwarrior.readthedocs.io
Licenses: GPL3
Conflicts: bugwarrior-git
Submitter: wookietreiber
Maintainer: Arvedui
Last Packager: Arvedui
Votes: 6
Popularity: 0.104790
First Submitted: 2017-02-21 14:26
Last Updated: 2019-01-02 18:29

Latest Comments

1 2 Next › Last »

rvasilev commented on 2017-12-10 08:47

wrong sha256sum.

should be ab03c3872e8f27f954b60bb6ff4f0646a2b7e2a7fb9c12116a90cdc297b4b34f

Foxboron commented on 2017-12-09 23:31

Yes, I saw it now :p Missed that one.

Pushed and should be without errors. Please feel free to yell if you spot anything.

rvasilev commented on 2017-12-09 16:43

The second package() should be install()?

... My bad. The 1st package() should be build()

Foxboron commented on 2017-12-09 15:01

Something strange with the setup.py when utilizing python3, the egg-info is inserted but the module is missing.

Don't have time to investigate this today, so incase anyone else wants to take a look:

pkgname=bugwarrior
pkgver=1.5.1
pkgrel=2
pkgdesc="pull issues from issue trackers into taskwarrior (GitHub, GitLab, Bitbucket, etc.)"
arch=(any)
conflicts=(bugwarrior-git)
url="https://bugwarrior.readthedocs.io"
license=('GPL3')
depends=('python' 'python-setuptools'
         'python-requests' 'python-taskw'
         'python-dateutil' 'python-pytz'
         'python-six' 'python-jinja'
         'python-dogpile.cache' 'python-lockfile'
         'python-click' 'python-future')
source=("$pkgname-$pkgver.tar.gz::https://github.com/ralphbean/bugwarrior/archive/$pkgver.tar.gz")
sha256sums=('f28b98be94e1c11ade5876c68daaa7a6f0a25b3d13c1cf8898da97e411ce63e8')

prepare(){
  cd "$srcdir/$pkgname-$pkgver"
  sed -i -e 's/!=0.16.0//g' setup.py
}

package() {
  cd "$srcdir/$pkgname-$pkgver"
  python setup.py build
}

package() {
  cd "$srcdir/$pkgname-$pkgver"
  python setup.py install --root="$pkgdir/" --optimize=1 --skip-build
}
λ fox@theia pkg » λ git master* → tree
.
└── bugwarrior
    └── usr
        ├── bin
        │   ├── bugwarrior-pull
        │   ├── bugwarrior-uda
        │   └── bugwarrior-vault
        └── lib
            └── python3.6
                └── site-packages
                    └── bugwarrior-1.5.1-py3.6.egg-info
                        ├── dependency_links.txt
                        ├── entry_points.txt
                        ├── not-zip-safe
                        ├── PKG-INFO
                        ├── requires.txt
                        ├── SOURCES.txt
                        └── top_level.txt

7 directories, 10 files
λ fox@theia pkg » λ git master* → bugwarrior-pull 
Traceback (most recent call last):
  File "/usr/bin/bugwarrior-pull", line 11, in <module>
    load_entry_point('bugwarrior==1.5.1', 'console_scripts', 'bugwarrior-pull')()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 572, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2752, in load_entry_point
    return ep.load()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2405, in load
    return self.resolve()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2411, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
ModuleNotFoundError: No module named 'bugwarrior'

rvasilev commented on 2017-12-08 12:40

omitting setup.py dependency check is also a workaround with potential to brake the build.

even python3 setup.py install --optimize=1 is installing future-0.15. is it a bug or a feature?

so, you as maintainer can do both - make it up to date and working, or leave it broken and wait until all upstreams/AUR dependencies will be fixed

just for reference

pkgname=bugwarrior
pkgver=1.5.1
pkgrel=1
pkgdesc="pull issues from issue trackers into taskwarrior (GitHub, GitLab, Bitbucket, etc.)"
arch=(any)
url="https://bugwarrior.readthedocs.io"
license=('GPL3')
#depends=('python2-bugzilla' 'python2-click' 'python2-dateutil' 'python2-dogpile.cache' 'python2-future' 'python2-keyring' 'python2-lockfile' 'python2-offtrac' 'python2-pytz' 'python2-requests' 'python2-twiggy' 'python2-xdg' 'python2-configparser' 'python2-jinja')
depends=('python3' 'python-virtualenv')

conflicts=(bugwarrior-git)
provides=('bugwarrior')

source=("${pkgname}-${pkgver}.zip::https://github.com/ralphbean/bugwarrior/archive/${pkgver}.zip")
#        "setup.patch")

#prepare() {
# cd ${srcdir}/${pkgname}-${pkgver}

# patch setup.py ${srcdir}/setup.patch  
#}

package() {
    cd ${srcdir}/${pkgname}-${pkgver}

    virtualenv ${pkgdir}/opt/${pkgname}
    ${pkgdir}/opt/${pkgname}/bin/python setup.py install --optimize=1
    sed -i "s|${pkgdir}/opt/$pkgname|/opt/${pkgname}|g" ${pkgdir}/opt/${pkgname}/bin/*

    python setup.py install --root="${pkgdir}" --optimize=1

#    install -d ${pkgdir}/usr/bin/
    ln -f -s /opt/${pkgname}/bin/${pkgname}-pull ${pkgdir}/usr/bin/${pkgname}-pull
    ln -f -s /opt/${pkgname}/bin/${pkgname}-vault ${pkgdir}/usr/bin/${pkgname}-vault
    ln -f -s /opt/${pkgname}/bin/${pkgname}-uda ${pkgdir}/usr/bin/${pkgname}-uda
}

md5sums=('2f55ebab104c533cd2c7e8ae91241fd6')
#         'eab141c2d22f46b5cf242fd7c5046ac9')

Foxboron commented on 2017-12-08 11:38

If you read what i wrote you'd realize that setup.py dependency check can be omitted. The bug that happens with future is a python2 regression.

taskw will be fixed whenever I accept the orphan request.

rvasilev commented on 2017-12-08 11:34

not everything is solved with python3

even if upstream will be fixed, it will not 'just build' with AUR dependencies as of now.

i see number of options, choose one of them:

1 Ideal linux-way with python3:

2 Ideal linux-way with python2:

3 My linux-way with python2:

  • patch setup.py to unpin version from python2-future
  • fix python2-taskw

4 My python2-3 way:

  • build upstream with no system/AUR dependencies and patching

the last one is the fastest and more future proof until all the fixes will be accepted to upstream/AUR. and it will just work.

Foxboron commented on 2017-12-08 10:38

Looking at this, it's only a python2 problem. Everything is solved by migrating to python3.

Foxboron commented on 2017-12-08 10:32

Instead of patching setup.py, we can tell setup.py to ignore any dependency checks.

  1. Not a problem
  2. Lets fix upstream
  3. That's what i always do

We are also not going to do horrible workarounds when it helps everyone if we just submit patches to upstream to solve the problem.

rvasilev commented on 2017-12-08 09:46

for upstream 1.5.1

the easiest way to do it is patching setup.py that comes with source and remove version pin for python2-future. check this out https://gist.github.com/rvasilev/d90e20c76e39821b9dd3a924d4703227

that's possible and package is even building, but it's not the best choice because

  1. part of dependencies in AUR is outdated, not maintained or not building out of the box (python2-taskw, python2-twiggy)
  2. author of bugwarrior is tracking dependencies on it's own, so some future change will brake the package because of AUR is more up- or outdated than bugwarrior requires
  3. maintainer of this AUR package should check and track upstream setup.py requirements every time upstream bump new version

so, we could go with less linux, but more pythonic way and step off of dependancy tracking and build self-contained python module in virtualenv. to do so, you may look https://gist.github.com/rvasilev/c86d9f4522d5375f12f22dd8718c9729