197 votes

Quel est le guide d'empaquetage Debian le plus simple ?

Je suis allé sur le wiki d'Ubuntu mais je me suis embrouillé, il y avait trop de façons de faire. Veuillez me donner un guide facile pour l'empaquetage Debian.

3voto

Ade Malsasa Akbar Points 627

Non, le guide d'emballage le plus simple et le plus clair du monde est le suivant

Empaquetage des applications Java pour Ubuntu et autres Debian

Il y a quelques jours, pour ma première application, j'ai créé un paquet DEB en suivant ce tutoriel. Très clair et mon application a été empaquetée avec succès. Oui, au moins c'est le plus simple pour moi.

Vous pouvez le comparer avec le guide d'emballage de Debian.

0voto

Katu Points 3365

Sur la base de la réponse acceptée j'ai créé un script Python qui va créer un helloworld_1.0-1.deb paquet suivant ce tutoriel . Vous pouvez le modifier pour votre paquet.

Copiez le script et exécutez-le avec Python 3 : python3 create_debian_package.py

#!/usr/bin/env python3
"""
This script is going to create a debian package
"""
import os

print('This script is going to create a debian package')

###### EDIT THIS SECTION WITH YOUR PACKAGE INFORMATION ######
include_hello_world_script = True # Set to False to manually copy your files and remove helloworld program
package_name = 'helloworld'
major_version = 1
minor_version = 0
package_revision = 1
section = 'base'
priority = ''
architecture = 'i386' #Change to armhf for Raspberry Pi
depends = '' #For example: libsomethingorrather (>= 1.2.13), anotherDependency (>= 1.2.6)
maintainer = 'Your Name <you@email.com>'
#The space before each line in the description is important
package_description = """Hello World
 When you need some sunshine, just run this
 small program!
"""
###### NO EDITING NEEDED BEYOND THIS LINE ######

version_name = str(major_version) + '.' + str(minor_version) + '-' + str(package_revision)
full_package_name = package_name + '_' + version_name
path = os.getcwd()
package_folder = os.path.join(path, full_package_name)
os.makedirs(package_folder, exist_ok=True)
os.makedirs(os.path.join(package_folder, 'DEBIAN'), exist_ok=True)
with open(os.path.join(package_folder, 'DEBIAN', 'control'), 'w') as file:
    file.write("""Package: """ + package_name + """
Version: """ + version_name + """
Section: """ + section + """
Priority: """ + priority + """
Architecture: """ + architecture + """
Depends: """ + depends + """
Maintainer: """ + maintainer + """
Description: """ + package_description)

if include_hello_world_script:
    script_destination = os.path.join(package_folder, 'usr/local/bin')
    os.makedirs(script_destination, exist_ok=True)
    helloworld_filename = os.path.join(script_destination, 'helloworld')
    with open(helloworld_filename, 'w') as file:
        file.write("""#!/usr/bin/env python3
print('Hello World!')""")
    os.chmod(helloworld_filename, 0o755)

input("Put your files in the package structure and press Enter to continue...")
os.system('dpkg-deb --build ' + full_package_name)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X