apt+blankon bermasalah dengan versi

Bug #209126 reported by Fajran Iman Rusadi
2
Affects Status Importance Assigned to Milestone
BlankOn Linux
New
Undecided
Unassigned

Bug Description

Saya tidak tahu apakah skenario berikut bisa terjadi atau tidak.

Saya menginstal gimp versi Ubuntu (2.4.5-1ubuntu2) dan apt versi BlankOn yang sudah pendapatkan patch seperti yang dibahas pada bug #184476. Setelah itu, BlankOn memiliki sebuah rilis gimp baru dengan versi 2.4.5-1ubuntu2-0blankon1.

Saat saya ingin menginstal gimp baru tersebut, muncul pesan berikut.

The following packages have unmet dependencies:
  gimp: Depends: gimp-data (< 2.4.5-1ubuntu2-z) but 2.4.5-1ubuntu2-0blankon1 is to be installed
        Depends: libgimp2.0 (< 2.4.5-1ubuntu2-z) but 2.4.5-1ubuntu2-0blankon1 is to be installed

Hal ini disebabkan oleh paket gimp yang tergantung pada

Depends: gimp-data (>= 2.4.5), gimp-data (<< 2.4.5-z), ... , libgimp2.0 (>= 2.4.5), libgimp2.0 (<< 2.4.5-z), ...

Sepertinya yang dimaksud adalah gimp-data yang memiliki versi upstream tepat 2.4.5 namun bisa mendapatkan revisi apa saja dari Ubuntu (jadi ada batas atas dan bawah).

Jika menggunakan paket apt dari Ubuntu, maka semua dapat berjalan dengan normal.

Entah skenario ini mungkin terjadi atau tidak jika menginstal BlankOn dari awal, berhubung tidak ada proses migrasi dari gimp milik Ubuntu ke gimp milik BlankOn. Namun jika ada yang menggunakan Ubuntu, lalu migrasi sebagian ke BlankOn dengan cara memigrasi apt saja, kemudian ingin memigrasi sisanya, maka skenario ini dapat terjadi.

Revision history for this message
Fajran Iman Rusadi (fajran) wrote :

Ternyata setelah gimp saya hapus, saya tidak dapat menginstal gimp dengan apt milik BlankOn.

Revision history for this message
Fajran Iman Rusadi (fajran) wrote :

Sepertinya masalah ini juga akan terjadi dengan paket-paket yang memiliki ketergantungan dengan paket lain dan versi paket lain tersebut memiliki batas atas dan bawah.

Revision history for this message
Mohammad DAMT (mdamt) wrote :

Ok karena patch apt itu menjungkirbalikkan tingkat versi bila menemukan kata blankon:

2.4.5-1ubuntu2-0blankon1 > 2.4.5-1ubuntu2-z

0blankon1 > z

Mungkin patch apt tsb perlu ditambah aturan lagi kalau ada prefix setelah ubuntu nomor versi dijadikan normal kembali.

Revision history for this message
Mohammad DAMT (mdamt) wrote :

Cobain patch ini bisa apa ngga.
Btw ini belom dites sama sekali :-)

Revision history for this message
Fajran Iman Rusadi (fajran) wrote : Re: [Bug 209126] Re: apt+blankon bermasalah dengan versi

2008/3/31 Mohammad DAMT <email address hidden>:
> Cobain patch ini bisa apa ngga.
> Btw ini belom dites sama sekali :-)
>

Belum berhasil juga.

Barusan menemukan hal menarik. Andaikan

A: 2.4.5-1ubuntu1
B: 2.4.5-0ubuntu1-0blankon1

Maka setelah bagian

// Find the last -

ditemukan bahwa

dlhs = -1ubuntu1
drhs = -0blankon1

Hasil komparasi menghasilkan nilai -1 yang artinya paket blankon lebih baru.

kok aneh ya? Sepertinya kasus distro turunan kedua belum ditangani oleh apt.

cmiiw.

--
Iang-
http://fajran.web.id y!m: fajran

Revision history for this message
Fajran Iman Rusadi (fajran) wrote :

duh.. kurang lengkap...

lhs = 2.4.5-1ubuntu1
rhs = 2.4.5-0ubuntu1-0blankon1
dlhs = -1ubuntu1
drhs = -0blankon1

sehingga yang dibandingkan adalah 2.4.5 dengan 2.4.5-0ubuntu1 dan ternyata pemenangnya adalah yang kedua

Revision history for this message
Fajran Iman Rusadi (fajran) wrote :

Kode apt asli akan mencari posisi strip '-' terakhir dan menganggap sebelah kanan strip adalah revisi. Untuk BlankOn mungkin perlu dicek lagi apakah bagian revisi tersebut memiliki substring blankon. Jika iya, bagian revisinya perlu diperlebar ke kiri.

Contoh: 2.4.5-0ubuntu1-0blankon1
Versi = 2.4.5-0ubuntu1
Revisi = -0blankon1

Sedangkan yang diinginkan adalah (tolong koreksi kalau salah):
Versi = 2.4.5
Revisi = -0ubuntu1-0blankon1

Revision history for this message
Fajran Iman Rusadi (fajran) wrote :

Patch untuk memperlebar nilai revisi ke kiri jika mengandung kata "blankon".

