deb and rpm are just archives with metadata
for example, a debian.deb
https://salsa.debian.org/games-team/game-data-packager
picked at random as I know it is python
## is the output I get
Code:
mkdir Temp && cd Temp
ar xv ../game-data-packager_64_all.deb
## x - debian-binary
## x - control.tar.xz
## x - data.tar.xz
Code:
file debian-binary
## debian-binary: ASCII text
cat debian-binary
## 2.0
lets look at control.tar.xz
Code:
tar tfv control.tar.xz
## drwxr-xr-x root/root 0 2019-02-10 16:11 ./
## -rw-r--r-- root/root 625 2019-02-10 16:11 ./conffiles
## -rw-r--r-- root/root 5215 2019-02-10 16:11 ./control
## -rw-r--r-- root/root 7476 2019-02-10 16:11 ./md5sums
## -rwxr-xr-x root/root 718 2019-02-10 16:11 ./postinst
## -rwxr-xr-x root/root 403 2019-02-10 16:11 ./postrm
## -rwxr-xr-x root/root 403 2019-02-10 16:11 ./preinst
## -rwxr-xr-x root/root 797 2019-02-10 16:11 ./prerm
you can probably figure out what they are from the names
a quick peek at the data tar
Code:
tar tfv data.tar.xz |grep py$
-rw-r--r-- root/root 886 2018-01-16 02:59 ./usr/share/games/game-data-packager/game_data_packager/__init__.py
-rw-r--r-- root/root 99586 2019-02-10 16:11 ./usr/share/games/game-data-packager/game_data_packager/build.py
-rw-r--r-- root/root 14420 2018-01-16 02:59 ./usr/share/games/game-data-packager/game_data_packager/command_line.py
-rw-r--r-- root/root 2346 2018-01-16 02:59 ./usr/share/games/game-data-packager/game_data_packager/config.py
-rw-r--r-- root/root 33129 2019-02-10 16:11 ./usr/share/games/game-data-packager/game_data_packager/data.py
-rw-r--r-- root/root 6674 2019-02-10 16:11 ./usr/share/games/game-data-packager/game_data_packager/download.py
-rw-r--r-- root/root 47527 2019-02-10 16:11 ./usr/share/games/game-data-packager/game_data_packager/game.py
-rw-r--r-- root/root 36 2018-01-16 02:59 ./usr/share/games/game-data-packager/game_data_packager/games/__init__.py
-rw-r--r-- root/root 8527 2019-02-10 16:11 ./usr/share/games/game-data-packager/game_data_packager/games/doom_common.py
-rw-r--r-- root/root 4008 2018-01-16 02:59 ./usr/share/games/game-data-packager/game_data_packager/games/dosbox.py
-rw-r--r-- root/root 4365 2018-01-16 02:59 ./usr/share/games/game-data-packager/game_data_packager/games/ecwolf_common.py
-rw-r--r-- root/root 3311 2019-02-10 16:11 ./usr/share/games/game-data-packager/game_data_packager/games/lgeneral.py
-rw-r--r-- root/root 4976 2019-02-10 16:11 ./usr/share/games/game-data-packager/game_data_packager/games/morrowind.py
many more files, but look... python
I wa slucky picking that package at random
so, if you want to learn how to package deb , pull one apart
then look at how they are created
https://salsa.debian.org/games-team/.../master/debian
then read the docs
https://wiki.debian.org/HowToPackageForDebian
game-data-packager might not be the best to learn from
hmm, youtube-dl, that is python
Code:
apt -s source youtube-dl
## Reading package lists... Done
## NOTICE: 'youtube-dl' packaging is maintained in the 'Git' version
## control system at:
## https://github.com/rbrito/pkg-youtube-dl
## Please use:
## git clone https://github.com/rbrito/pkg-youtube-dl
## to retrieve the latest (possibly unreleased) updates to the package.
## Need to get 3,214 kB of source archives.
## Fetch source youtube-dl
-s is simulate. without it you d/l tarballs
Personally I prefer to get the git
That should be easier for you to work out how to pkg your python project for Debian
( the important stuff is in debian/ )
rpm is going to be similar
slackware is just tarballs, breaking FOSS ?
I really don't see how TApeaRchive impinges on FOSS
alien ( the debian package, not the broken scripts hoster ) can convert between redhat, slackware and debian
I've only used it for zfs, rpm to deb
but that will let you
Code:
alien -r YourPython.deb
to make an rpm from your deb
I'm not sure how well the deps are handled
have fun