Well, as you said, the name foo_VVV-RRR_AAA.deb
for a deb file is just a convention for naming .deb
files, where VVV
, RRR
and AAA
are the version, revision and architecture of the package foo
.
Also, this convention is suggested (dictated) when building packages with debuild or git-buildpackage.
If you agree with this convention is ok, if not, you can rename your .deb
files as you wish, but only by following these rules (in this case maybe you must to run dpkg --info <deb_file>
to find a simple information that normaly you can get using the above convention for a deb file name).
Now, as you can read at Filename - Wikipedia:
There is no general encoding standard for filenames.
Because file names have to be exchanged between software environments (think network file transfer, file system storage, backup and file synchronization software, configuration management, data compression and archiving, etc.) it is very important not to lose file name information between applications. This led to wide adoption of Unicode as a standard for encoding file names, although legacy software might be non-Unicode-aware.
[...] Filename maximum length is not standard and might depend on the code unit size. Although it is a serious issue, in most cases this is a limited one.
So, if there is no standard for file names in general, I am almost sure that there is not a special standard for .deb
file names. Or, if you are still confused, take the convention as a standard, and follow these rules.
Click packages are the new packaging format used in Ubuntu Touch, and by Ubuntu 14.10, on the desktop version of Ubuntu as well.
Some of the features they provide are:
Simplified packaging for the developer. The Ubuntu SDK can automatically create Click packages of your Ubuntu Touch apps. If you want to create your own, the format is very simple, consisting of two files, manifest.json
and <app-name>.json
.
The manifiest.json
file is the actual package definition and looks like this:
{
"description": "Your tasks, every device, everywhere. Create and synchronize tasks using Ubuntu One, and connect to your boards in Trello.",
"framework": "ubuntu-sdk-13.10",
"hooks": {
"ubuntu-tasks": {
"apparmor": "ubuntu-tasks.json",
"desktop": "ubuntu-tasks.desktop"
}
},
"maintainer": "Michael Spencer <sonrisesoftware@gmail.com>",
"name": "com.ubuntu.developer.mdspencer.ubuntu-tasks",
"title": "Ubuntu Tasks",
"version": "0.5"
}
The <app.name>.json
file is the security profile for your app and looks like this:
{
"policy_groups": [
"networking"
],
"policy_version": 1
}
To build your package, you can either use the Ubuntu SDK or by running
click build .
You can find more information about packaging your app here.
The ability to run under confinement. What this means is that the app is prevented from doing bad things. It can only access its own private directory and access features that the user allows the app to use. This means that Click packages are very safe and the review process for publishing them is much simpler.
Once you've packaged your app, you can submit your application to the Click App Store. The review process is vary simple and will be completed usually within a few hours. Once reviewed, your app will be available for installation from any device running Ubuntu Touch.
Would they make Debian packaging easier?
Yes and no. Debian packaging is completely different. However, if your app is made with the Ubuntu SDK, you don't need to use Debian packaging and can instead use Click packaging, which is much easier to use and much safer for the end user.
Here are some useful links for more information:
Best Answer
The package name is usually the name of your application, all in lowercase and using dashes (
-
) instead of spaces.For example, here are a few of my applications and their package names:
Weather Desktop became
weather-desktop
Ubuntu Tasks become
ubuntu-tasks
uBible will be
ubible
In addition, click packages also use a namespace which is combined with the package name to form the App ID. The namespace is the developer's domain name reversed, so for example:
com.myawesomeapps
com.ubuntu
If you don't have your own domain name, you can use the default which is based on your Launchpad user name:
com.ubuntu.developer.<lpname>
There are a couple of things to note about your developer namespace:
Once you've uploaded an app, it cannot be changed. Before you've uploaded an app, if you've made a mistake or would like to change it, you can usk in the
#ubuntu-app-devel
channel to have it changed.You can only use a namespace if you own the domain it represents or if it is the default using your Laynchpad user name.
So for example, the App ID for Ubuntu Tasks is
com.ubuntu.developer.mdspencer.ubuntu-tasks