Quote:
Originally Posted by ottavio
Is deb2tgz as bad as rpm2tgz? I've never been able to make any productive package from the latter.
|
They are both fine for many simple packages and hence can be handy tools for those new to Slackware as it makes a few more packages readily available but indeed they often do not work well with more complex packages, i.e. those that attempt to do a lot in their post install scripts or which have files that get installed to non standard locations.
I must admit I never use either. I manually inspect the package description, dependencies and the install/removal scripts, e.g.
RPM:
Code:
$ rpm -qip example-1.0-1.x86_64.rpm
$ rpm -qRp example-1.0-1.x86_64.rpm
$ rpm -q --scripts -p example-1.0-1.x86_64.rpm
DEB:
Code:
$ bsdtar xOf example_1.0_amd64.deb control.tar.gz | tar x
$ cat control
$ cat preinst
$ cat postinst
$ cat prerm
$ cat postrm
Then construct slack-desc and doinst.sh based on the information gathered.
Then I unpack the files:
RPM:
Code:
$ bsdtar xf example-1.0-1.x86_64.rpm
DEB:
Code:
$ bsdtar xOf example_1.0_amd64.deb data.tar.* | tar x
With files extracted (and possibly shuffled around a little) plus install/slack-desc and install/doinst.sh files created a package can be made with makepkg. After I have done it once manually I would then generally write a SlackBuild based on what I did to make things easier should I ever need to update the application.