availability of createrepo in Ubuntu 20.04 (focal)

Asked by Felipe Castillo

Was this package removed from Ubuntu 20.04? or it's just delayed and we'll see it in a backport or some other way again.

I depend on this package to create repositories for RPM distros and after updating to the new LTS I haven't been able to install it. It seems that attempting to manually install the eoan version didn't work either.

Let me know if there's anything I can do to help. I'm not a very experience program but I'll be happy to help.

Question information

Language:
English Edit question
Status:
Solved
For:
createrepo Edit question
Assignee:
No assignee Edit question
Solved by:
Manfred Hampl
Solved:
Last query:
Last reply:
Revision history for this message
Best Manfred Hampl (m-hampl) said :
#1

According to the publishing history https://launchpad.net/ubuntu/+source/createrepo/+publishinghistory
Debian #936341, py2 removal, no rdeps

see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=936341

I assume what's missing is a rewrite of the software that in works with python 3 (instead of python 2).

Revision history for this message
Felipe Castillo (fcastillo.ec) said :
#2

From that bug report they chose to remove the PA jage rather than update it to python 3.
Is the source in launchpad the best way to get it? Where else can I find the source code, and perhaps any instructions on how to compile (if necessary)?
I'll be interested on checking if I can migrat it to python 3, hopefully it's within my knowledge.

Revision history for this message
Felipe Castillo (fcastillo.ec) said :
#3

Thanks Manfred Hampl, that solved my question.

Revision history for this message
Manfred Hampl (m-hampl) said :
#4

I believe the original source is there: http://createrepo.baseurl.org/download/index.html

Revision history for this message
herrold (herrold) said :
#5

@castillo.ec

Additionally, the Python version has been re-written in C, for better performance

Those sources are at:

https://github.com/rpm-software-management/createrepo_c

Revision history for this message
Felipe Castillo (fcastillo.ec) said :
#6

@herrold Thanks for the info. So, there's a new version written in C, which (according to their README) uses python3 by default. So, why wasn't this added to the Debian/Ubuntu repos? is it just a matter of time before I see it there? I did find the createrepo_c package on Fedora.
It seems they don't have any executables ready for use just source code and I'm not familiar with compiling C.
I'm going to cross my fingers and hope that I can easily convert the rpm package to deb (using alien) so I can install it.

Revision history for this message
Manfred Hampl (m-hampl) said :
#7

There is already work in progress on packaging createrepo_c for Debian
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=912338

Revision history for this message
Enno Gotthold (schoolguy) said :
#8

Ping? My package just failed to run the Github Actions because I thought that since it was available on Debian, it is in Ubuntu. What work needs to be done to bring it back to Ubuntu? I am willing to help with one-time-work.

Revision history for this message
Manfred Hampl (m-hampl) said :
#10

A package with createrepo-c is already available with the future Ubuntu release 21.04 (hirsute).

Backporting this package to older Ubuntu releases seems to need more work, because there are dependencies on packages and package versions that are not fulfilled in older Ubuntu releases (e.g. libc6 >= 2.33 only available in Ubuntu 21.04, libmodulemd2 not available in Ubuntu 20.04)

Revision history for this message
Felipe Castillo (fcastillo.ec) said :
#11

@schoolguy I've been having the same problem, my workaround was to use ubuntu-18.04 as the image for Github Actions. Using ubuntu-latest will use Ubuntu 20.04 which has the problem.

It's a little incredible that such an important tool was remove/not-included in an LTS release.
It'll be great if we could have a snap package for the old createrepo, so we can use it anywhere until a backport arrives for the current LTS or Github Actions switches to Ubuntu 22.04 LTS, whatever happens first...

Revision history for this message
Jau-Ling Chou (jauling) said :
#12

I believe I have a workaround. Janky? Probably. Does it work? Yes it does. Are there any issues? Probably.

I took the latest createrepo deb package, then satisfied all the subsequent dependencies with the latest versions of each, until apt install stopped complaining. *shrug*

# apt install ./createrepo_0.10.3-1_all.deb ./deltarpm_3.6+dfsg-1build6_amd64.deb ./python-deltarpm_3.6+dfsg-1build6_amd64.deb ./python-lzma_0.5.3-3_amd64.deb ./python-sqlitecachec_1.1.4-1_amd64.deb ./yum_3.4.3-3_all.deb ./python-urlgrabber_3.10.2-1_all.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'createrepo' instead of './createrepo_0.10.3-1_all.deb'
Note, selecting 'deltarpm' instead of './deltarpm_3.6+dfsg-1build6_amd64.deb'
Note, selecting 'python-deltarpm' instead of './python-deltarpm_3.6+dfsg-1build6_amd64.deb'
Note, selecting 'python-lzma' instead of './python-lzma_0.5.3-3_amd64.deb'
Note, selecting 'python-sqlitecachec' instead of './python-sqlitecachec_1.1.4-1_amd64.deb'
Note, selecting 'yum' instead of './yum_3.4.3-3_all.deb'
Note, selecting 'python-urlgrabber' instead of './python-urlgrabber_3.10.2-1_all.deb'
The following additional packages will be installed:
  debugedit libdw1 liblua5.2-0 libpython2-stdlib libpython2.7 libpython2.7-minimal libpython2.7-stdlib librpm8 librpmbuild8 librpmio8 librpmsign8 libsqlite0 python-is-python2 python-libxml2
  python-pycurl python-rpm python-sqlite python2 python2-minimal python2.7 python2.7-minimal rpm rpm-common rpm2cpio
Suggested packages:
  rpm-i18n libcurl4-gnutls-dev python-pycurl-dbg python-pycurl-doc python-sqlite-dbg python2-doc python-tk python2.7-doc binfmt-support alien elfutils rpmlint rpm2html
The following NEW packages will be installed:
  createrepo debugedit deltarpm libdw1 liblua5.2-0 libpython2-stdlib libpython2.7 libpython2.7-minimal libpython2.7-stdlib librpm8 librpmbuild8 librpmio8 librpmsign8 libsqlite0
  python-deltarpm python-is-python2 python-libxml2 python-lzma python-pycurl python-rpm python-sqlite python-sqlitecachec python-urlgrabber python2 python2-minimal python2.7
  python2.7-minimal rpm rpm-common rpm2cpio yum
0 upgraded, 31 newly installed, 0 to remove and 174 not upgraded.
Need to get 6,106 kB/6,866 kB of archives.
After this operation, 29.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Revision history for this message
Dan Mick (dmick-m) said :
#13

So, is there a way to find out if anyone is working on a backport to Focal? I don't see any viable solution to use Ubuntu packages for focal support of this utility