Revision history for this message
Mohammad DAMT (mdamt) wrote :

Kalau sudah dijajal OK ditembak saja pak patchnya ke irgsh.

Yang perlu dites:

2.4.5-0ubuntu1-0blankon1 > 2.4.5-0ubuntu1 ? benar
2.4.5-0ubuntu1-0blankon1 > 2.4.5-0ubuntu1-z ? salah
2.4.5-0ubuntu1-0blankon2 > 2.4.5-0ubuntu1-0blankon1 ? benar
2.4.5-0ubuntu2 > 2.4.5-0ubuntu1-0blankon1 ? salah (versi major sama, revisi ubuntu vs revisi blankon)
2.4.6-0ubuntu2 > 2.4.5-0ubuntu1-0blankon1 ? betul (versi major beda)

apalagi ya?

Revision history for this message
Fajran Iman Rusadi (fajran) wrote :

On Tue, Apr 1, 2008 at 2:46 PM, Mohammad DAMT <email address hidden> wrote:
> Kalau sudah dijajal OK ditembak saja pak patchnya ke irgsh.
>
> Yang perlu dites:
>
> 2.4.5-0ubuntu1-0blankon1 > 2.4.5-0ubuntu1 ? benar
> 2.4.5-0ubuntu1-0blankon1 > 2.4.5-0ubuntu1-z ? salah
> 2.4.5-0ubuntu1-0blankon2 > 2.4.5-0ubuntu1-0blankon1 ? benar
> 2.4.5-0ubuntu2 > 2.4.5-0ubuntu1-0blankon1 ? salah (versi major sama, revisi ubuntu vs revisi blankon)
> 2.4.6-0ubuntu2 > 2.4.5-0ubuntu1-0blankon1 ? betul (versi major beda)
>

Yang di atas ini sukses semua :D

testcases sebelumnya yang dipake:

1.0 1.2
1.2 1.0
1.0 1.0
1.0-0ubuntu1 1.0-0ubuntu1
1.0-0ubuntu1 1.0-1ubuntu1
1.0-1ubuntu1 1.0-0ubuntu1
1.0 1.0-0ubuntu1
1.0-z 1.0-0ubuntu1
1.0-1ubuntu1 1.0-0ubuntu1-0blankon1
1.0-1ubuntu1-0blankon1 1.0-0ubuntu1-0blankon1
1.0-1ubuntu1.2 1.0-1ubuntu2
1.0-0ubuntu1 1.0-0ubuntu1
1.0-0ubuntu1~aaa 1.0-0ubuntu1
1.0-0ubuntu1-aaa 1.0-0ubuntu1
1.0-13ubuntu1 1.0-12ubuntu1
1.0-0ubuntu1 1.0-0blankon1
1.0-0ubuntu1 1.0-0zlankon1
1.1-0ubuntu1 1.0-0ubuntu1-0blankon1
1.0-1ubuntu1 1.0-0ubuntu1-0blankon1
1.0-1ubuntu1-0blankon1 1.0-0ubuntu2-0blankon1
1.0-0ubuntu2 1.0-0ubuntu1-0blankon1
1.0-0ubuntu2-0blankon1-z 1.0-0ubuntu1-0blankon1
2.4-0ubuntu1-0blankon1 2.5-0ubuntu1
2.4-1ubuntu1 2.4-0ubuntu1-0blankon1
2.4-0ubuntu1-0blankon1 2.4-0ubuntu1-1blankon1
2.5-0ubuntu1 2.4-0ubuntu1-0blankon1
2.4-0ubuntu1-0blankon1 2.4-1ubuntu1
2.4-0ubuntu1-1blankon1 2.4-0ubuntu1-0blankon1
2.4-0ubuntu1-0blankon1 2.4-0ubuntu1-0blankon1
0.24 0.24-0blankon1
0.24-0blankon1 0.24
0.26 0.24-0blankon1
0.26-0blankon1 0.26

input 2 kata, returnnya angka kaya strcmp(). Tuk testcases di atas,
semua berhasil. Ok nanti dikirim ke irgsh.

--
Iang-
http://fajran.web.id y!m: fajran

Revision history for this message
Fajran Iman Rusadi (fajran) wrote :

Ternyata masih ada bugnya. Sekarang mudah2an sudah benar :-)

Revision history for this message
Mohammad DAMT (mdamt) wrote :

Bagian ini sebaiknya dimasukkan dalam
if (getenv ("BLANKON_UBUNTU_MODE"))
{
   if (strstr(dlhs, "blankon"))
      for (dlhs--; dlhs > lhs && *dlhs != '-'; dlhs--);
   if (strstr(drhs, "blankon"))
      for (drhs--; drhs > rhs && *drhs != '-'; drhs--);
}

Jadi kalau mau nge-override perilaku apt kita ini untuk kembali seperti apt asli Ubuntu, orang tinggal melakukan
export BLANKON_UBUNTU_MODE=1

Revision history for this message
Fajran Iman Rusadi (fajran) wrote :

"if not getenv" mungkin ya? :D

if (!getenv ("BLANKON_UBUNTU_MODE"))

--
Iang-
http://fajran.web.id y!m: fajran

Revision history for this message
Mohammad DAMT (mdamt) wrote :

A ya banaa :-)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.